タグ

ブックマーク / hillbig.cocolog-nifty.com (7)

  • 行列分解ライブラリredsvdを公開しました - DO++

    大規模疎行列向けの行列分解ライブラリredsvdを公開しました. redsvd 大規模疎行列向けの特異値分解や主成分分析,固有値分解を行うライブラリredsvdを公開しました. 修正BSDライセンスで公開しており,コマンドラインから使える他,C++ライブラリが用意されています. 例えば,行と列数がそれぞれ10万,非零の要素が1000万からなる疎行列に対する上位20位までの特異値分解を約2秒で処理します. 特異値分解とか,使っている技術の詳細とか応用事例を以下に簡単に紹介しましたので,興味のある方は参考にしてください. 特異値分解とは まず行列を適当に復習します.行列Xの転置をX^tと表すことにします.またIを単位行列とし,Oを全ての成分が0である零行列とします.また,行列XX^t=IであるようなXを直交行列と呼びます.Xが直交行列の時,Xvはベクトルvを長さを変えずに回転させます.ここでは

    行列分解ライブラリredsvdを公開しました - DO++
  • DO++

    2012年の個人的な総括を以下にまとめます。 子供が生まれました 無事子供が7月に生まれました。毎日子育てに翻弄していますが想像していたよりも大変で楽しい時間を過ごしています。 また、が実家に里帰り出産したため夏の間は、毎週末の実家に帰り車を運転して病院・お店に行くという、まるでの実家で生活して月〜金は東京で働いているような感覚で過ごしていました。 高速文字列を出しました 高速文字列の世界を12/27に出しました。 2012年の目標としてをだすということを考えていました。2010年夏頃からの話はいただいていましたが、結婚、会社(途中から経営陣に入ってさらに時間確保が困難に)、子育てと時間確保がどんどん困難になっていきずるずると伸びてしまっていました。 しかし、文字列解析の話は小さいころから扱っていた話(もう10歳ぐらいからの付き合い)で一度まとめてみたかったというのもありますし

    DO++
    chiko
    chiko 2009/05/22
  • オンラインEMアルゴリズム - DO++

    EMアルゴリズム(Expectation Maximizationアルゴリズム、期待値最大化法、以下EMと呼ぶ)は、データに観測できない隠れ変数(潜在変数)がある場合のパラメータ推定を行う時に有用な手法である。 EMは何それという人のために簡単な説明を下の方に書いたので読んでみてください。 EMのきちんとした説明なら持橋さんによる解説「自然言語処理のための変分ベイズ法」や「計算統計 I―確率計算の新しい手法 統計科学のフロンティア 11」が丁寧でわかりやすい。 EMは教師無学習では中心的な手法であり、何か観測できない変数を含めた確率モデルを作ってその確率モデルの尤度を最大化するという枠組みで、観測できなかった変数はなんだったのかを推定する場合に用いられる。 例えば自然言語処理に限っていえば文書や単語クラスタリングから、文法推定、形態素解析、機械翻訳における単語アライメントなどで使われる。

    オンラインEMアルゴリズム - DO++
  • ohmm(オンラインEMによるHMM学習)をリリースしました - DO++

    Ohmm-0.01をリリースしました [Ohmm 日語] [Ohmm English] これは、以前のブログで書いた、オンラインEM法をそのまま素直に隠れマルコフモデル(HMM)に対し適用したライブラリです。 使う場合は、単語(アクセス履歴とかなんでもよい)に分けられているテキストを入力として与えれば、HMMによる学習を行い、結果を出力します。他で利用できるように、パラメータを出力したり、単語のクラスタリング結果を出力します。 HMM自体は、言語情報やアクセス履歴、生物情報(DNA)といったシーケンス情報において、前後の情報を用いて各要素をクラスタリングしたい場合に用います。 ライブラリの特徴はオンラインEMの特徴通り、従来のEMよりも速く収束します。一応標準的な最適化手法(スケーリング、スパースな期待値情報の管理)もいれているので、そこそこ高速に動きます 速度的には100万語、隠れ状

    ohmm(オンラインEMによるHMM学習)をリリースしました - DO++
  • DO++: 機械学習による自然言語処理チュートリアル

    自然言語処理のときに使う機械学習手法のテクニックをざーっと2時間程度で紹介してほしいとのことだったので今日話してきました。基的に、そんなに頑張らなくても効果が大きいものを中心に説明(特にパーセプトロンとか)を説明してます。 紹介した手法はパーセプトロン、最大エントロピー、正則化、多クラス分類、系列分類(CRF, Structured Perceptron)などなどです。どれも一かじりする感じで網羅的に見る方を優先してます。個々の詳しい話はそれぞれの文献や実装などを当たってみてください。 スライド [ppt] [pdf] ここで話しているのは線形識別モデルの教師有り学習が中心で教師無し学習(クラスタリングなど)など他の自然言語処理を支える技術は省いてます。 こういうのを使って(使わなくてもいいけど)どんどんアプリケーション作らないといかんね。 Tarot is not used to ma

    DO++: 機械学習による自然言語処理チュートリアル
    chiko
    chiko 2008/08/04
  • DO++ : WEB DB PRESSに記事書きました

    今月号のWEB+DB PRESS(Vol. 42)でアルゴリズム・データ構造についての記事を書きました。 [出版社ページ] 結構専門的なことも書いていいとのことだったので、私が好きな範囲で自由に書かせてもらいました。 書いたのは ・連想配列(の使い方じゃなく実装) ・Trie ・Double Array ・Tx/Bep ・簡単な圧縮 ・連長配列 ・Front Coding ・可変長バイト符号 ・PFOR符号(Monet DBで使われている符号法で日で紹介するのは初?現時点で最速) ・簡潔データ構造 ・Rank/Select辞書 ・LOUDS ・Suffix Arrays ・BW変換とその応用 ページ数が限られていたので、できるだけ簡単な紹介程度で雰囲気を味わってもらう感じぐらいです。 (いくつかは動くコードもついてます) 今月号のWEB+DBは気合入っていて、他にも ニコニコ動画特集、S

    DO++ : WEB DB PRESSに記事書きました
    chiko
    chiko 2007/12/26
  • DO++: 教師あり学習の比較

    ICML2006に興味深い論文がありました。 "An Empirical Comparison of Supervised Learning Algorithm", Rich Caruana caruana and Alexandru Niculescu-Mizil [link] 90年代初め以降、数多くの画期的な教師あり学習が提案されてきましたが、どれがいいかを包括的に比較したことはあまりありませんでした (文書分類などでは、SVMとAda-boosting 強いねということだったのですが Sebastiani@ACM Survey 2002) 決着をつけようじゃないかということで、11の問題に対してハイパーパラメータも完璧にチューニングして、いろいろな分類器を比較しているみたいです。比較内容は精度や再現率やクロスエントロピーなど様々で、確率を直接出さないやつはsigmoid関数など単調

    DO++: 教師あり学習の比較
    chiko
    chiko 2007/04/17
  • 1