タグ

2007年12月21日のブックマーク (8件)

  • Numerical Ruby NArray

    多次元 数値 配列クラスです。 1,2,4 byte 整数、単/倍 精度 実数/複素数、 およびRubyオブジェクトを要素に持つことができます。 これにより Ruby でも 大量の数値を扱う計算が、簡単かつ高速にできるようになります。 NArray 特徴 NArray メソッド一覧 NMatrix & NVector - LU分解により線形方程式を解く NArray デモ: マンデルブロ 画像のリサイズ 画像のスムージング(FFTW使用) ライフゲーム ベンチマーク Future rewrite plan ソース: narray-0.5.9p5.tar.gz (2008-06-10) mswin32バイナリへのリンク: narray-0.5.9-i386-mswin32-1.8.zip Known bugs NArray の拡張 FFTW3 FFTW (高速 DFT (Discrete

    srv250s
    srv250s 2007/12/21
    NArrayの日本語ドキュメント。
  • http://narray.rubyforge.org/SPEC.ja

    Ruby/NArray ver 0.5.9p5 (2008-05-28) by Masahiro TANAKA クラスメソッド: NArray.new(typecode, size, ...) 配列を生成する。要素は0で初期化。 NArray.byte(size,...) 1 byte unsigned integer NArray.sint(size,...) 2 byte signed integer NArray.int(size,...) 4 byte signed integer NArray.sfloat(size,...) single precision float NArray.float(size,...) double precision float NArray.scomplex(size,...) single precision complex NArray.c

    srv250s
    srv250s 2007/12/21
    NArrayのメソッドなどの一覧
  • NArrayの特徴

    NArrayは、大規模な多次元数値配列の計算を、 簡単かつ高速に実現するRubyのクラスです。 同様な数値配列には、 Python/NumPy, Perl/PDL, Yorick などがあります。 NArrayはそのRuby版で、特徴としては同じなんですが、 実装は独自です。 数値およびオブジェクトの多次元配列 NArray は、多次元配列のクラスです。 配列の要素の型として、 8,16,32 bit 整数 単精度/倍精度の実数/複素数、 Rubyオブジェクト をサポートしています。 1要素の取出しは、a[ 12, 34 ] のように各次元のインデックスを指定します。 部分配列は、a[ 10..15, 5..-1 ] のように範囲指定で取り出せます。 演算の記述 +,-,*,/,%,** の演算は、要素ごとに適用します。 たとえば、2つの NArray クラスのインスタンス a,b が

    srv250s
    srv250s 2007/12/21
  • 高速化

    rubyの短所として実行が遅いことがあげられる。 しかし工夫すればこのデメリットを最小限におさえることができる。 つまり時間のかかるところを何とかすればよい。 rubyのループは非常に遅いためこの部分をCやFortranでかかれた 拡張ライブラリに置き換えればよい。 その他の部分はおそらく高々数回しか実行されないので、 遅くてもあまり問題ない(はず)。 NArrayを最大限利用する データを扱う際 NArray を使いましょう。 NArray は C で書かれており高速に実行されます。 また役に立つメソッドが多数用意されているので簡単にプログラムが書けます。 NArray の機能うまく利用してできるだけ ruby のループをなくしましょう。 高速化心得その壱: 簡単な統計量は専用メソッドを使え 高速化心得その弐: 平均値からのずれもこんなに簡単に 高速化心得その壱: 簡単な統計量は専用メソ

    srv250s
    srv250s 2007/12/21
    Rubyのコードを高速化する方法。NArray。
  • Index of /research/som_pak

    srv250s
    srv250s 2007/12/21
    SOMのライブラリsom_pak
  • 自己組織化マップ(Self-Organizing Maps)の基礎

    自己組織化マップ(Self-Organizing Maps)の基礎 伊藤 冬子, 廣安 知之, 三木 光範 ISDL Report  No. 20050822007 2006年 1月 8日 Abstract 自己組織化マップ(Self-Organizing Maps, SOM)はニューラルネットワークの一種である. 多次元のデータを2次元に写像することが可能であり, 高次元空間の可視化に用いることが可能である. またこれらの多次元のデータを予備知識なしでクラスタリング可能である. 報告では, 多次元データの可視化, クラスタリングを目的とし, SOMを調査した. また, 無料配布されているSOMのパッケージSOM_PAKを実際に利用した. 1  はじめに 各分野で取り扱われるデータは多次元であることが多い. また, データごとの特徴などの予備知識が ない中で, その分類や

    srv250s
    srv250s 2007/12/21
    SOM
  • 複雑な問題へのSOMの応用

    市販のデータマイニングにSOMがクラスタリング手法の1つとして掲載されているのですが、あまり正確な説明がされていませんのでご注意ください。SOMと従来のクラスタ分析の違いをちゃんと説明している著者は皆無です。 もっともひどい間違いは、3×3個とか3×4個とか4×4個といったわずかなノード数のSOMを使って、(データサンプルがどのノードに対応するかだけで)クラスタリングをしている解説書があります。それは完全な誤解です。 クラスタリング問題にSOMを使うことのメリットは、SOMがデータ空間の位相的順序(トポロジー)、つまり、「つながり方」を保持できるというところにあります。 上図はデータサンプルの布置を2次元のイメージで表現したものです。実際には多次元の空間にこのようなものがあると思ってください。従来のクラスタ分析は、(A)や(B)の場合に有効ですが、(C)のような場合には有効なアルゴリズム

    srv250s
    srv250s 2007/12/21
    SOMについて。
  • データが逐次的に与えられる場合のクラスタリングアルゴリズム

    最後に、データが逐次的に得られるような状況でのクラスタリングのアルゴリズムに ついて考察する。多次元のベクトルデータが逐次的にしか得られないような場合に、 データを次々と処理してその時点で最良のクラスタリング結果を求めたいとする。こ のようなアルゴリズムは、例えば、ベクトルデータの情報圧縮のための適応的ベクト ル量子化等に応用できる。 ベクトル量子化[32]では、各ベクトルをどの代表ベクトルで代表させるか をコードとして記述することによりベクトル集合を情報圧縮する。現在、ベクトル量 子化は音声信号や画像の情報圧縮のための基的な手法として利用されている。ベク トル量子化器を設計する場合には、代表ベクトルをどう選ぶか(コードブックの設計) と与えられたベクトルをどの代表ベクトルに符号化するか(量子化)の問題を考える 必要がある。コードブックの設計は,一般に学習データのクラスタリングにより求め

    srv250s
    srv250s 2007/12/21