24
MLaPP Ch.24 マルコフ連鎖モンテカルロ法 (MCMC) による推論 Markov chain Monte Carlo (MCMC) inference 1 / 24

MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Embed Size (px)

Citation preview

Page 1: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

MLaPP Ch.24マルコフ連鎖モンテカルロ法

(MCMC) による推論Markov chain Monte Carlo (MCMC) inference

1/24

Page 2: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo

アウトライン

1. イントロダクション2. ギブスサンプリング3. メトロポリス・ヘイスティングス法4. MCMCの収束速度と精度5. 補助変数法6. アニーリング (やきなまし法)7. 周辺尤度の近似

2/24

Page 3: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo

この章の内容

▶ MCMCの具体的な⼿法の解説が中⼼▶ 理論が知りたい!って⼈は...▶ とにかく使いたい!って⼈は...

3/24

Page 4: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Introduction

Subsection 1

Introduction

4/24

Page 5: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Introduction

マルコフ連鎖モンテカルロ法 (MCMC)

▶ 多次元の分布からのサンプリングで使える▶ ⽬当ての分布を定常分布に持つようなマルコフ連鎖からサンプルを作る

▶ (状態空間が連続値のマルコフ連鎖を考える)

5/24

Page 6: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Introduction

MCMCの種類

▶ ギブスサンプリング▶ メトロポリス・ヘイスティングス法▶ ...

6/24

Page 7: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Introduction

変分法 (→21章) vs MCMC

変分法1. ⼩規模〜中規模の問題

で⾼速2. 決定論的アルゴリズム3. 収束の判定が簡単4. 対数尤度の下界が与え

られる

サンプリング (MCMC)1. 実装が容易2. 広い範囲の問題に適⽤

できる3. ⼤規模な問題で変分法

より⾼速

7/24

Page 8: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Gibbs sampling

Subsection 2

Gibbs sampling

8/24

Page 9: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Gibbs sampling

ギブスサンプリング

▶ 最もポピュラーなMCMCのアルゴリズムのひとつ▶ 物理の分野では Glauber Dynamics や熱浴法 (heatbath method) としても知られる

9/24

Page 10: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 11: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 12: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Gibbs sampling

Burn in

▶ マルコフ連鎖が定常分布に収束する (burn in) まで時間がかかる

▶ はじめの⽅で得たサンプルは切り捨てる

12/24

Page 13: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 14: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 15: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 16: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 17: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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

Page 18: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Gibbs sampling

ラベルスイッチング

▶ ラベルの交換に対して尤度が不変▶ 特定の混合要素に対応するパラメータの事後分布の平均の計算などができない

▶ ”気にしない” のが⼀番の解決法▶ 各データ点がどのクラスターに属するかではなく、データ点同⼠が同じクラスターに属するかどうかを考えればよい

18/24

Page 19: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Metropolis Hastings algorithm

Subsection 3

Metropolis Hastings algorithm

19/24

Page 20: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Metropolis Hastings algorithm

メトロポリス・ヘイスティングス法

▶ 提案分布を⽤いて状態遷移を効率よく⾏う⼿法▶ ギブスサンプリングが適⽤できないロジスティック回帰なんかにも使える

▶ ギブスサンプリングより⾼速

20/24

Page 21: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Metropolis Hastings algorithm

基本的なアイディア

▶ 現在の状態 (最新のサンプル) が x である時に次の状態の候補 x′ を確率 q (x′|x) で選ぶ

▶ q (x′|x) を提案分布 (proposal distribution) と呼ぶ

21/24

Page 22: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Metropolis Hastings algorithm

▶ 提案分布はいくつかの条件に従えばどんな種類の分布でもよい

▶ 現在の状態を中⼼とするガウス分布 (ランダムウォークメトロポリスアルゴリズム)

▶ 現在の状態に依存しない分布 q (x′|x) = q (x′)(independence sampler)

▶ importance sampling (23章) に似ている

22/24

Page 23: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

Markov chain Monte Carlo Metropolis Hastings algorithm

▶ 提案分布から⽣成した候補 x′ は確率 min(1, p

∗(x′)p∗(x)

)で採択 (accept) される

▶ x′ での確率密度が x より⾼ければ必ず動く▶ 低い場合はどのくらい低いかに依存して確率的に

▶ x′ が棄却されたら現在の状態をもう⼀度繰り返す

23/24

Page 24: MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」

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