mots quotidiens.
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp by hns, version 2.10-pl1.

先月 2009年05月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

2009年05月20日(水) [n年日記]

#1 信学会講座 & IHMM

信学会のノンパラメトリックベイズ講座をようやく書き終えました。
具体的な学習例(上のイメージ)や細かい図を描く必要があり, 結局連休後半からずっと かかった気がします。

最後のページではInfinite HMM (NIPS 2001) [pdf] の紹介をしています。 ちょうど岡野原君がohmmをリリースした所で, やたらとタイミングがいいのですが..。
HMMはよく考えるとかなり凄いモデルですが, 上のohmmも含め, 普通のHMMは 隠れ状態の数は事前にセットしておく必要があります。 これに対し, IHMMは隠れ状態の総数すらも観測データを見るだけで決めてくれる という驚異的なモデルで, 僕はD3の時(2003年くらい)に知って, かなり感動しました。

ただ, IHMMは理論を理解するのもそうですが, 実装がかなりややこしいので *1 僕は実際に実装はしていなかったのですが, 最近素晴らしいことに, Ghahramaniの ところにいる Van Gael がIHMMのMATLABツールキットを 公開 してくれているので今回それを使ってみました。 以下, ドキュメントに書かれていないことを含めて, 自分用も兼ねて使い方のメモ。

というわけで, 上のようにすれば, 観測値yを用意するだけで, Infinite HMMを 実際に試すことができます。上では離散値(例えば単語のID)ですが, iHmmNormal* という関数もあるので, 正規分布でもOKのようです。

ちなみに, van Gaelはもちろん Beam Sampler を用意してくれていて iHmmSampleBeam()を使うとビームサンプリング (状態数が無限の場合でも可能な, Slice samplingを使ったForward-Backward) ができますが, 僕が試した限りでは普通のGibbsの方が計算や収束が速かったようです。 系列がこのツールでは一つだけなので, Gibbsの方が隠れ状態を増減する機会が多く, 柔軟なのかもしれません。


*1: ハイパーパラメータの推定にΓ関数が山のように出てくるので, 昔かなりびびりました が, 今見ると別に普通に見えたりします。こういう時には進歩を感じます。
*2: ツールキット内部の都合上, この名前は's'にしておく必要があります。

1 days displayed.
タイトル一覧
カテゴリ分類
 なかのひと
Powered by hns-2.10-pl1, HyperNikkiSystem Project