MCMCとサンプリング:メトロポリス・ヘイスティングスとギブス
解けない事後分布の積分も、賢く設計したマルコフ連鎖を歩かせれば近似できます。MH法の受理確率の正体と、HMCやR-hatで「本当に収束したか」を見抜く目が手に入ります。
- 1.MCMCは目的分布を定常分布に持つマルコフ連鎖を作り、長く歩かせてサンプルを集める。詳細釣り合い条件を満たせば、その連鎖は目的分布へ収束することが保証される。
- 2.MH法は提案分布から候補を引き、受理確率 min(1, 比) で受理/棄却する。正規化定数が比で打ち消えるため、未正規化の事後分布だけで動く。ギブスは各成分を条件付き分布から順に更新する受理率100%の特殊例。
- 3.HMC/NUTSは勾配を使い物理シミュレーションで遠くへ提案して相関を断つ。収束はR-hat(1.01以下が目安)と有効サンプルサイズで診断し、自己相関の強さを定量化する。
なぜサンプリングなのか:解けない積分への迂回路
ベイズ推論では、事後分布 p(θ | D) = p(D | θ)·p(θ) / p(D) の周辺尤度 p(D) = ∫ p(D | θ)·p(θ) dθ がほとんどの場合に解析的に計算できません。事後分布の形は分子の p(D | θ)·p(θ) までは書けるのに、それを正しい確率にする正規化定数(分母)が高次元の積分として立ちはだかる、という構図です。この壁は MLE・MAP・ベイズ推論の関係 で触れたベイズ予測分布の積分とまったく同じ根を持ちます。
MCMC(Markov Chain Monte Carlo)の発想は、積分を諦めて 目的分布からのサンプルで代用する ことにあります。事後分布から大量のサンプル θ_1, …, θ_n を引ければ、任意の期待値 E[f(θ)] = ∫ f(θ)·p(θ | D) dθ を標本平均 (1/n)·Σ f(θ_i) で近似できます。問題は「正規化されていない分布からどうやってサンプルを引くか」。その答えが、目的分布を定常分布に持つマルコフ連鎖を設計し、それを長く歩かせることです。
マルコフ連鎖と定常分布
マルコフ連鎖は「次の状態が現在の状態だけで決まり、それ以前の履歴に依存しない」確率過程です。状態間の遷移は遷移核 T(θ' | θ)(現在 θ から次 θ' へ移る確率)で記述します。ある分布 π がこの連鎖の 定常分布 であるとは、π に従う状態から1ステップ遷移しても分布が変わらないこと、すなわち次が成り立つことです。
π(θ') = ∫ T(θ' | θ)·π(θ) dθ (定常性:πはTの不動点)
MCMCの目標は逆問題です。サンプリングしたい目的分布 π = p(θ | D) を 先に決めておき、その π を定常分布に持つような遷移核 T を人工的に構成する。そんな連鎖を任意の初期点から走らせれば、十分なステップ後には状態の分布が π へ近づき、訪れた点列が π からのサンプルになります。
連鎖が初期点に依らず唯一の定常分布へ収束するには、技術的に三つの性質が要ります。既約性(任意の状態から任意の状態へ有限ステップで到達できる=空間が分断されない)、非周期性(決まった周期で同じ場所に戻る癖がない)、正再帰性(どの状態へも有限の平均時間で戻る)です。これらを満たす連鎖はエルゴード的と呼ばれ、エルゴード定理により標本平均が真の期待値へ概収束します。実務で連鎖が「収束しない」「混ざらない」と言うとき、多くは既約性が事実上壊れている(モードがエネルギー障壁で隔てられ行き来できない)状況を指します。
詳細釣り合い条件:可逆性が定常性を生む
π を定常分布に持つ T を直接作るのは難しいですが、もっと強い十分条件を使えば設計が一気に楽になります。それが 詳細釣り合い条件(detailed balance) です。
π(θ)·T(θ' | θ) = π(θ')·T(θ | θ') (任意の θ, θ' について)
これは「θ から θ' への正味の流れ」と「θ' から θ への正味の流れ」が各ペアで釣り合うことを意味し、可逆性とも呼ばれます。詳細釣り合いが定常性を含意するのは、両辺を θ で積分すれば確かめられます。右辺の ∫ π(θ')·T(θ | θ') dθ は T の確率としての規格化(∫ T(θ | θ') dθ = 1)から π(θ') になり、左辺の積分は定常性の式そのものになるからです。
詳細釣り合いは定常性の 十分条件であって必要条件ではない(HMCのように可逆でなくても定常分布を持つ手法はあります)点に注意が必要ですが、釣り合いという局所的なペアごとの条件に落ちるおかげで、遷移核を具体的に組み立てる出発点になります。
メトロポリス・ヘイスティングス法:受理確率の正体
MH法は、設計しやすい任意の 提案分布 q(θ' | θ) から候補を引き、それを確率的に受理/棄却することで、結果として詳細釣り合いを満たす連鎖を作ります。手順は次の通りです。
現在の状態 θ から1ステップ:
1. 候補 θ' を提案分布から引く: θ' ~ q(θ' | θ)
2. 受理確率を計算:
α = min(1, [π(θ')·q(θ | θ')] / [π(θ)·q(θ' | θ)] )
3. 確率 α で θ' を受理(次状態 = θ')、
確率 1−α で棄却(次状態 = θ のまま)
この α の形が肝です。受理確率に現れるのは π(θ') / π(θ) という 比 であり、π の正規化定数はこの比で完全に打ち消えます。だからこそMH法は、計算できない周辺尤度 p(D) を一切知らなくても、未正規化の p(D | θ)·p(θ) だけで動くのです。これがMCMCがベイズ推論で決定的に重要な理由です。
提案が対称(q(θ' | θ) = q(θ | θ')、たとえば現在地中心のガウス)なら q の比が1になり、受理確率は min(1, π(θ')/π(θ)) に簡約されます。これが元祖メトロポリス法で、「確率が上がる提案は必ず受理、下がる提案も比に応じて時々受理」という直感どおりの挙動になります。
提案のステップ幅は混合効率を左右します。幅が大きすぎると候補が裾の低確率域に飛び棄却ばかりになり、小さすぎると毎回受理されるが移動距離が短く相関が長引きます。ランダムウォークMHでは受理率を 0.234 付近 に調整するのが高次元での理論的な最適値として知られ、HMCでは 0.65〜0.8 程度が目安です。受理率はステップ幅チューニングの最初の指針になります。
試験や面接で問われる定番は「なぜMCMCは正規化定数なしで事後分布をサンプリングできるか」です。答えは受理確率が π の比 π(θ')/π(θ) の形を取り、正規化定数が分子分母で相殺するから、と一文で言えること。これにより p(D) の高次元積分を回避できる、という因果まで述べられると完答です。
ギブスサンプリング:受理率100%の特殊例
ギブスサンプリングは、多次元のパラメータ θ = (θ_1, …, θ_d) を一度に動かさず、各成分を 他の全成分を固定したときの条件付き分布 から順番に更新します。
反復 t で θ_1, …, θ_d を順に更新:
θ_1^(t) ~ p(θ_1 | θ_2^(t-1), …, θ_d^(t-1), D)
θ_2^(t) ~ p(θ_2 | θ_1^(t), θ_3^(t-1), …, D)
…
θ_d^(t) ~ p(θ_d | θ_1^(t), …, θ_{d-1}^(t), D)
ギブスは実はMH法の特殊ケースで、提案分布として条件付き分布そのものを使うと受理確率が常に1になる(必ず受理される)ことが示せます。棄却が起きないのが利点ですが、条件付き分布が解析的に既知(共役性などが効く)でなければ使えないという強い制約があります。また成分間の相関が強いと、軸に沿ってしか動けないギブスはジグザグに進んで混合が遅くなります。階層ベイズや潜在ディリクレ配分(LDA)のように条件付き分布がきれいに出るモデルで威力を発揮します。
| 手法 | 提案の作り方 | 受理判定 | 前提条件 | 弱点 |
|---|---|---|---|---|
| メトロポリス | 対称な提案分布から候補 | min(1, π比) | πの未正規化値が計算可能 | 高次元でステップ調整が難しい |
| MH(一般) | 任意の提案分布から候補 | min(1, π比×q比) | πとqが評価可能 | 提案設計に性能が依存 |
| ギブス | 条件付き分布から直接 | 常に受理(α=1) | 全条件付き分布が既知 | 成分相関が強いと混合遅い |
| HMC/NUTS | 勾配で軌道を数値積分 | min(1, ハミルトニアン比) | 対数密度が微分可能 | 勾配計算と実装が重い |
HMC / NUTS:勾配を使って遠くへ跳ぶ
ランダムウォーク型のMHやギブスは、提案が局所的なため高次元・強相関の分布で著しく混合が遅くなります。ハミルトニアンモンテカルロ(HMC) はこの欠点を、物理のアナロジーで克服します。サンプリングしたい変数 θ を「位置」、補助的に導入した運動量 p を加え、ポテンシャルエネルギーを U(θ) = −log π(θ) と定義します。すると (θ, p) はハミルトニアン H = U(θ) + K(p)(K は運動量の運動エネルギー)に従って運動する物理系とみなせます。
1ステップ:
1. 運動量 p をガウスから引く(系にランダムなキックを与える)
2. リープフロッグ法でハミルトン方程式を L ステップ数値積分し、
エネルギー一定の等高線に沿って (θ, p) を遠くまで運ぶ
3. 数値誤差を補正する受理判定: min(1, exp(H_old − H_new))
勾配 ∇log π(θ) が「確率の高い方向」を教えるため、HMCは裾で棄却を浪費せず、高確率域に沿って遠くまで一気に移動できます。これがランダムウォークの非効率を断つ仕組みです。提案は決定論的な軌道で生成されるため詳細釣り合いは満たしませんが、運動量反転を含む可逆な構成により正しい定常分布を保ちます。勾配を自動微分で得る点は深層学習と同じ基盤に立っています。
HMCの泣き所は軌道長 L(積分ステップ数)の手動調整でした。NUTS(No-U-Turn Sampler) は、軌道が折り返して「Uターン」を始めた瞬間を自動検出して積分を打ち切ることで、L のチューニングを不要にしました。Stan や PyMC、NumPyro が既定のサンプラーに NUTS を採用しているのはこのためです。
収束診断:歩かせただけでは信じられない
MCMCのサンプルは「十分歩けば」目的分布に従いますが、その「十分」を保証する一般的な停止条件はありません。そこで複数の診断指標で収束を経験的に確かめます。
まず連鎖の初期は初期点の影響を引きずるため、先頭の一定区間を バーンイン(warmup) として捨てます。残りについて、二つの主要指標を見ます。
- R-hat(Gelman-Rubin 統計量):複数本(通常4本以上)の連鎖を別々の初期点から走らせ、「連鎖間の分散」と「連鎖内の分散」の比から計算します。すべての連鎖が同じ分布に混ざっていれば両分散は一致して R-hat は1に近づきます。1.01以下 が収束の目安で、1.05を超えるなら未収束を疑い、サンプル数を増やすかモデルを見直します。複数連鎖が別々のモードに捕まっていると R-hat が大きくなり、既約性の破れを検知できます。
- 有効サンプルサイズ(ESS, Effective Sample Size):MCMCサンプルは隣接点が相関するため、
n個あっても独立サンプルn個分の情報はありません。自己相関を考慮した実効的な独立サンプル数が ESS です。ESS = n / (1 + 2·Σ ρ_k)(ρ_kはラグkの自己相関)の形で、相関が強いほど ESS は小さくなります。推定量の標準誤差は1/√(ESS)で効くので、ESS が小さければ歩数を増やす必要があります。
R-hat が1に近いのは「走らせた連鎖たちが互いに一致している」ことの証拠にすぎず、真の分布に到達した保証ではありません。すべての連鎖が同じ偽のモードに揃って捕まっていれば、互いに一致するため R-hat は1を示してしまいます。多峰性が疑われる分布では、初期点を大きくばらつかせる、複数モードを行き来できるよう温度を変える並列焼きなまし(parallel tempering)を併用する、トレースプロットを目視するといった多面的な確認が要ります。単一指標を妄信しないことが実務の鉄則です。
まとめ:賢い乱歩で積分を回避する
| 論点 | 要点 |
|---|---|
| 核心 | 目的分布を定常分布に持つマルコフ連鎖を設計し、長く歩かせてサンプルを得る |
| 設計原理 | 詳細釣り合い条件(π(θ)T(θ'|θ)=π(θ')T(θ|θ'))が定常性の十分条件 |
| MH法 | 提案を引き受理確率 min(1, π比×q比) で受理。正規化定数が相殺し未正規化分布で動く |
| ギブス | 各成分を条件付き分布から更新する受理率100%の特殊例。条件付き分布が既知のとき有効 |
| HMC/NUTS | 勾配で物理軌道を辿り遠くへ提案。高次元・強相関で高効率、NUTSは軌道長を自動調整 |
| 収束診断 | バーンイン後にR-hat(1.01以下)とESS(自己相関補正後の実効数)で確認 |
MCMCの本質は、解けない高次元積分を「目的分布から賢く歩いて集めたサンプル」で置き換えることにあります。MH法の受理確率が比の形を取ることで正規化定数を回避できる点が、ベイズ推論との相性を決定づけました。ギブスは条件付き分布が解ける構造、HMC/NUTSは微分可能で高次元な構造に強く、対象に応じて使い分けます。そして「歩かせた=収束した」ではないことを R-hat と ESS で常に疑う姿勢こそが、サンプリングを実務で使いこなす鍵です。この道具立ては、変分推論で事後を近似する VAE の数理(ELBO) や、不確実性の源を整理する 情報理論とエントロピー と並べて眺めると、「事後分布をどう扱うか」という一つの問いの異なる答えとして見通せます。
AI/機械学習 Article
MCMCとサンプリング:メトロポリス・ヘイスティングスとギブスを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
MCMC
比較で見る軸
難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5
導入後に効く点
MH法は提案分布から候補を引き、受理確率 min(1, 比) で受理/棄却する。正規化定数が比で打ち消えるため、未正規化の事後分布だけで動く。ギブスは各成分を条件付き分布から順に更新する受理率100%の特殊例。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- AI/機械学習
- タグ数
- 5
判断チェックリスト
- 自社の用途が「MCMC / ベイズ推論」に近いか確認する。
- 強みである「MCMCは目的分布を定常分布に持つマルコフ連鎖を作り、長く歩かせてサンプルを集める。詳細釣り合い条件を満たせば、その連鎖は目的分布へ収束することが保証される。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。