ノンパラベイズをちょっぴりさわってみた
ちょっとだけノンパラベイズをやってみることにした。
幸いにもウルトラわかりやすいスライドがあったので、知っておく程度にうってつけだった。
いつも通りGraham先生のスライドは直感的にわかりやすいようにできている。
http://www.phontron.com/slides/nonparametric-tutorial-ja-1.pdf
おかげでわかったこと。
ベイズ推定は「あらゆる確率を考慮にいれて、目的の確率を計算する」ってことがわかった。
スライドではθはP(雨)になっている。なので、ここではあらゆる雨が降る確率を考慮することになる。
例えば、0日の雨が降ることがあれば、4日の雨が降ることおあるし、40日の雨が降ることもある。
それの確率をすべて考慮にいれてしまおう。というのがベイズ推定の考え方。
で、それをHMMに役立てると何が起きるのか?
結論から言うと、
・通常の教師なしHMMだと、最尤推定の際にこんな問題がある。
1 局所解にはまると、脱出不可能(三次関数のような曲線のときに困る)
2 初期値を何でもいいよ。状態で入れるとめちゃくちゃになる
では、ベイズを使うと何が改善できるのか?
・ 極小解や初期値に強い
なので、通常よりも強い教師なしHMMが期待できる。
それがベイジアンHMMなわけだ。
もう一度、雨の例に戻って考えてみる。雨の時はいろんな雨が降る確率をすべて考えたが、今回は品詞だから、「あらゆる品詞の系列をすべて考慮した上で、そんな状態での単語の生成確率を考える」ということになる。
で、ここで出てくるのが、ディリクレ過程。
ディリクレ過程を構成するパタメータに中にP (base)とαがある。
これもスライドの通り。
そして、ベイジアンHMMをどうやって学習するか?の話に移る。
で、基本的にはパラメータの事後確率(一回ごとの)は「変分ベイズ」によって解けるらしいが、計算が遅いらしい。(実はよくわかりません。)
なので、代わりにサンプリングを用いる。
ここで登場するのがギブスサンプリング
ギブスサンプリングを使えば、ベイジアンHMMを学習できますよ。っていう話だった。
実はまだ「ギブスサンプリング」についてあまりよくわかってなかったりする。
これは今後の課題ということで。