Nonparametric Bayesian
- ノンパラベイジアンは違う発想をする
- 柔軟でないモデルは間違った推論をしてしまう
- 柔軟でないというのは混合数「5」の混合ガウス分布とか、次数「4」の多項式回帰とか
- もっと柔軟なモデルを作ろう
- モデルのパラメータ数をサンプル数によって可変にしよう
- ある意味、パラメータ数をに持っていく
- ノンパラメトリックなモデルはモデル選択をする必要性がない
パラメトリックなモデル
- 有限個のパラメータ集合について考えている
- 新たなデータを予測するときには、前のデータとは独立なことを想定している
- 有限個のパラメータによって、データの特性全てを記述する
- 手に入るデータの量が限られていれば、モデルの複雑さは限定されてしまう
ノンパラメトリックなモデル
- データの分布は有限個のパラメータでは記述しきれないと仮定している
- しかし、無限次元のパラメータでなら記述できると考える
- 実際には無限個あるわけではなく、データ量によってモデルの複雑さ(パラメータ数)を変化させていく
- これにより、柔軟なモデルを得る
ノンパラは初めて?
- そうでもない
- ガウス過程が実はそうだった
Gaussian Process*2
A Gaussian process defines a distribution over functions, , where is a function mapping some input space to .
.Notice that can be an infinite-dimensional quantity (e.g. if )
Let's call this distribution
Let be an n-dimensional vector of function values evaluated at points . Note is a random variable.
Definition: is a Gaussian process if for any finite subset , the marginal distribution over that finite subset has a multivariate Gaussian distribution.
余談
- GPはサンプル数に比例してパラメータ数が増えていった
- しかも、推定のときは(工夫しないと)かかる
- DPはサンプル数の対数に比例してパラメータ数が増えていく
応用例*3
- Dirichlet Process(DP)の応用例であるDirichlet Process Mixture(DPM)を例に取って
- クラスタリングのクラスタ数を適当に決めてくれる
- クラスタ数をどのようにして決めるか
- 事後確率最大化(MAP推定)
-
- => モデルに依る(例:正規分布)
- => パラメータの事前分布
- => 割り当ての事前分布
- DPM!!
例
- 「割り当ての事前分布」とは何か?
- データ、、とあったときにこの組み合わせというのは以下の5通り
- 同時確率はこの5つにどのように確率を振っていくか、というのを表わしている
- これをChinese Restaurant Process(あとで説明)で考えると新しいクラスタを作るというのが新しいテーブルに座るということに対応していることが分かる
- [9]には"CRP is the corresponding distribution over partitions"と書いてあって、まさに分割についての分布を表わしている
Chinese Restaurant Process(CRP)
- 日本語だと中華料理店過程。
- DPの表現の仕方の一つ
- このプロセスでやることはこんなこと*4
- 最初のお客さんは必ずテーブル1に着席する
- 番目のお客さんは、既に 人が着席しているテーブルに確率で座り
- 新しいテーブルに確率で座る
Chinese Restaurant Processの性質
- 人のお客さんがきた時点でのテーブルの数はとなり、お客さんの数の対数オーダーでテーブル数が増えていく
- 混んでるテーブルのほうがお客さんが座る確率が高い
- (混んでるのに座ってくる人って、、、)
- これをクラスタリングと見なすことができる。新たなデータは属しているデータの数が多いクラスタに配属される確率が高く、ある確率でまた新しいクラスタを生成する
- 普通のクラスタ数を決め打ちでやるクラスタリングとは違って、データ数によってクラスタ数が可変していく
- これがInfiniteと呼ばれるゆえんか。flexibleのほうがしっくりくるけど
交換可能性(exchangability)
- 簡単に言うとどのお客さんから座っても構成する確率には関係がない、ということ
- i.i.dとはまた違うらしい
- Chinese Restaurant ProcessとDPとクラスタリングについての関係については[6]が分かりやすい
- を番目のクラスタリングされた状態(隠れ変数)、を番目のクラスタリングの結果のクラスタの数
なぜDPMなのか?
-
- => モデルに依る(例:正規分布)
- => パラメータの事前分布
- => 割り当ての事前分布
- 割り当ての事前分布は事前分布なので置き方は任意である
- モデル化の方法としては以下の二つが使われる
- Dirichlet Process Mixture(DPM)
- Dirichlet分布 + Poisson分布
- どっちを使うかは実装の面での使い勝手による
- Dirichlet分布 + Poisson分布だとMCMCの詳細釣り合い条件を満たすのが面倒
- DPMだとMCMCを使って推論を割と簡単に行うことができる => これはまたあとで
ここまでのまとめ
- 有限個のパラメータでのモデリングは柔軟性に欠ける(とノンパラベイズの人たちは考える)
- サンプル数によって、パラメータ数を変化させていく
- ノンパラ、実は初めてではなかった => Gaussian Process
- 応用例としてはクラスラリングのクラスタ数を決定してくれるようなことができる
- Chinese Restaurant Process
- 割り当ての事前分布
- 推論はまた後で!!
これから
- DPには様々な表現の仕方がある
- Chinese Restaurant Processもその一つだった
- そもそもの定義を見る
- 必要事項
- ディリクレ分布の定義とその性質
Dirichlet Distribution
- ディリクレ分布は初めて?
- ディリクレ分布は次元の単体上の確率分布と考えることができる
- を次元のベクトルとする。ただし、任意のについてで、を満たすものとする
- このときディリクレ分布を以下で定義する
Property of Dirichlet Distribution
- 多項分布と共役な分布である(有名な事実)
- を表わしている
- 事後分布もまた以下のディリクレ分布となる
- ここでででは
Definition of Dirichlet Process
を上の関する分布とし、を正の実数とする。の任意の(可測な)分割に対して*5、ベクトルは確率変数のベクトルである。ここで、はに従う確率変数である。であるとは、の任意の(可測な)分割に対して
とであるということ。
Relationship between GP and DP
- ディリクレ過程は無限次元版ディリクレ分布と考えることができる
- どこで周辺化してきてもディリクレ分布が出てくる
- ガウス過程と非常によく似ている。
- ガウス過程 => distribution over function
- ディリクレ過程 => distribution over distribution
- GP : どんなと取ってきても、対応するがガウス分布に従う
- DP : 空間のどんな離散化についても、対応する離散分布がディリクレ分布に従う
What Dirichlet Process Means?
- 上の図が基底関数
- 真ん中の図が基底関数とのとある分割
- は区間で基底関数を積分した面積に相当
- 下の図は、区間における線分の長さの和(と考えてもたぶんよい)
- cf.
定義を満たすもの
このディリクレ過程の定義を満たすような可測な分割の仕方の数というのは非可算無限にある。ここで起こる疑問は「このような定義を満たすようなものはあるのか、あるとすれば条件はなんなのか?」ということである。これを解決するようなapproachがいくつもある。「満たすようなものがあるのか?」について、つまりwell-defineかどうかについてのほうはwikipedia:en:De_Finetti's_theoremを使って示してある。「直接的にGPになるような確率過程を構成してやればいいじゃない」という考えのもので作られているほうは結構たくさんあって、有名なものとしては
- Gamma Process
- Chinese Restaurant Process(CRP)
- Urn Model
- Stick Breaking Representation
などがある。Chinese Restaurant ProcessはMCMCとStick Breaking Representationは変分ベイズと相性がよいことから推論のときはこの2つがよく使われるようである。
Stick Breaking Representation
- は離散分布と書けることが知られている(詳細は[7])
- このように書けることを知った上でDPを構成していこうというのがStick Breaking Representationのやり方
Stick Breaking Representationの構成方法*6
- まず、長さ1の棒をで折って、とする
- 次に残った長さの棒をで折って、とする
- これを繰り返すととなる
- 各はベータ分布から生成される
- 普通、は超事前ガンマ分布で与えられる(形状、尺度も割と適当でうまくいく)
ベータ分布
- ベータ分布は定義域が0から1の間で、かなり自在に変形できる分布
- ただし、単峰性の分布に限定される
- 無情報変則事前分布としても使わることがある
- Stick Breaking Representationでは1変数固定
有限で打ち切る
Dirichlet Process Mixtures
DPはと書けることからも分かるように、離散確率分布であった。それゆえ、連続分布に対して事前分布として使うことができない。これをどうにかしたい。Dirichlet Process Mixturesはこれを解決するためのものである。
Dirichlet Process Mixturesでは、DPから混合モデルのパラメータを取ってくる。
- 例えばをパラメータのガウス分布とすれば、これはガウス分布をDirichlet Processによって混合したものになる
- もちろんは任意の密度関数でよい
グラフィカルモデル 1
Dirichlet Process Mixturesでは、DPから混合モデルのパラメータを取ってくる。
- サンプルごとにモデルパラメータが違うかもしれない、ということ
- 現実的には、いくつかのパラメータは同じであることが多い
- 例 :
- クラスタ効果
グラフィカルモデル 2*10
- 有限混合モデル、DPMとそれと等価なモデルにおけるグラフィカルモデルでの表現の違い
- 右の3つは出てくるものは同じだけど、中でやっているプロセスが違う
- SBPは有限混合モデルとほとんど似たようなグラフィカルモデルをしているが、混合要素の数のところが有限ではなく無限まで考えている
Infinite Mixtures 1*11
- データセットに関して、個の混合要素からなる確率モデルを考える
- つまりについて考える
- ここではがgivenのもとでの*12多項分布である
- そして、の共役事前分布として、Dirichletを持ってくる
- 最初はについて考えていたが、を積分で消して、について考えると、以下の事後予測分布を得る
Infinite Mixtures 2
- をと定義する
- このとき条件付き確率はと書ける
- ここで
- つまり、以外で、クラスタにいる数
- クラスタ数を無限大に持っていったとき、この条件付き確率は場合分けが必要
- がすでに存在しているクラスタだった場合
- となる。これは上の式でを素直に無限大に持って行った場合
- もう一つのケースは、が新しくできたクラスタである場合
- この場合はとなる、らしいんだけどよく分からない><*13
Dirichlet Process Mixturesの近似
近似するための方法は色々あって[9]では
- Gibbs sampling [3]
- Variational approximation [10]
- Expectation propagation [11]
- Hierarchical clustering [12]
などが紹介されていた。
Gibbs sampling*14
- 事後分布をサンプリングして近似する方法
- とし、を繰り返すことでを近似する。
- はDPMに関しては(割と簡単に)できる
- 導出は簡単ではないとか
DPMでのGibbs sampling
- モデルを指数分布族に決める
- 例えば正規分布
- を共役事前分布に、をDPMにする
- を解析的に計算する
- DPMにすることでを解析的に計算することができる*15
- を繰り返す
アルゴリズム
K := 現在のクラスタ数
for k in 1:K+1 # でK+1は新しいクラスタを意味する
p(k) :=
end
p(k) = 1となるようにp(k)を正規化する
p(k)からziをサンプリングする
変分ベイズ*16
参考文献
[1] Ferguson (1973) "A Bayesian Analysis of Some Nonparametric Problems", The Annals of Statistics,Vol.1, No.2, 1973. pdf
[2] Antoniak (1974) "Mixtures of Dirichlet Processes with Applications to Bayesian Nonparametric Problems", The Annals of Statistics,Vol.2, No.6, 1974. pdf
[3] Escobar and West (1995) "Bayesian Density Estimation and Inference using Mixtures", Journal of the American Statistical Association,Vol. 90, No. 430, 1995. pdf
[4] West (1992) "Hyperparameter estimation in Dirichlet process mixture models", ISDS discussion paper 1992-03, 1992. ps
[5] Zhang (2008) "A Very Gentle Note on the Construction of Dirichlet Process", Technical Note. pdf
[6] 栗原 (2008) "Dirichlet Processを用いたクラスタリング", MIRU2008 ワークショップ: 画像処理とその周辺における確率的情報処理の展開. pdf
[7] J. Sethuraman. A constructive definition of Dirichlet priors. Statistica Sinica, 4:693–650, 1994. pdf
[8] 持橋大地, 菊井玄一郎. "無限混合ディリクレ文書モデル", 情報処理学会研究報告 2006-NL-172, pp.47-53, 2006. pdf
[9] Ghahramani (2005) "Non-parametric Bayesian Methods", Advanced Machine Learning Tutorial (Based on UAI 2005 Conference Tutorial), 2005. pdf
[10] Blei, D.M. and Jordan, M.I. (2005) Variational methods for Dirichlet process mixtures. Bayesian Analysis. pdf
[11] Minka, T.P. and Ghahramani, Z. (2003) Expectation propagation for infinite mixtures. NIPS’03 Workshop on Nonparametric Bayesian Methods and Infinite Models. pdf
[12] Heller, K.A. and Ghahramani, Z. (2005) Bayesian Hierarchical Clustering. Twenty Second International Conference on Machine Learning (ICML-2005) pdf
[13] Muller, P. and Quintana, F.A. (2003) Nonparametric Bayesian Data Analysis. pdf
[14] C. E. Rasmussen. The Infinite Gaussian Mixture Model. in Advances in Neural Processing Systems 12, pp. 554-560, MIT Press (2000). pdf
[15] 山本幹雄, 持橋大地. Topicに基づく統計的言語モデルの最前線 ーPLSIからHDPまで― 言語処理学会第12回年次大会チュートリアル資料 pp.11-28, 2006. pdf
[16] pdf
[17] pdf
[18] pdf
[19] pdf
[20] ps
[21] pdf
*1:[9]より
*2:[9]より
*3:[6]より
*4:Chinese Restaurant Process - Beyond 3 Sigmaより
*5:分割は有限
*6:分かりやすかったので、Stick-Breaking Process (SBP) - Beyond 3 Sigmaから図を借りてくる
*7:このスライドは結構分かりやすい
*8:自然言語処理特論最終回 - Seeking for my unique color.
*9:[18]より
*10:[16]より
*11:[9]のスライドを見つつ
*12:がパラメータ(隠れ変数的な)。完全にベイズの世界なのでこういう書き方
*13:[16]に書いてあるっぽい
*14:[6]を参考にしつつ
*15:計算過程は追い切れてない。。。
*16:[10]を参考
*17:[17]より