タグ

ブックマーク / blog.beam2d.net (4)

  • Eigenの実対称行列の固有値問題をARPACKで解く

    ハイパーお久しぶりです. 修論に追われていて,先輩方に言われた「正月はもう一週間前に終わった」という言葉をかみしめています (とてもにがい). 今日は,ARPACK を使って Eigen の実対称行列の固有値・固有ベクトルを求めるために薄いラッパーを書いたので,ご紹介いたします. beam2d/arpaca - GitHub的な使い方は README に書いてあります. 求めたい固有値の数と種類 (実数 (or 絶対値) の意味で大きい (or 小さい) 方からいくつか,あるいは次数の意味で両側から合わせていくつか) を指定して,行列を渡すだけです. 行列は掛け算にだけ用いられるので,Eigen の Expression Template を直接渡すこともできます. また README の 2 番目の例のように,対象となる行列をベクトルにかける演算を自分で書いて渡せば,その固有値を求

    yu4u
    yu4u 2011/12/25
  • Suffix Array を作る - SA-IS の実装

    Suffix Array は今若者の間で人気のデータ構造です. マイ suffix array を実装することで,オシャレ度がアップしてモテ系になり,女子力も上がると言われています. その中でも今特に,手軽でクールな SA-IS (アルファベットサイズ固定の下で線形時間で省メモリで suffix array が作れる今最強のアルゴリズム) の実装がブームです. 僕もブームに便乗して,実装してみました. ところで,SA-IS は流行っているので,日語でもすでに様々なところで記事が書かれています (日付順). SAIS(Suffix Array - Induced Sorting) - EchizenBlog-Zwei SA-IS: SuffixArray線形構築 - sileの日記 SA-IS - (iwi) { 反省します - TopCoder部 接尾辞配列(Suffix Array)の

  • PCA の練習

    練習に http://archive.ics.uci.edu/ml/datasets/Iris のデータをさくっと PCA してみました。 #include <iostream> #include <string> #include <utility> #include <vector> #include <boost/algorithm/string.hpp> #include <boost/lexical_cast.hpp> #include <eigen3/Eigen/Dense> // #include <redsvd/redsvd.hpp> using namespace std; using namespace boost; int main() { vector<pair<string, vector<float>>> data; for (string line; getl

  • 数理輪講で Anchor Graph Hashing の紹介をしてきました

    今日、大学の数理情報学輪講で発表してきました。 rinko2011-agh View more presentations from beam2d 今回は来週開催される ICML 2011 の論文 Hashing with Graphs の紹介です。Anchor Graph Hashing (AGH) という近傍探索のための最新のハッシング手法を提案しています (なんでアルゴリズム名をタイトルにしなかったんだろう……)。一応スライドを読めばなんとなくわかるんじゃないかと思います。 AGH は Spectral Hashing (SH) と同じ最適化問題を考えていて、それを解いてから out-of-sample extension の話に持っていくという流れも同じです。違うのは最適化問題を低ランク近似して解くところと、そのおかげで Nyström method という手法が使えて、SH みた

  • 1