SlideShare a Scribd company logo
1 of 24
Download to read offline
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 や熱浴法 (heat
bath method) としても知られる
9 / 24
Markov chain Monte Carlo Gibbs sampling
簡単な例
▶ 3次元の分布 p (x1, x2, x3) からのサンプルを考える
▶ s 回⽬のサンプルのもとでの条件付き分布から s + 1
回⽬のサンプルを⽣成
▶ xs+1
1 ∼ p (x1|xs
2, xs
3)
▶ xs+1
2 ∼ p
(
x2|xs+1
1 , xs
3
)
▶ xs+1
3 ∼ p
(
x3|xs+1
1 , xs+1
2
)
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
1
sample 5, Gibbs
−1
−0.5
0
0.5
1
mean 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−1
k = V−1
0 + NkΣ−1
k , mk = Vk
(
Σ−1
k Nk¯xk + V−1
0 m0
))
(
Nk ≜
∑N
i=1 I (zi = k) , ¯xk ≜ N−1
k
∑N
i=1 I (zi = k) xi
)
▶ p (Σk|µk, z, x) = IW (Σk|Sk, νk)(
Sk = S0 +
∑N
i=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

More Related Content

What's hot

PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6matsuolab
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
コンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりコンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりcvpaper. challenge
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データShohei Miyashita
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-sleepy_yoshi
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論Taiji Suzuki
 
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出hoxo_m
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式Hiroshi Nakagawa
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11matsuolab
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシンYuta Sugii
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説Shiga University, RIKEN
 

What's hot (20)

PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
コンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりコンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のり
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論
 
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
 

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

逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎ShoutoYonekura
 
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法Shuhei Sowa
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
Quantum Support Vector Machine
Quantum Support Vector MachineQuantum Support Vector Machine
Quantum Support Vector MachineYuma Nakamura
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析Shu Tanaka
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章Takushi Miki
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Wataru Kishimoto
 
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)Akihiro Nitta
 
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in chargePRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in chargeJunpei Matsuda
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisTatsuki SHIMIZU
 
東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 ClusteringHiroshi Ono
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介Taku Yoshioka
 
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...Deep Learning JP
 

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

逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
MCMC法
MCMC法MCMC法
MCMC法
 
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
Quantum Support Vector Machine
Quantum Support Vector MachineQuantum Support Vector Machine
Quantum Support Vector Machine
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
PRML10-draft1002
PRML10-draft1002PRML10-draft1002
PRML10-draft1002
 
Prml sec6
Prml sec6Prml sec6
Prml sec6
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504
 
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
 
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in chargePRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
 
