Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kaityo256
PRO
March 03, 2022
Education
3.3k
6
Share
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
マルコフ連鎖モンテカルロ法はどういうものか、なぜ必要かの簡単な説明。
kaityo256
PRO
March 03, 2022
More Decks by kaityo256
See All by kaityo256
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
6
1.1k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
この講義について / 00-setup
kaityo256
PRO
2
360
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
270
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
480
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
280
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
310
バージョン管理とは / 01-a-vcs
kaityo256
PRO
1
320
Gitの仕組みと用語 / 01-b-term
kaityo256
PRO
1
350
Other Decks in Education
See All in Education
Integrating prosody into reading comprehension: A high school classroom practice
otamayuzak
0
100
Liberalism's Last Man and Asia
vyadav
0
110
Design Guidelines and Principles - Lecture 7 - Information Visualisation (4019538FNR)
signer
PRO
0
3k
「機械学習と因果推論」入門 ② 回帰分析から因果分析へ
masakat0
0
640
共感から、つくる: 変わり続ける自分と、誰かのための創造
micknerd
1
330
生成AIを授業の相棒にするデータサイエンス入門(「デジタル✕探究」イノベーターズフォーラム テクニカルセッション講演資料)
datascientistsociety
PRO
0
190
Curso de Consagração ao Sagrado Coração de Jesus - O Sagrado Coração na História (Aula 01)
cm_manaus
0
130
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
We部コミュニティスライド2026-04-24
junhat6
0
150
自己紹介 / who-am-i
yasulab
6
6.7k
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
[2026前期火5] 論理学(京都大学文学部 前期 第3回)「形式言語と四つのキーワード:メタ・構成・意味論・ハーモニー」
yatabe
0
380
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The browser strikes back
jonoalderson
0
1k
The Curious Case for Waylosing
cassininazir
0
340
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
290
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
エンジニアに許された特別な時間の終わり
watany
106
240k
Context Engineering - Making Every Token Count
addyosmani
9
860
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Navigating Weather and Climate Data
rabernat
0
180
How to Ace a Technical Interview
jacobian
281
24k
Transcript
1 25 マルコフ連鎖モンテカルロ法 の気持ち 慶應義塾大学理工学部物理情報工学科 渡辺
2 25 Markov Chain Monte Carlo (MCMC) method • 非常に効率が良い
• バイアスがない • 数値シミュレーションにおける「モンテカルロ法」と いえばこれ • 分子動力学法に比べてわかりにくい(※個人的な感想) • なぜマルコフ連鎖が必要なのか? • 詳細釣り合い条件とは何か? • そもそも何を計算しているのか? 疑問点 これらの疑問への回答を試みる
3 25 箱の中に原子を入れてしばらく放っておく 低温なら偏る (エネルギー重視) 高温ならばらける (エントロピー重視) この相転移の様子を調べたい
4 25 ひとつのセルに 2つの原子は入れない 近距離で斥力 中距離で引力 遠距離で 相互作用無し -ε 隣り合うとエネルギーが
εだけ下がる 隣接していないと 相互作用なし
5 25 ある状態のエネルギーをE、温度をTとすると、 その状態の出現確率は以下に比例する 𝑘𝐵 exp(−𝛽𝐸) ボルツマン定数 -ε exp(𝛽𝜖) 𝛽
= 1/𝑘𝐵 𝑇 逆温度 液相(左)が出現する確率は気相(右)が出現する確率の 倍 液相の出現確率の方が大きい
6 25 気相 液相 一つ一つの出現確率は高いが、 総数が少ない →エネルギー重視 →低温で支配的であろう 一つ一つの出現確率は低いが、 総数が多い
→エントロピー重視 →高温で支配的であろう エネルギーの温度依存性𝑈(𝑇)を知りたい まずは2原子系で考える
7 25 温度 エネルギー -ε 0 低温ではエネルギーの期待値は-εであろう 高温ではエネルギーの期待値は0であろう 中間の温度ではどうなっているのか? ?
8 25 状態𝑖におけるエネルギー 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖
温度𝑇におけるエネルギーの期待値 𝐸𝑖 𝑤𝑖 = exp(− 𝐸𝑖 𝑘𝑇 ) 状態𝑖が出現する重み 𝑝𝑖 = 𝑤𝑖 σ 𝑖 𝑤𝑖 状態𝑖をとる確率 これを様々な温度で計算したい
9 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 「状態の和」になっていると扱いが難しい
𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸) 「エネルギーに関する和」に取り直した • 同じエネルギーを持つ状態が多数ある • 出現確率はエネルギーにのみ依存する → 同じエネルギーを持つ状態について和をまとめる
10 25 𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸)
エネルギーに関する和 𝑔 𝐸 エネルギー𝐸をとる状態の数(Density of State, DoE) 𝑝 𝐸 = 𝑊 𝐸 𝑍 エネルギーが𝐸である(ひとつの)状態が出現する確率 𝑊 𝐸 = exp − 𝐸 𝑘𝑇 ボルツマン重み 𝑍 = 𝑖 𝑤𝑖 = 𝐸 𝑔 𝐸 𝑊 𝐸 全ての重みの和(分配関数)
11 25 気相 液相 通り 通り 周期境界条件 V=L x Lの格子を考える
2𝑉 𝑉 𝑉 − 1 2 − 2𝑉 𝑔 −𝜖 = 2𝑉 𝑔 0 = 𝑉 𝑉 − 1 2 − 2𝑉
12 25 𝑈 𝑇 = 𝐸 𝐸𝑔 𝐸 𝑝(𝐸)
= −𝜖𝑔 −𝜖 𝑤 −𝜖 + 0𝑔 0 𝑤(0) 𝑔 −𝜖 𝑤 −𝜖 + 𝑔 0 𝑤(0) 𝑔 −𝜖 = 2𝑉 𝑔 0 = 𝑉 𝑉 − 1 2 − 2𝑉 𝑤 −𝜖 = exp 𝜖 𝑘𝑇 𝑤 0 = 1 必要なものがそろっているので厳密に計算できる
13 25 20x20マスに2原子の場合 液相 気相 サイズが大きくなるほど、原子が増えるほど、 「確率の入れ替わり」が急峻に→相転移 温度が低い 温度が高い 𝐾
液相の出現確率 𝐾 = 𝜖 𝑘𝑇
14 25 3原子の場合、取り得るエネルギーは3種類になる -2ε -ε 0 𝑔 𝐸 3原子ならまだがんばれなくもないが、一般のN原子では絶望的 は一般には計算できない
15 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 状態が与えられたらエネルギーは計算できる
逆にエネルギーが与えられた時、そのエネルギーを持つ状態数はわからない 状態数がわからないので、状態𝑖が出現する確率𝑝𝑖 もわからない 𝑝𝑖 = 𝑤𝑖 σ 𝑖 𝑤𝑖 確率を知るには、重みの総和が必要 𝑖 𝑤𝑖 = 𝐸 𝑔 𝐸 𝑊 𝐸 ≡ 𝑍 重みの総和(分配関数)を求めるには 状態数𝑔(𝐸)が必要 状態の出現確率𝑝𝑖 がわからない状態で、以下の量を推定したい ※ gとZは等価(ラプラス変換の関係)
16 25 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 ランダムな状態𝑗を選ぶ
状態𝑗の重み𝑤𝑗 を計算する エネルギーの期待値を以下で近似する = σ𝑖 𝐸𝑖 𝑤𝑖 σ 𝑖 𝑤𝑖 ∼ σ𝑗 𝐸𝑗 𝑤𝑗 σ 𝑗 𝑤𝑗 全ての状態についての和 (厳密) ランダムに生成した状態についての和 (サンプリング)
17 25 問題点 • 温度が低い場合、ほとんどの寄与はエネルギーが低い状態からくる • 状態をランダムに生成すると、エネルギーが低い状態が選ばれる確率 が極めて低くなる • 極めて低確率で出現する状態が、極めて大きな重みを持つ
→ 収束に非常に多数の試行数が必要となる 𝑈 𝑇 ∼ σ𝑗 𝐸𝑗 𝑤𝑗 σ 𝑗 𝑤𝑗 𝑤𝑗 が大きい𝑗を引き当てないといけない 𝑤𝑗 が大きい𝑗の数は相対的に非常に少ない 運よくそんな𝑗を引き当てるまで待つ必要がある
18 25 単純サンプリングは、重みを無視して状態を生成していたのが問題 →重みに比例して状態を生成したい もし状態𝑗を、重み𝑤𝑗 に比例して生成できたら? 𝑝𝑗 = 𝑤𝑗 σ
𝑗 𝑤𝑗 状態𝑗の出現確率 𝑈 𝑇 = 𝑖 𝐸𝑖 𝑝𝑖 ∼ 1 𝑀 𝑗 𝑀 𝐸𝑗 M回状態を生成して エネルギーを平均するだけ しかし、重みの総和は計算できない 重みの総和を計算しないまま、重みに比例して状態を生成したい マルコフ連鎖モンテカルロ法
19 25 B 二つの状態A,Bを考える それぞれ重み𝑤𝐴 , 𝑤𝐵 を持っている 平衡状態における分布𝜋(𝐴)と𝜋(𝐵)が重みに比例するように遷移確率を決めたい A
𝑃(𝐴 → 𝐵) 𝑃(𝐵 → 𝐴) 平衡状態では 𝜋 𝐴 𝑃 𝐴 → 𝐵 = 𝜋(𝐵)𝑃 𝐵 → 𝐴 Aの人口 AからBに行く割合 AからBに行く人口 BからAに行く人口 𝑤𝐴 𝑤𝐵
20 25 B A 𝑃(𝐴 → 𝐵) 𝑃(𝐵 → 𝐴)
目的 𝜋 𝐴 ∝ 𝑤𝐴 , 𝜋 𝐵 ∝ 𝑤𝐵 となるように 𝑃 𝐴 → 𝐵 , 𝑃(𝐵 → 𝐴)を決める 𝜋 𝐴 𝑃 𝐴 → 𝐵 = 𝜋(𝐵)𝑃 𝐵 → 𝐴 より 𝑃 𝐴 → 𝐵 𝑃 𝐵 → 𝐴 = 𝜋 𝐵 𝜋(𝐴) = 𝑤𝐵 𝑤𝐴 を満たすように決めればよい → 詳細釣り合い条件 (Detailed balance condition) ※ 正確には、遷移可能なすべての状態間でこの式が成り立つことを詳細釣り合い条件と呼ぶ 𝑤𝐴 𝑤𝐵
21 25 𝑃 𝐴 → 𝐵 𝑃 𝐵 → 𝐴
= 𝜋 𝐵 𝜋(𝐴) = 𝑤𝐵 𝑤𝐴 を満たす遷移確率の決め方は一意に決まらない →適当に決める 熱浴法(heat-bath method) 𝑃 𝐴 → 𝐵 = 𝑤𝐵 𝑤𝐴 + 𝑤𝐵 , 𝑃 𝐵 → 𝐴 = 𝑤𝐴 𝑤𝐴 + 𝑤𝐵 素直に遷移確率も重みに比例させる メトロポリス法(Metropolis method) 重みが大きい場合は必ず遷移、そうでない場合は確率的に遷移させる 𝑃 𝐴 → 𝐵 = 1, 𝑃 𝐵 → 𝐴 = 𝑤𝐴 𝑤𝐵 𝑤𝐴 < 𝑤𝐵
22 25 • 適当な状態𝑥0 を決める • そこから遷移可能な状態𝑥′を適当に決める • 重み𝑤(𝑥0 )と𝑤(𝑥′)から、遷移確率を決める
• 遷移した場合は状態を更新、遷移しなかった場合は • 現在の状態のままとし、それを𝑥1 とする • 同様に𝑥𝑡 から𝑥𝑡+1 を生成する(連鎖) 十分に緩和した場合、状態𝑥の出現確率は重み𝑤 𝑥 に比例する(※) 状態𝑥から遷移可能な状態𝑦の間には、詳細釣り合いが満たされている → 状態𝑦の出現確率も𝑤 𝑦 に比例する 𝑥0 𝑥1 𝑥2 𝑥𝑡 … ※厳密に証明可能だが、今回は詳細に触れない
23 25 現在の状態𝑥𝑡 適当な原子を一つ選ぶ 適当に動かす 提案状態𝑥′ エネルギーを計算し、エネルギーから重み𝑤(𝑥′)を計算する 現在の重み𝑤 𝑥𝑡 と、提案状態の重み𝑤(𝑥′)から、遷移させるかどうか決める
遷移してもしなくても、それを次の状態𝑥𝑡+1 とする 温度が低い場合は、エネルギーの高い場合に遷移しづらくなる →エネルギーの低い状態にとどまり続ける →エネルギーの低い状態が提案される確率が高くなる →重みに比例して状態をサンプリングできる
24 25 遷移確率が現在の状態にのみ依存し、履歴に依存しないこと t-1 t t-2 過去にどのような 履歴をたどっていても 現在の状態が 同じなら
現在の状態𝑥𝑡 提案状態𝑥′ 𝑃 𝑥 → 𝑥′ 同じ提案状態への 遷移確率は等しい
25 25 マルコフ連鎖モンテカルロ法とは何か? 重みに比例するように提案状態を生成することで 効率よくサンプリングする手法 なぜマルコフ連鎖モンテカルロ法が必要か? 状態が与えられたらエネルギーの計算は容易だが、 逆にエネルギーが与えられた時の状態数の計算が 困難だから -ε
状態からエネルギーを 求めるのは簡単 -ε ・・・ エネルギーから状態数を 求めるのは困難