ディリクレ過程とディリクレ過程混合モデル

多項分布とディリクレ分布

NLP関係、特に言語モデルなどでは多項分布がよく使われる(N個のデータがあったときに、Aに1つ、Bに3つ…というような感じ)。言語モデルを作るときにはゼロ頻度問題が常に問題となるので、多項分布のパラメータを最尤推定で求めたものを使っては危険。なので、バックオフをするなど、discountingをするのが普通である。この問題をベイズ流に解決しようとすると、事前分布を置くということになる。多項分布の共役事前分布はディリクレ分布となっていて、ここに二つの分布の関係性が出てくる(see also PRML2章)。

通常のパラメトリックベイズモデルにおける混合モデル

ベイズ推定では、なんでも確率変数と考えて事前分布をおいたりできることから、パラメータの分布、その事前分布というのを考えることができた。ここで、一歩高い視点から見てみることにしよう。どういうことをやるかというと、「確率分布自体」も確率変数と見なして、その確率分布を考えよう、ということである。つまり、「確率分布の確率分布」。ちょっと分けが分からな(ry。

と思ったけど、そんなこともないのか。例えば、混合正規分布みたいなのを考える。混合する数を確率変数と見なすと、混合係数の確率分布からサンプリングしてくると(例えば3とか)、混合する数が決まるので、これは確率分布を生成する確率分布であるといえよう。具体例で考えると分かりやすそうですね。混合係数がいくつかの分布が「確率分布の確率分布」になっている。

パラメトリックからノンパラメトリックへ

そもそもなんで上のような感じのことを考えないといけないのか、というモチベーションの部分に関する説明。ここのExampleで説明する。

混合ガウスの混合係数はEMアルゴリズムなどを用いて推定することができるが、「そもそもいくつのガウス分布を混合すればよいのか?」という本質的な問題がある。パラメトリックなモデルでは、モデル選択の理論を使って、AICなど情報量基準etcで最適な混合する数を決めていく。が、例えばビデオの嗜好の分布を混合分布で表わそうと考えるとしたときに、「この人はアクションムービーやコメディーが好きで、あの人はSF系しか見てない」という感じの状況のとき、人によって最適なクラスタ数は違うはずである。もちろん、個体差をモデルに埋め込んでしまうというアプローチもあるが、ベイジアン流に「真のクラスター数なんてないんじゃない?分布を考えるほうがよいのでは?」というのが発想の根底にあるようだ。

同じような流れで、多項式回帰の次数も「一番よいものがある」ではなく「分布している」と考えてはどうだろうか?というようなことが書いてある。どれか次数を決めてやるには現実のデータは複雑すぎてうまく説明できないんじゃない?ということである。

まとめると、「パラメトリックモデルで問題になるモデル選択をノンパラではうまく扱えるかもしれない…!」というようなことからノンパラを考えてみる価値もありそうだ、ということがなんとなく分かる。

ガウス過程とディリクレ過程

In a typical problem we have samples of the underlying true probability measure and we want to calculate the posterior probability measure or the predictive distribution for a new sample; (note, that we do not have a measurement of the function, as in the GP case but a sample of the true probability measure; this is the main difference between GP and DP)

Dirichlet Processes and Nonparametric Bayesian Modelling

参考

続・わかりやすいパターン認識―教師なし学習入門―

続・わかりやすいパターン認識―教師なし学習入門―