東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介
 
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
 

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

  • 2. Markov chain Monte Carlo アウトライン 1. イントロダクション 2. ギブスサンプリング 3. メトロポリス・ヘイスティングス法 4. MCMCの収束速度と精度 5. 補助変数法 6. アニーリング (やきなまし法) 7. 周辺尤度の近似 2 / 24
  • 3. Markov chain Monte Carlo この章の内容 ▶ MCMCの具体的な⼿法の解説が中⼼ ▶ 理論が知りたい!って⼈は... ▶ とにかく使いたい!って⼈は... 3 / 24
  • 4. Markov chain Monte Carlo Introduction Subsection 1 Introduction 4 / 24
  • 5. Markov chain Monte Carlo Introduction マルコフ連鎖モンテカルロ法 (MCMC) ▶ 多次元の分布からのサンプリングで使える ▶ ⽬当ての分布を定常分布に持つようなマルコフ連鎖 からサンプルを作る ▶ (状態空間が連続値のマルコフ連鎖を考える) 5 / 24
  • 6. Markov chain Monte Carlo Introduction MCMCの種類 ▶ ギブスサンプリング ▶ メトロポリス・ヘイスティングス法 ▶ ... 6 / 24
  • 7. Markov chain Monte Carlo Introduction 変分法 (→21章) vs MCMC 変分法 1. ⼩規模〜中規模の問題 で⾼速 2. 決定論的アルゴリズム 3. 収束の判定が簡単 4. 対数尤度の下界が与え られる サンプリング (MCMC) 1. 実装が容易 2. 広い範囲の問題に適⽤ できる 3. ⼤規模な問題で変分法 より⾼速 7 / 24
  • 8. Markov chain Monte Carlo Gibbs sampling Subsection 2 Gibbs sampling 8 / 24
  • 9. Markov chain Monte Carlo Gibbs sampling ギブスサンプリング ▶ 最もポピュラーなMCMCのアルゴリズムのひとつ ▶ 物理の分野では Glauber Dynamics や熱浴法 (heat bath method) としても知られる 9 / 24
  • 10. Markov chain Monte Carlo Gibbs sampling 簡単な例 ▶ 3次元の分布 p (x1, x2, x3) からのサンプルを考える ▶ s 回⽬のサンプルのもとでの条件付き分布から s + 1 回⽬のサンプルを⽣成 ▶ xs+1 1 ∼ p (x1|xs 2, xs 3) ▶ xs+1 2 ∼ p ( x2|xs+1 1 , xs 3 ) ▶ xs+1 3 ∼ p ( x3|xs+1 1 , xs+1 2 ) 10 / 24
  • 11. 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
  • 12. Markov chain Monte Carlo Gibbs sampling Burn in ▶ マルコフ連鎖が定常分布に収束する (burn in) まで 時間がかかる ▶ はじめの⽅で得たサンプルは切り捨てる 12 / 24
  • 13. 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
  • 14. 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
  • 15. Markov chain Monte Carlo Gibbs sampling sample 1, Gibbs −1 −0.5 0 0.5 1 sample 5, Gibbs −1 −0.5 0 0.5 1 mean after 15 sweeps of Gibbs −1 −0.5 0 0.5 1 ▶ 後に⽣成したサンプルの⽅が事後分布の平均に近い 15 / 24
  • 16. 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
  • 17. 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−1 k = V−1 0 + NkΣ−1 k , mk = Vk ( Σ−1 k Nk¯xk + V−1 0 m0 )) ( Nk ≜ ∑N i=1 I (zi = k) , ¯xk ≜ N−1 k ∑N i=1 I (zi = k) xi ) ▶ p (Σk|µk, z, x) = IW (Σk|Sk, νk)( Sk = S0 + ∑N i=1 I (zi = k) (xi − µk) (xi − µk)T , νk = ν0 + Nk ) 17 / 24
  • 18. Markov chain Monte Carlo Gibbs sampling ラベルスイッチング ▶ ラベルの交換に対して尤度が不変 ▶ 特定の混合要素に対応するパラメータの事後分布の 平均の計算などができない ▶ ”気にしない” のが⼀番の解決法 ▶ 各データ点がどのクラスターに属するかではなく、 データ点同⼠が同じクラスターに属するかどうかを 考えればよい 18 / 24
  • 19. Markov chain Monte Carlo Metropolis Hastings algorithm Subsection 3 Metropolis Hastings algorithm 19 / 24
  • 20. Markov chain Monte Carlo Metropolis Hastings algorithm メトロポリス・ヘイスティングス法 ▶ 提案分布を⽤いて状態遷移を効率よく⾏う⼿法 ▶ ギブスサンプリングが適⽤できないロジスティック 回帰なんかにも使える ▶ ギブスサンプリングより⾼速 20 / 24
  • 21. Markov chain Monte Carlo Metropolis Hastings algorithm 基本的なアイディア ▶ 現在の状態 (最新のサンプル) が x である時に次の 状態の候補 x′ を確率 q (x′ |x) で選ぶ ▶ q (x′ |x) を提案分布 (proposal distribution) と呼ぶ 21 / 24
  • 22. Markov chain Monte Carlo Metropolis Hastings algorithm ▶ 提案分布はいくつかの条件に従えばどんな種類の分 布でもよい ▶ 現在の状態を中⼼とするガウス分布 (ランダムウォー クメトロポリスアルゴリズム) ▶ 現在の状態に依存しない分布 q (x′|x) = q (x′) (independence sampler) ▶ importance sampling (23章) に似ている 22 / 24
  • 23. Markov chain Monte Carlo Metropolis Hastings algorithm ▶ 提案分布から⽣成した候補 x′ は確率 min ( 1, p∗(x′) p∗(x) ) で採択 (accept) される ▶ x′ での確率密度が x より⾼ければ必ず動く ▶ 低い場合はどのくらい低いかに依存して確率的に ▶ x′ が棄却されたら現在の状態をもう⼀度繰り返す 23 / 24
  • 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