機械学習×プログラミング勉強会にて「ノンパラベイズ入門の入門」を発表しました #pgml

11/9 に開催された機械学習×プログラミング勉強会 vol.2 にのこのこ参加&発表。主催の愛甲さん、参加者&発表者の皆さん、会場を提供して下さった DeNA さんありがとうございました。


愛甲さんから発表の依頼をいただいた時、言語判定の話をすればいいか〜とか考えて気楽に引き受けちゃったのだが、あれを20分で話すと痛い目にあうと広島方面で学んだことを思い出し。
じゃあ、テキストマイニング始めました的なことでも〜と構成を考えてみたのだが、データの前処理の話だけで20分使い果たして機械学習出てこなさそう。しかも発表順で中谷の次があんちべ先生の番。後ろに専門家がいるのにテキストマイニングの真似事とかしゃべってたら、やばい。


そこで、勉強会タイトルの「〜×プログラミング」にあわないのは承知しつつ、社内勉強会でやったノンパラベイズ入門的な話をブラッシュアップして持っていくことに。



機械学習×プログラミング勉強会には160人も参加するということであまり機械学習に詳しくないことを想定して、数式を一切使わず、できるだけ予備知識がなくてもわかるように、と心がけてうきうき資料を作ったのだけど、最初の2つの発表とその反応を見てたら、聴衆のレベルを見誤っちゃってました、てへ。
って、前にも同じようなことやっちゃってたんだった。前々職の職業病かなあ(苦笑)。


でもって、だいぶ噛み砕いて「ベイズって何が嬉しいの?」から説明を始めているせいで、20分の発表時間に収まらず。愛甲さんに泣きを入れて、プラス5分いただいて何とか発表完遂(発表前にその旨お断り忘れてた。すんません)。ふう。


内容に補足することはほとんどないのだけど、1つだけ。 HDP-LDA の絵で、HDP のパラメータ(黒太線)に入れる重み付き空間は実は単語分布の事前ディリクレ分布(図の右上の三角)なのだが、発表のストーリー上そこは強調したくなかったので、細くて見えにくい線でつないである。


ほんとうにノンパラベイズの雰囲気だけ伝える内容なので、これ読んで実装できたりするということはありえないんだけど、「なんでノンパラベイズが必要なのか」その必然性の一端あたりにでも触れてもらえれば、と期待している。
もう少し詳しいことを知りたければ、資料の中からもリンクしている山本さん&持橋さんのスライドがおすすめ。実はユニグラム→LSI→LDA→HDP-LDA という流れは、そのスライドから踏襲させていただいている。


ただし、「ノンパラベイズ入門の入門」よりはもちろんちゃんと説明されているとはいえ、こちらも概要レベル。
実装とかできるくらいもっと詳しいことを知りたい場合、今は残念ながらノンパラベイズを詳しく扱った書籍は基本的にまだないので(洋書でも概要をアラカルト的に記したものや論文集くらいしか知らない)、論文を読むしか無いというのが現状かなあ。だいぶハードル高い。


そもそも機械学習自然言語処理も全く専門ではない中谷が、そのハードルを乗り越えてまでノンパラベイズを勉強してみたいと思ったきっかけは、発表の中でチラリと紹介した持橋さんの教師なし分かち書きを見てしまったから。



(持橋 2012)「ノンパラメトリックベイズ法による言語モデル」より


こちらは統数研で行われたノンパラベイズ勉強会での持橋さんによる資料だが、ここでも紹介されているこの "Alice in Wonderland" の空白を全部取り除いたものから元の単語区切りが高い精度で復元できているのを見て、これはすげー、未来だ! え? ノンパラベイズっていうの使ってるって? じゃあそれやってみる! と、まだ PRML の9章をひいひい読んでいたレベルの頃に決心して、まあなんとかここまでやってきた、という感じ。


そういう感動は、未知のことを勉強する強い動機になるよねえ。って、発表もそういう構成にすればよかったのかもw