PRML 第10章 
近似推論法 
東京理科大学大学院 薬学研究科 薬科学専攻 (博士後期課程3年) 
理科学研究所 情報基盤センター 
バイオインフォマティクス研究開発ユニット (JRA) 
! 
露崎弘毅
目次 
・10.1 変分推論法 
- 10.1.1分布の分解 
- 10.1.2 分解による近似のもつ性質 
- 10.1.3 例: 一変数ガウス分布 
・10.2 変分混合ガウス分布 
- 10.2.1変分事後分布 
- 10.2.2 変分下界 
- 10.2.3 予測分布 
- 10.2.4 混合要素数の決定 
- 10.2.5 導出された分解 
・10.3 変分線形回帰 
- 10.3.1 変分分布 
- 10.3.2 予測分布 
- 10.3.3 変分下界 
・10.4 指数型分布族 
- 10.4.1 変分メッセージパッシング 
・10.5 局所的変分推論法 
・10.6 変分ロジスティック回帰 
- 10.6.1 変分事後分布 
- 10.6.2 変分パラメータの最適化 
- 10.6.3 超パラメータの推論 
・10.7 EP法 
- 10.7.1 例: 雑音データ問題 
- 10.7.2 グラフィカルモデルとEP法 
今回
10章のための準備
付録D: ラグランジュ未定乗数法 
http://www.slideshare.net/antiplastics/ss-40005282
付録E: 変分法 
http://www.slideshare.net/antiplastics/ss-40005308
9章の復習(1/5) 
(k-means) 
ランダムに二カ所 
クラスター中心 
の初期値を決める 
近い方の中心があ 
るクラスターに各 
点を所属させる 
(Eステップ) 
再びクラスター毎 
に中心を計算する 
(Mステップ) 
E 
E E 
E 
M 
M 
中心点が移動しなくなる 
M M 図9.1 
= 収束
9章の復習(2/5) 
(混合ガウス分布におけるEMアルゴリズム) 
図9.8 
二つのガウス分布の混合とする 
E M 
(平均: u、共分散行列: Σ、混合比: π) 
尤度関数の値がほとんど 
変わらなくなる = 収束 
ある点が各クラスターに所属する確率(負担率) 
を計算する(Eステップ) 
繰り返す 
各パラメーターを計算する(Mステップ)
9章の復習(3/5) 
(完全データによる、より一般的な説明) 
潜在変数の事後分布を計算する 
(Eステップ) 
繰り返す 
各パラメーターを計算する(Mステップ) 
今あるX, θoldからZの事後分布をもとめる 
この時、Q関数を最大化させる 
ようなθを計算する 
Mステップでのθをθoldとする 
Zはわからない 
=> 代わりにp(Z|X, θold)で代用 
すると、対数尤度の期待値は以下のよう 
なQ関数で定義できる
9章の復習(4/5) 
(尤度関数がEMで極大化することの証明) 
最大化したい対数尤度関数は以下のように書ける 
ただし、 
(下界) 
(KLD: Kullback-Leibler divergence) 
q(Z)はθoldにおける潜在変数の分布 
q(Z) = q(Z|X, θold)
9章の復習(5/5) 
(尤度関数がEMで極大化することの証明) 
対数尤度と下界&KLDの関係 
(対数尤度 = 下界 + KLD) 
Eステップでは、θold固定、 
q(Z)を動かす 
(KLD→0、下界→対数尤度) 
Mステップでは、q(Z)を固定、 
θを動かす(θold→θnew) 
(KLD > 0、下界最大化、 
対数尤度 >下界) 
図9.11 図9.12 図9.13 
図9.14 
対数尤度 
下界
第10章 近似推論法
「第9章 混合モデルとEM」ではZの事後分布q(Z|X)を求めて、対数尤度 
の期待値計算に使った 
! 
→ Zの事後分布を計算できない場合がある 
例1. 隠れ変数の次元が高すぎる 
例2. 期待値を解析的に解けない 
「第10章 近似推論法」← 決定的に近似(解析的) 
「第11章 マルコフ連鎖モンテカルロ法」← 確率的に近似(数値計算) 
という位置づけ
10.1 変分推論 
9章と同じように、周辺分布の対数は以下のように定義できる 
(9章と違うのは、Zは潜在変数とパラメーターの両方を含んでいる) 
9章と同様、EステップでKLD -> 0とする 
ただし、q(Z)がわからないので、制限したクラスのq(Z)で代用する 
事を考える
10.1.1 分布の分解 
ZはM個の背反なグループでなるとする 
Zi (i = 1, 2, …, M) 
以降qi(Zi)をqiと省略する 
qjだけ取り出す練習(次項ですぐやる) 
パターン1 
パターン2
10.1.1 分布の分解 
qiを(10.3)に代入して、下界のうちある因子 
qj(Zj)に依存する項をもとめる 
積の対数が、対数の和になっただけ 
分配& 
パターン1, 2 
jでの積分計算ではj 
が無い項は全て定数 
(const)
10.1.1 分布の分解 
(10.6)はqj(Zj)とp(X, Zj)の負のKLD 
下界の最大化 = KLDの最小化 
最小はqj(Zj) = p(X, Zj)の時なので、(10.7)より 
ある因子qj 他の因子qi (i ≠ j)を使っ 
て計算した期待値 
定数項はqj(Zj)を正規化する事で得られる 
これ以降 
q(Z)の分解(平均場近似) -> (10.9)を適用 
というパターンが続く
10.1.2 分解による近似のもつ性質 
分布の分解により以下のような不正確さが生じる 
KL(q||p)の最小化 
→ q(Z)の推定 
(変分ベイズ) 
KL(p||q)の最小化 
→ q(Z)の推定 
(10.7 EP法) 
z1とz2の相関 
が見れてない 
スカスカ
10.1.2 分解による近似のもつ性質 
KL(q||p)の最小化 
→ q(Z)の推定 
(変分ベイズ) 
KL(p||q)の最小化 
→ q(Z)の推定 
(10.7 EP法) 
どちらかの峰を近似する 
全ての峰を平均 
したような分布 
多峰性分布
10.1.3 例: 一変数ガウス分布 
xn 
N 
τ(分散) 
u(平均) 
a0 
b0 
u0 
λ0 
ガウス変数の平均も分散も未知なパターン 
→ 正規-ガンマ分布 (上巻p98) 
! 
平均の共役事前分布をガウス分布、 
分散の共役事前分布をガンマ分布で設定する
10.1.3 例: 一変数ガウス分布 
ここではあえて変分ベイズで解いてみる 
q(u, τ)をq(u)とq(τ)に分解 
まずq(u)に(10.9)を適用 
uに依存しない項
10.1.3 例: 一変数ガウス分布 
対数をとったものがuに関して二次関数の形をしているので、 
正規分布にできる(上巻p84、平方完成のテクニック) 
平均 
分散
10.1.3 例: 一変数ガウス分布 
次にq(u)に(10.9)を適用 
パラメーターa 
パラメーターb 
uに依存しない項 
展開するとE[u2]、E[u]で計算できる項だとわかる
10.1.3 例: 一変数ガウス分布 
E[τ](一次のモーメント) → q(u) 
q(u) → E[u] (一次のモーメント)、E[u2] (二次のモーメント) 
E[u]、E[u2] → q(τ) 
q(τ) → E[τ] 
… 
確率統計 - キャンパス・ゼミ - 
適当に初期値を設定して、繰り返し計算でq(u)、q(τ)を求める事ができる 
(実際に適当なハイパーパラメーターのもと計算した例が10.31 - 10.33)
10.2 例: 変分混合ガウス分布 
全パラメーターを 
確率変数と見なし 
て事前分布を設定 
α0 m0 = 0 
図9.6 図10.5 
β0 
m0 
W0 
全確率変数の同時分布
10.2.1 変分事後分布 
あえて変分ベイズで解いてみる 
まずq(Z)とq(π, μ, Λ)を分解 
q(Z)に(10.9)を適用 
Zに依存しない項
10.2.1 変分事後分布 
lnq(Z)の指数をとる 
対数の和が底の積になる 
Zを1~kで和をとると1なので 
Zの期待値は 
これは負担率?
10.2.1 変分事後分布 
↓これは後で使うからあらかじめ定義しておく 
次はq(π, u, Λ)に(10.9)を適用 
Zに依存しない項
10.2.1 変分事後分布 
q(π, u, Λ)はさらにq(π)とq(u, Λ)に分解 
→ (10.9)を適用 
q(π)に(10.9)を適用 
両辺の指数をとると、これはディリクレ分布になる 
ただし、αの各要素αkは以下の通り
10.2.1 変分事後分布 
残りのq(u, Λ)はq(u)q(Λ)と分解する事はできない 
が、q(u|Λ)q(Λ)にはできる 
q(u, Λ)に(10.9)を適用するとガウス-ウィッシャー 
ト分布の形になる
10.2.1 変分事後分布 
Mステップでは負担率rnkが必要 
以下のものを計算して、(10.46)に代入 
代入 
正規化
10.2.1 変分事後分布 
(10.49)の分子? 
9章の(9.13)をあえて精度行列で書くと、類似している事がわかる
10.2.1 変分事後分布 
K=6 K=5 
K=3 K=2 
変分ベイズでの混合比の期待値は以下 
で与えられる 
πkが小さい混合要素は 
勝手に消えていく図 
ある要素で 
Nk ≒ 0、αk ≒ α0となったとする 
より 
事前分布がなだらかなら 
α0 → 0、よって、E[πk] → 0 
αで結果が変わる 
α0 = 10-3 : クラスターは2つ 
α0 = 1 : クラスターは3つ 
α0 = 10 : クラスターは6つ
ノンパラベイズ 
(混合要素をデータから自動決定する) 
http://scikit-learn.org/stable/modules/mixture.html
結局変分法使ってないのでは? 
変分法を使わなくても解ける? 
(結局10章でちゃんと使っている箇所が全くない…) 
! 
q(Z)をq(Z1)q(Z2)…q(ZM)と平均場近似して 
各q(Zi)を求める 
-> 変分下限はq(Z1)q(Z2)…q(ZM)の汎関数 
→ 変分法で解くという話にはなってるらしい 
! 
・演習問題の10.3 
(http://research.microsoft.com/en-us/um/people/cmbishop/ 
prml/pdf/prml-web-sol-2009-09-08.pdf) 
・パターン認識と機械学習の学習 p.76 
・変分ベイズの定式化から近似事後分布の導出まで(1)-(3) 
(http://www.nejicolab.com/akip/?p=124)

PRML10章