Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
Search
kaityo256
PRO
March 03, 2022
Education
3.4k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マルコフ連鎖モンテカルロ法の気持ち / Markov Chain Monte Carlo
マルコフ連鎖モンテカルロ法はどういうものか、なぜ必要かの簡単な説明。
kaityo256
PRO
March 03, 2022
More Decks by kaityo256
See All by kaityo256
What is XAI?
kaityo256
PRO
0
170
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.8k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
6k
この講義について / 00-setup
kaityo256
PRO
2
510
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
420
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
670
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
390
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
480
バージョン管理とは / 01-a-vcs
kaityo256
PRO
2
470
Other Decks in Education
See All in Education
2026年度春学期 統計学 第10回 分布の推測とは - 標本調査,度数分布と確率分布 (2026. 6. 4)
akiraasano
PRO
0
210
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
330
sepm-training-sample
levii
0
200
Fundamentos, Caracteristicas y Aplicaciones de los Modulos NumPy , Matplotlib y Pandas
robintux
0
250
マークシート試験のTeX言語を用いた自動採点について
doratex
0
3.1k
新入社員を「あの子」と呼ばない運動 -PBL その前に- / Stop Calling New Hires "Kids"
aokiplayer
2
840
AIの力を100%引き出すために
frievea
0
500
良書紹介08_ 頭のいい子がやっているすごいグラフの読み方
bunnchinn3
0
160
[2026前期火5] 論理学(京都大学文学部 前期 第14回)「計算は、証明ではない——ハルシネーションを三層ハーモニーで診る」
yatabe
0
250
【ZEPメタバース校舎操作ガイド】
ainischool
0
110
データマネジメント試験対策教材1〜データマネジメント基礎〜
yoshimura_datam
1
720
AIってなぁに?
kenichiota0711
0
790
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Automating Front-end Workflow
addyosmani
1369
210k
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 マルコフ連鎖モンテカルロ法とは何か? 重みに比例するように提案状態を生成することで 効率よくサンプリングする手法 なぜマルコフ連鎖モンテカルロ法が必要か? 状態が与えられたらエネルギーの計算は容易だが、 逆にエネルギーが与えられた時の状態数の計算が 困難だから -ε
状態からエネルギーを 求めるのは簡単 -ε ・・・ エネルギーから状態数を 求めるのは困難