PRML 読書会 #12 9章 EMアルゴリズム&10章 変分ベイズ

参考:「機械学習とパターン認識」(PRML)のアンチョコ by herumi
PRML 9章や10章の数式の解説ノート。10章の大変な計算も丁寧に展開してある。


3/7 の C.M.ビショップ「パターン認識と機械学習(PRML)」読書会 #12@サイボウズ・ラボ に参加しました。各位お疲れ様でした。


今回のテーマは9章の EM アルゴリズムと10章の変分推論(変分ベイズ)。
盛り上がって参りました。


これまでも圧倒的なパワーで並み居る参加者をなぎ倒してきた PRML。しかし全てはウォーミングアップに過ぎなかった。
第12話の、PRML のセリフ「わたしの戦闘力は53万です」に凍り付く参加者一同。
はたして生き残ることは出来るのか!?


だいたいあってる?


というわけで、PRML の一番大変な範囲に突入。
でも、9〜13章は EM, VB(変分ベイズ), MCMC, Gibbs サンプリング, 主成分分析, HMM と NLP の論文読もうとしたら避けて通れない話題もりだくさん。ここで へこたれるわけにはいかない。
読書会の予習として、EM はだいたいわかったけど、変分ベイズがいまいちわからない、と言って K-means, EM, VB を R で実装してみたのが、こちら。


読書会にて担当された方の資料はこちら。


まとめ記事はこちら。Togetter は、リアルタイムに @shima__shima さんにフォローをいただけてたりして、読み応えあり。


その他、個人的感想や気付いたこと。

  • KL が苦手。エントロピー苦手。そもそも物理のアナロジー的な概念全般苦手。なんでかなー。
  • 9章では L(q) を「下界」と呼び、10章では「下限」と呼んでいる。どちらも "lower bound" だから「下界」が より適切? そもそも固定されているわけでも下界の最大値でもない L(q) を「下限」( infimum を想起してしまう)と呼んだり、「下界を上昇増加させる」*1といった類の表現に抵抗があって、慣れるまで難儀した。細かいことが気になってしまうのが悪い癖。
  • 「一般の」EMアルゴリズム(PRML 9.3) と、「一般化」EMアルゴリズム(GEM) は違うものを指しているw 細か(ry
  • 9.3.3 混合ベルヌーイ分布での手書き数字の分類で、最後に Σ_j μ_kj=1 という正規化を行っているが、これは「点灯しているピクセル数の期待値を1」にしてしまうので(少な!)、散らばりが小さすぎてEM的にはむしろ都合悪いのでは?  Σ_j μ_kj=[データセットにおける、点灯ピクセル数の平均] とかならまだわかるんだけど……
  • オンライン EM(Incremental EM) の論文。近々実装してみる予定。この論文は基本的に丁寧に書かれているものの、観測変数が Z 、隠れ変数が Y となっていて、非常に読みづらい。しかも「簡単な例」が本気で簡単すぎて(1変数2クラス混合ガウス)、実装の参考になりにくいw。論文読んだ後、PRML の式 (9.78), (9.79) の更新式を参考に、共分散と混合係数の更新式も導いて、実装する方がわかりやすいかも。
  • 9章は「混合ガウスの推論→一般形」だったけど、10章は「一般形→(一変数ガウス)→混合ガウスの推論」と逆。10章も「混合ガウスの推論」が先が良かったな。んーでもそれだと難しすぎるか……
  • 10.2 を先取り実装した「混合ガウスの推論」を簡単にデモった。初期値どうするかとか、縮退すんの? とか、その記事のコメント欄に shima__shima さんからフォローいただいているので、気になる方は参照あれ。


次回、PRML 読書会第13話、じゃあなかった #13 は 4/10(土) 開催予定。10.2〜10.6 の変分ベイズの残り。
って、すでに残席わずか。もう少し広い会場を提供していただける方がいれば、ぜひ。

*1:「下界であることを保ったまま増加させる」なら無問題。