可視化で理解するマルコフ連鎖モンテカルロ法
Transcript of 可視化で理解するマルコフ連鎖モンテカルロ法
![Page 1: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/1.jpg)
可視化で理解する マルコフ連鎖モンテカルロ法
@hoxo_m
2014/09/09
![Page 2: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/2.jpg)
自己紹介
• hoxo_m
某ECサイトでデータ分析をやっています
• RPubsHotEntry
RPubs のホットエントリを流す Twitter Bot
フォロワー 100人達成!
https://twitter.com/RPubsHotEntry
![Page 3: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/3.jpg)
マルコフ連鎖モンテカルロ法(MCMC)
• データ x が与えられたとき、事後分布 P(θ|x) からパラメータ θ をサンプリングする手法
)(
)()|()|(
xP
PxPxP
※ベイズ統計で使うだけならこの理解で十分だと思う
![Page 4: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/4.jpg)
メトロポリス・ヘイスティングス法
マルコフ連鎖モンテカルロ法(MCMC)
メトロポリス法 (対称性)
ギブス・ サンプラー (条件付き分布)
![Page 5: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/5.jpg)
今日のメニュー
• 二変量正規分布からのサンプリングを可視化
1. 非MCMC (mvrnorm)
2. メトロポリス法
3. ギブス・サンプラー
![Page 6: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/6.jpg)
非 MCMC
• 二変量正規分布は MCMC を使わなくてもサンプリングできる
参考:多変量正規分布にしたがう乱数の生成
• ここでは、R の組み込み関数 mvrnorm() を使って生成してみた
![Page 7: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/7.jpg)
非 MCMC
可視化してみた • http://visualize-
mcmc.appspot.com/1_mvrnorm.html
![Page 8: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/8.jpg)
メトロポリス法
任意の初期状態 (x, y) から始めて以下を繰り返す
1. dx, dy を原点対称の確率密度から発生させる
2. 候補 (x’, y’) を以下で定める
(x’, y’) ← (x + dx, y + dy)
3. 候補の状態と現在の状態の確率の比を計算する
r ← p(x’, y’) / p(x, y)
4. 一様乱数 R(0≦R<1) を発生、R < r なら (x, y) を (x’, y’) で更新
![Page 9: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/9.jpg)
細かいことは抜きにして
理解すべきこと:
• マルコフ連鎖
⇒ 前の状態から次の状態が決まる
• モンテカルロ法
⇒ 確率的なアルゴリズム
![Page 10: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/10.jpg)
メトロポリス法
確率の高い方へ 行くときは 必ず受理される
![Page 11: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/11.jpg)
メトロポリス法
確率の低い方へ 行くときは確率 r で 棄却される
![Page 12: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/12.jpg)
メトロポリス法
可視化してみた • http://visualize-
mcmc.appspot.com/2_metropolis.html
![Page 13: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/13.jpg)
ギブス・サンプラー
任意の初期状態 (x, y) から始めて以下を繰り返す
1. x の新しい値を条件付き分布 P(x|y) から選ぶ
2. y の新しい値を条件付き分布 P(y|x) から選ぶ
![Page 14: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/14.jpg)
ギブス・サンプラー
x 方向へ動くときは y を固定した 条件付き確率に従う
![Page 15: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/15.jpg)
ギブス・サンプラー
y 方向へ動くときは x を固定した 条件付き確率に従う
![Page 16: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/16.jpg)
ギブス・サンプラー
可視化してみた • http://visualize-
mcmc.appspot.com/3_gibbs.html
![Page 17: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/17.jpg)
おまけ
• 三変量正規分布に対して、ギブス・サンプラーを可視化してみた。
• http://visualize-mcmc.appspot.com/4_gibbs3d.html
![Page 18: 可視化で理解するマルコフ連鎖モンテカルロ法](https://reader036.fdocument.pub/reader036/viewer/2022081800/55660e3ed8b42a06318b4a2b/html5/thumbnails/18.jpg)
ご清聴ありがとうございました