Suche senden
Hochladen
レプリカ交換モンテカルロ法で乱数の生成
•
18 gefällt mir
•
13,155 views
Nagi Teramo
Folgen
第五回Tokyo.Scipyでのトーク資料です。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 41
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
PRML輪読#1
PRML輪読#1
matsuolab
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
PRML輪読#7
PRML輪読#7
matsuolab
Empfohlen
PRML輪読#1
PRML輪読#1
matsuolab
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
PRML輪読#7
PRML輪読#7
matsuolab
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
Chika Inoshita
EMアルゴリズム
EMアルゴリズム
moritama1515
Sliced Wasserstein距離と生成モデル
Sliced Wasserstein距離と生成モデル
ohken
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
Ohsawa Goodfellow
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
負の二項分布について
負の二項分布について
Hiroshi Shimizu
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
Issei Kurahashi
EMアルゴリズム
EMアルゴリズム
Sotetsu KOYAMADA(小山田創哲)
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
PRML輪読#2
PRML輪読#2
matsuolab
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
Takeshi Sakaki
PRML輪読#13
PRML輪読#13
matsuolab
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
PRML11章
PRML11章
Takashi Tamura
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
PRML輪読#3
PRML輪読#3
matsuolab
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
Deep Learning JP
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PRML輪読#14
PRML輪読#14
matsuolab
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2
Nagi Teramo
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
基晴 出井
Weitere ähnliche Inhalte
Was ist angesagt?
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
Chika Inoshita
EMアルゴリズム
EMアルゴリズム
moritama1515
Sliced Wasserstein距離と生成モデル
Sliced Wasserstein距離と生成モデル
ohken
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
Ohsawa Goodfellow
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
負の二項分布について
負の二項分布について
Hiroshi Shimizu
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
Issei Kurahashi
EMアルゴリズム
EMアルゴリズム
Sotetsu KOYAMADA(小山田創哲)
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
PRML輪読#2
PRML輪読#2
matsuolab
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
Takeshi Sakaki
PRML輪読#13
PRML輪読#13
matsuolab
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
PRML11章
PRML11章
Takashi Tamura
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
PRML輪読#3
PRML輪読#3
matsuolab
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
Deep Learning JP
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PRML輪読#14
PRML輪読#14
matsuolab
Was ist angesagt?
(20)
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
EMアルゴリズム
EMアルゴリズム
Sliced Wasserstein距離と生成モデル
Sliced Wasserstein距離と生成モデル
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
変分ベイズ法の説明
変分ベイズ法の説明
負の二項分布について
負の二項分布について
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
EMアルゴリズム
EMアルゴリズム
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
PRML輪読#2
PRML輪読#2
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
PRML輪読#13
PRML輪読#13
2 3.GLMの基礎
2 3.GLMの基礎
PRML11章
PRML11章
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PRML輪読#3
PRML輪読#3
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
PRML輪読#14
PRML輪読#14
Ähnlich wie レプリカ交換モンテカルロ法で乱数の生成
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2
Nagi Teramo
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
基晴 出井
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
ShoutoYonekura
MCMC法
MCMC法
MatsuiRyo
Quantum Computer
Quantum Computer
Kuniaki Igarashi
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
Takuma Yagi
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
Junpei Matsuda
MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」
MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」
moterech
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
Toshihiko Iio
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
. .
モンテカルロ法と情報量
モンテカルロ法と情報量
Shohei Miyashita
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
Icp3.2 takmin
Icp3.2 takmin
Takuya Minagawa
モンテカルロサンプリング
モンテカルロサンプリング
Kosei ABE
確率的自己位置推定
確率的自己位置推定
Horiguchi Shuhei
PRML読み会第一章
PRML読み会第一章
Takushi Miki
Quantum Support Vector Machine
Quantum Support Vector Machine
Yuma Nakamura
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎(動画情報あり)
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎(動画情報あり)
Tsuyoshi Horigome
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎
Tsuyoshi Horigome
量子コンピュータの時代へ:現在の量子コンピュータで何ができるか
量子コンピュータの時代へ:現在の量子コンピュータで何ができるか
Ahmad Zufri
Ähnlich wie レプリカ交換モンテカルロ法で乱数の生成
(20)
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
MCMC法
MCMC法
Quantum Computer
Quantum Computer
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」
MLaPP 24章 「マルコフ連鎖モンテカルロ法 (MCMC) による推論」
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
モンテカルロ法と情報量
モンテカルロ法と情報量
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
Icp3.2 takmin
Icp3.2 takmin
モンテカルロサンプリング
モンテカルロサンプリング
確率的自己位置推定
確率的自己位置推定
PRML読み会第一章
PRML読み会第一章
Quantum Support Vector Machine
Quantum Support Vector Machine
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎(動画情報あり)
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎(動画情報あり)
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎
LTspiceを活用した正規分布を考慮したモンテカルロ解析の基礎
量子コンピュータの時代へ:現在の量子コンピュータで何ができるか
量子コンピュータの時代へ:現在の量子コンピュータで何ができるか
Mehr von Nagi Teramo
第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料
Nagi Teramo
Rでを作る
Rでを作る
Nagi Teramo
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
Nagi Teramo
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
Nagi Teramo
闇と向き合う
闇と向き合う
Nagi Teramo
機械の体を手に入れるのよ、鉄郎!!!
機械の体を手に入れるのよ、鉄郎!!!
Nagi Teramo
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
Nagi Teramo
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
Nagi Teramo
F#談話室(17)
F#談話室(17)
Nagi Teramo
RFinanceJはじめました
RFinanceJはじめました
Nagi Teramo
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
Nagi Teramo
Trading volume mapping R in recent environment
Trading volume mapping R in recent environment
Nagi Teramo
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
Nagi Teramo
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
Nagi Teramo
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Nagi Teramo
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
Nagi Teramo
Mehr von Nagi Teramo
(20)
第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料
Rでを作る
Rでを作る
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
闇と向き合う
闇と向き合う
機械の体を手に入れるのよ、鉄郎!!!
機械の体を手に入れるのよ、鉄郎!!!
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
F#談話室(17)
F#談話室(17)
RFinanceJはじめました
RFinanceJはじめました
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
Trading volume mapping R in recent environment
Trading volume mapping R in recent environment
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
レプリカ交換モンテカルロ法で乱数の生成
1.
第5回Tokyo.
ciPy レプリカ交換モンテカルロ法 で乱数の生成 @teramonagi
2.
目次 1.
自己紹介 2. モチベーション 3. マルコフ連鎖モンテカルロ法 4. レプリカ交換モンテカルロ法 5. まとめ 2
3.
1. 自己紹介
3
4.
自己紹介 • @teramonagi • Numpy/Scipy歴:2年程度 •
Tokyo. でお世話になっております • 仕事:半導体→金融 • 言語:C++/R/python/VBA/F# • 興味:数理/Simulation/データ分析 4
5.
2. モチベーション
5
6.
(主に私の)モチベーション • 乱数をよく生成するので、統一的な
共通の枠組で楽に乱数生成したい –「○○分布の時はA法、××分布 の時はB法を使う」は面倒 • 出来れば確率密度関数を指定する だけでOKな仕組みが欲しい 6
7.
そんな貴方の我儘を 適える素敵な魔法
7
8.
3. マルコフ連鎖モンテカルロ法
8
9.
マルコフ連鎖モンテカルロ法 • 略して
–MCMC(Markov Chain MonteCarlo) • 指定した確率(密度)関数に従う乱 数をマルコフ連鎖を活用することで 生成するモンテカルロ法のこと • かなり汎用的な枠組み 9
10.
MCMCの詳しい話は… • 【パターン認識と
機械学習 下】の 11章、サンプリ ング法を参照 10
11.
細かい突っ込んだ話は… • 【計算統計 2
マ ルコフ連鎖モン テカルロ法とそ の周辺】を参照 11
12.
MCMCの直感的な説明 • 標本空間上の点を逐次的に移動 • 今いる所の近所に移動、確率密度
の高い付近でちょっと長居、そして またウロウロする手法 小 確率 密度 大 標本空間上の点 12
13.
MCMCの直感的な説明 図:MCMCでサンプリングされる点の軌跡イメージ
(2次元正規分布) 13
14.
MCMC(メトロポリス法) 1.
#適当なサイズだけ回す 2. SIZE = 10000 3. #初期状態を生成 4. x = [initial()] * SIZE 5. for i in range(1,SIZE): 6. #①:現在の状態から次の状態(候補)を選定 7. x_proposed = propose_next(x[i]) 8. #②:確率密度の比を計算,target=密度関数 9. ratio = target(x_proposed) / target(x[i]) 10. #③:一様乱数と比較し、遷移 or 元の状態のままを決定 11. if(np.random.uniform(size=1) < ratio): 12. x[i] = x_proposed 13. else: 14. x[i] = x[i-1] Code:メトロポリス法実装例 in python 14
15.
MCMCで正規分布の生成 • 平均・標準偏差がそれぞれ (
, ) : となる正規分布 N x | を生成 (次元は2次元に設定) • 平均(3,3),標準偏差2行2列の単位 行列として設定 • メトロポリス法を10,000回試行 15
16.
MCMCで正規分布の生成 図:2次元正規分布 by
MCMC 16
17.
MCMCで正規分布の生成 図:2次元正規分布の周辺分布(青)by MCMC
と、その確率密度(赤線) 17
18.
実際のコード(一部) 1.
#正規分布の平均値 2. MU = 3.0 3. #シミュレーション・サイズ 4. SIZE_SIMULATION = 10000 5. X0 = np.array([0,0]) 6. #次候補の選定関数 7. propose_next = lambda x:x+0.5*np.random.normal(size=len(x)) 8. #target関数&MCMCオブジェクト生成 9. target = generate_target(MU) 10. mcmc = pyremc.MCMC(X0, target, propose_next, 10) 11. #MCMC実行 12. x = X0 13. for i in range(SIZE_SIMULATION): 14. x = np.vstack((x, mcmc.next())) 15. plot_result(x, MU) Code:シミュレーションコード一部抜粋 in python 18
19.
MCMCで正規分布生成 • 結果(概要)
–X方向:平均:3.05,標準偏差:1.03 –Y方向:平均:3.00,標準偏差:1.03 • うまくいっているように思える • これはいい方法ダゾ!!! 19
20.
混合正規分布 • 正規分布の重ね合わせで表現され
る分布 N • 密度関数: px wi N x | i i 1 • パラメータ N : 正規分布の混合数 wi : 混合ウェイト([0,1]) 20
21.
混合正規分布の例(1次元)
図:1次元混合正規分布の例 (平均±3,ウェイト3:7,標準偏差1(共通),混合数2) 21
22.
MCMCで混合正規分布生成 • 2次元の混合正規分布を生成
–混合数:2 –パラメータ 1 0 1 , 1 , w1 2,2, ,0.3 0 1 1 0 2 , 2 , w2 2,2, ,0.7 0 1 • メトロポリス法を10,000回試行 22
23.
MCMCで混合正規分布生成 図:2次元混合正規分布 by
MCMC 23
24.
MCMCで混合正規分布生成 • 2次元の混合正規分布を生成
–混合数:2 –パラメータ 1 0 1 , 1 , w1 3,3, ,0.3 0 1 1 0 2 , 2 , w2 3,3, ,0.7 0 1 • メトロポリス法を10,000回試行 24
25.
MCMCで混合正規分布生成 図:2次元混合正規分布 by
MCMC 25
26.
MCMCで混合正規分布生成 図:2次元混合正規分布 by
MCMC 26
27.
うまくいかない理由 • MCMC(メトロポリス法)は確率が高い
場所の側もまた高い確率を持つだろう という思想が根底にある。 • MCMC(メトロポリス法)≒局所的な探索。 確率が連続でほぼに0なるような深い 谷を越えることは難しい • どうにかうまくやれる方法はないか? 27
28.
4. レプリカ交換モンテカルロ法
28
29.
レプリカ交換モンテカルロ法 • 異なるパラメータを持つ確率分布(レプリカ)
を考えてそれらを交換するモンテカルロ法 –Replica Exchange MonteCarlo(REMC) • 別名:パラレル・テンパリング法 • 元々はスピングラスのシミュレーション手法 – Hukushima-Nemoto, (1996), Multiple coupled Markov chain MC , Parallel tempering – Swendsen RH and Wang JS (1986) Replica Monte Carlo simulation of spin glasses Physical Review Letters 57 29
30.
REMCのアルゴリズム 1. 異なるパラメーターを持つ系を同
時・並列にMCMC 2. 各MCMC間の位置をメトロポリス 法等で入れ替える 3. 1と2を繰り返す ※今扱っている問題だと、パラメータは平均ベクト ルに該当 30
31.
1:異なるパラメーター系のMCMC
3,3 メトロポリス法 でイケる 2,2 1,1 メトロポリス法 でイケない 図:平均ベクトルのみが異なる3つのレプリカ系 31
32.
1:異なるパラメーター系のMCMC
3,3 独立に MCMCを実行 2,2 レプリカ① 1,1 レプリカ② レプリカ③ 32
33.
2:位置の交換
2つのレプリカを選択 レプリカ① レプリカ② 33
34.
2:位置の交換
位置を交換! レプリカ① レプリカ② 34
35.
REMCのコード 1.
self._counter+=1 2. #①:全てのレプリカをMCMCで回す 3. for index_replica in range(self._replica_size): 4. self._mcmcs[index_replica].next() 5. #②:適当な交換頻度で位置の交換 6. if(self._counter % self._exchange_frequency == 0): 7. index_exchange = int(np.random.uniform(0, self._replica_size-1)) 8. x1 = self._mcmcs[index_exchange ].x 9. x2 = self._mcmcs[index_exchange+1].x 10. target1 = self._mcmcs[index_exchange ]._target 11. target2 = self._mcmcs[index_exchange+1]._target 12. #③:位置の交換はメトロポリス法に従う形で実行 13. if(np.random.uniform(size=1) < (target1(x2)*target2(x1))/(target1(x1)*target2(x2))): 14. self._mcmcs[index_exchange].x, self._mcmcs[index_exchange+1].x = np.copy(x2),np.copy(x1) Code:REMC実装例(一部抜粋) in python 35
36.
REMCで混合正規分布生成
3,3 図:2次元混合正規分布 by REMC 36
37.
REMC vs MCMC
3,3 3,3 図:REMC vc MCMC REMCの場合、確率が非常に小さくなる領域を乗 り越えて移動できている様子がわかる 37
38.
うまくいったね!
38
39.
5. まとめ
39
40.
まとめ • 汎用的な乱数生成法としてMCMCを紹
介 • MCMCではうまくいかないようなケース に対してREMCを適用 • 結果、REMCだと比較的うまくいくようだ • 分布依存部分をもっとうまく切り分けた い。。。 40
41.
Source code is
available here… github.com/teramonagi/Pyremc 41
Jetzt herunterladen