Upload
moterech
View
608
Download
4
Embed Size (px)
Citation preview
MLaPP Ch.24マルコフ連鎖モンテカルロ法
(MCMC) による推論Markov chain Monte Carlo (MCMC) inference
1/24
Markov chain Monte Carlo
アウトライン
1. イントロダクション2. ギブスサンプリング3. メトロポリス・ヘイスティングス法4. MCMCの収束速度と精度5. 補助変数法6. アニーリング (やきなまし法)7. 周辺尤度の近似
2/24
Markov chain Monte Carlo
この章の内容
▶ MCMCの具体的な⼿法の解説が中⼼▶ 理論が知りたい!って⼈は...▶ とにかく使いたい!って⼈は...
3/24
Markov chain Monte Carlo Introduction
Subsection 1
Introduction
4/24
Markov chain Monte Carlo Introduction
マルコフ連鎖モンテカルロ法 (MCMC)
▶ 多次元の分布からのサンプリングで使える▶ ⽬当ての分布を定常分布に持つようなマルコフ連鎖からサンプルを作る
▶ (状態空間が連続値のマルコフ連鎖を考える)
5/24
Markov chain Monte Carlo Introduction
MCMCの種類
▶ ギブスサンプリング▶ メトロポリス・ヘイスティングス法▶ ...
6/24
Markov chain Monte Carlo Introduction
変分法 (→21章) vs MCMC
変分法1. ⼩規模〜中規模の問題
で⾼速2. 決定論的アルゴリズム3. 収束の判定が簡単4. 対数尤度の下界が与え
られる
サンプリング (MCMC)1. 実装が容易2. 広い範囲の問題に適⽤
できる3. ⼤規模な問題で変分法
より⾼速
7/24
Markov chain Monte Carlo Gibbs sampling
Subsection 2
Gibbs sampling
8/24
Markov chain Monte Carlo Gibbs sampling
ギブスサンプリング
▶ 最もポピュラーなMCMCのアルゴリズムのひとつ▶ 物理の分野では Glauber Dynamics や熱浴法 (heatbath method) としても知られる
9/24
Markov chain Monte Carlo Gibbs sampling
簡単な例
▶ 3次元の分布 p (x1, x2, x3) からのサンプルを考える▶ s 回⽬のサンプルのもとでの条件付き分布から s+ 1回⽬のサンプルを⽣成
▶ xs+11 ∼ p (x1|xs2, xs3)
▶ xs+12 ∼ p
(x2|xs+1
1 , xs3)
▶ xs+13 ∼ p
(x3|xs+1
1 , xs+12
)
10/24
Markov chain Monte Carlo Gibbs sampling
▶ ⼀般には欲しい D 次元の分布
p (x1, . . . , xD)
の i 番⽬の変数をそれ以外を固定した条件付き分布
p (xi|x−i) ≜ p (xi|x1, . . . , xi−1, xi+1, . . . , xD)
から順番にサンプリング▶ グラフィカルモデルなら xi の隣のノードの値だけ考えればよい
▶ p (xi|x−i) を完全条件付き (perfect conditional) と呼ぶ
11/24
Markov chain Monte Carlo Gibbs sampling
Burn in
▶ マルコフ連鎖が定常分布に収束する (burn in) まで時間がかかる
▶ はじめの⽅で得たサンプルは切り捨てる
12/24
Markov chain Monte Carlo Gibbs sampling
例: イジングモデル
イジング模型の完全条件付き分布
p(xt = +1|x−t, θ
)=
∏s∈nbr(t) ψst (xt = +1, xs)∏
s∈nbr(t) ψst (xt = +1, xs) +∏
s∈nbr(t) ψst (xt = −1, xs)
=exp
[J∑s∈nbr(t) xs
]exp
[J∑
s∈nbr(t) xs]+ exp
[−J
∑s∈nbr(t) xs
]=
exp [Jηt]exp [Jηt] + exp [−Jηt]
= sigm (2Jηt)
▶ ψ (xs, xt) = exp (Jxsst): edge potential▶ ηt ≜
∑s∈nbr(t) xs =
xt(#同じ向きの隣接点−#逆向きの隣接点
)
13/24
Markov chain Monte Carlo Gibbs sampling
2次元イジング模型による画像復元
p (xt = +1|x−t,y, θ) =exp [Jηt]ψt (+1)
exp [Jηt]ψt (+1) + exp [−Jηt]ψt (−1)
= sigm(2J− log ψt (+1)
ψt (−1)
)
▶ y: 観測された画像▶ 観測にガウシアンノイズ
ψt (xt) = N(yt|xt, σ2
)が含まれる
14/24
Markov chain Monte Carlo Gibbs sampling
sample 1, Gibbs
−1
−0.5
0
0.5
1sample 5, Gibbs
−1
−0.5
0
0.5
1mean after 15 sweeps of Gibbs
−1
−0.5
0
0.5
1
▶ 後に⽣成したサンプルの⽅が事後分布の平均に近い
15/24
Markov chain Monte Carlo Gibbs sampling
例2: GMMのパラメータ推定混合ガウスモデルの同時分布
p (x, z, µ,Σ, π) = p (x|z, µ,Σ)p (z|π)p (π)K∏
k=1
p (µk)p (Σk)
=
( N∏i=1
K∏k=1
(πkN (xi|µk,Σk))I(zi=k)
)×
Dir (π|α)K∏
k=1
N (µk|m0,V0) IW (Σk|S0, ν0)
▶ 観測した xi (i = 1, . . . ,N) からパラメータ z, µ,Σ, πを推定する
▶ 事前分布は共役事前分布を使った16/24
Markov chain Monte Carlo Gibbs sampling
各パラメータの完全条件付き分布は▶ p (zi = k|xi, µ,Σ, π) ∝ πkN (xi|µk,Σk)
▶ p (π|z) = Dir({(
αk +∑N
i=1 I (zi = k))}K
k=1
)▶ p (µk|Σk, z, x) = N (µk|mk,Vk)(
V−1k = V−1
0 +NkΣ−1k ,mk = Vk
(Σ−1k Nkx̄k + V−1
0 m0
))(Nk ≜
∑Ni=1 I (zi = k) , x̄k ≜ N−1
k∑N
i=1 I (zi = k) xi)
▶ p (Σk|µk, z, x) = IW (Σk|Sk, νk)(Sk = S0 +
∑Ni=1 I (zi = k) (xi − µk) (xi − µk)
T , νk = ν0 +Nk
)
17/24
Markov chain Monte Carlo Gibbs sampling
ラベルスイッチング
▶ ラベルの交換に対して尤度が不変▶ 特定の混合要素に対応するパラメータの事後分布の平均の計算などができない
▶ ”気にしない” のが⼀番の解決法▶ 各データ点がどのクラスターに属するかではなく、データ点同⼠が同じクラスターに属するかどうかを考えればよい
18/24
Markov chain Monte Carlo Metropolis Hastings algorithm
Subsection 3
Metropolis Hastings algorithm
19/24
Markov chain Monte Carlo Metropolis Hastings algorithm
メトロポリス・ヘイスティングス法
▶ 提案分布を⽤いて状態遷移を効率よく⾏う⼿法▶ ギブスサンプリングが適⽤できないロジスティック回帰なんかにも使える
▶ ギブスサンプリングより⾼速
20/24
Markov chain Monte Carlo Metropolis Hastings algorithm
基本的なアイディア
▶ 現在の状態 (最新のサンプル) が x である時に次の状態の候補 x′ を確率 q (x′|x) で選ぶ
▶ q (x′|x) を提案分布 (proposal distribution) と呼ぶ
21/24
Markov chain Monte Carlo Metropolis Hastings algorithm
▶ 提案分布はいくつかの条件に従えばどんな種類の分布でもよい
▶ 現在の状態を中⼼とするガウス分布 (ランダムウォークメトロポリスアルゴリズム)
▶ 現在の状態に依存しない分布 q (x′|x) = q (x′)(independence sampler)
▶ importance sampling (23章) に似ている
22/24
Markov chain Monte Carlo Metropolis Hastings algorithm
▶ 提案分布から⽣成した候補 x′ は確率 min(1, p
∗(x′)p∗(x)
)で採択 (accept) される
▶ x′ での確率密度が x より⾼ければ必ず動く▶ 低い場合はどのくらい低いかに依存して確率的に
▶ x′ が棄却されたら現在の状態をもう⼀度繰り返す
23/24
Markov chain Monte Carlo Metropolis Hastings algorithm
▶ 提案分布が⾮対称つまり q (x′|x) ̸= q (x|x′) のときはHastings correction hastings correction
r = min (1, α)
α =p∗ (x′)q (x|x′)p∗ (x)q (x′|x) =
p∗ (x′) /q (x′|x)p∗ (x) /q (x|x′)
が必要▶ p∗ (x′) と p∗ (x) の⽐がわかれば α が計算できる
→ 正規化係数を知らなくても使える!
24/24