タグ

ブックマーク / shuyo.hatenablog.com (6)

  • 第2回 Tokyo.SciPy で「数式を numpy に落としこむコツ」を発表してきました - 木曜不足

    10/15 に IBM さんの渋谷オフィスにて開催された 第2回 Tokyo.SciPy にのこのこ参加してきました。主催の @sla さんはじめ、参加者・発表者各位おつかれさまでした&ありがとうございました。 せっかく行くならなんか発表したいよね、ということで「数式を numpy に落としこむコツ 〜機械学習を題材に〜」なんてタイトルで、数式(あるいは数式入りのアルゴリズム)を実装するときに、どういう点に注目すれば易しくコードを書けるか、についてちらちら語ってみた。 こちらがその資料。 数式をnumpyに落としこむコツ View more presentations from Shuyo Nakatani 例えば、機械学習の(多クラス)ロジスティック回帰という技術では、次のような数式が登場する。 (PRML (4.109) 式) これを一目見てすらすらとコードが書けるなら苦労はないが、慣

    第2回 Tokyo.SciPy で「数式を numpy に落としこむコツ」を発表してきました - 木曜不足
  • エンジニアから機械学習への要望 - 木曜不足

    Machine Learning that Matters(ICML 2012) 読んだ - 糞ネット弁慶 (Wagstaff ICML2012) Machine Learning that Matters (原論文) 機械学習のトップカンファレンス ICML にて、「機械学習はこのままでいいの?」という感じの論文が発表された。 細かい内容は上の紹介記事を読んでいただくとして*1、乱暴に一言でまとめると「実応用から離れすぎ」ということになるだろう。 あるいは、2章の章題となっている "Machine Learning for Machine Learning's Sake" がこの論文をもっとも端的に表す一言と言ってみるのもいいかも。 内容についてはいちいち同感で、素性だの正則化だの最適化だのいう用語は分野外とのコミュニケーションを拒否しているとしか思えないとか、定量的なこともまあ大事だろ

    エンジニアから機械学習への要望 - 木曜不足
  • 隠れマルコフ実装してみた。 - 木曜不足

    PRML 13章読んで、隠れマルコフモデルを実装してみた。今回は Python + numpy の習作も兼ねている。 http://github.com/shuyo/iir/blob/master/sequence/hmm.py 今回実装してみたアルゴリズムは以下の通り。数字は PRML の章番号。 まあなんて盛りだくさん。 最尤推定(EM アルゴリズム) (13.2.1) Baum-Welch(フォワード・バックワード)アルゴリズム (13.2.2) スケーリング係数(13.2.4) Viterbi アルゴリズム(13.2.5) 複数系列を用いた学習 (演習 13.12) HMMからサンプリング(生成モデル) (13.2) left-to-right HMM (13.2) テキストファイルを与えると、1行1系列とみなして、アルファベットからなる単語を抽出し、HMM で学習&文章をサンプリ

    隠れマルコフ実装してみた。 - 木曜不足
  • FSNLP 5.4 Mutual Information(相互情報量) - 木曜不足

    "Foundations of Statistical Natural Language Processing"(FSNLP, サイコロ)を読んでいるが、5.4 Mutual Information で詰まった。 書いてあることがいろいろ腑に落ちない。 まあエントロピー関連がどうにも苦手というのもあるのだが、いくつか「当にそうなの? なんかおかしくない?」という部分があるので、そこら辺含めてちょっとまとめてみた。 【追記】フォロー記事書きました → http://d.hatena.ne.jp/n_shuyo/20101006/pmi 【/追記】 なお、章題は "Mutual Information" だが、実際に扱っているのは pointwise mutual information(PMI) の事ばかり。 まず self-information(自己情報量) を定義しておこう。 確率

    FSNLP 5.4 Mutual Information(相互情報量) - 木曜不足
    bluele
    bluele 2012/04/26
    pmi
  • #TokyoNLP で「∞-gram を使った短文言語判定」を発表しました - 木曜不足

    TokyoNLP 第8回に のこのこ参加。主催者の id:nokuno さん、発表者&参加者のみなさん、そして会場を提供してくださった EC ナビさん改め VOYAGE GROUP さん& @ajiyoshi さん、お疲れ様でした&ありがとうございました。 今回は「∞-gram を使った短文言語判定」というネタを発表。「短文言語判定」って、要は「このツイートは何語?」ってこと。 こちらが資料。 ∞-gram を使った短文言語判定 View more presentations from Shuyo Nakatani そして実装したプロトタイプ ldig (Language Detection with Infinity-Gram) とモデル(小)はこちらで公開。 https://github.com/shuyo/ldig 言語判定とは「文章が何語で書かれているか」を当てるタスクで、以前一度

    #TokyoNLP で「∞-gram を使った短文言語判定」を発表しました - 木曜不足
  • Double Array 実装してみた - 木曜不足

    今作りかけのもので、素性(文字列片)を格納するのに Trie を使っていたのだけど、50万件を超えたあたりからメモリに載らなくなってきて。 まあ dict を使っためちゃめちゃナイーブな実装だったので、そろそろダメかなあとは思っていたんだけど(苦笑)。 というわけで、それよりきっと省スペース&きっと高速だろうと期待して Double Array を Python で実装してみた。 参考にしたのは WEB+DB Press vol. 64 の徳永さんの記事。 現時点での実装がこちら。 https://github.com/shuyo/iir/blob/master/trie/da.py ソート済みのテキスト列を与えると、Double Array を構築。 get を呼び出すと、最初に与えたテキスト列の中でのキー文字列のインデックスを返す。 シンプル機能。 trie = da.DoubleAr

    Double Array 実装してみた - 木曜不足
  • 1