ハミルトニアンモンテカルロ法の導入の理由
HMC法(ハミルトニアンモンテカルロ法)はMH法(メトロポリスヘイスティング法)と比べて圧倒的に受容率の高いサンプリング手法です。
低次元であればMH法でも使えますが、10次元ぐらいになると、受容率の低さ故使い物になりません。
そこで、HMC法を導入します。
ハミルトニアンは物理学におけるエネルギーに対応する物理量です。
解析力学、量子力学で利用されますが、本記事では解析力学における性質を説明します。
ハミルトニアン
※以下で、ハミルトニアンについて説明しますが、厳密ではありませんので、詳しくは解析力学の書籍を参考にしてください。
坂を転げ落ちる物体を例にとります。
時間をとして、位置、速度、加速度は以下の関係式が成り立ちます。
図の赤い矢印は速度を表しています。
物体の質量をとして、運動量と力は以下のようになります。
位置エネルギーはポテンシャルエネルギーとも呼ばれます。
ポテンシャルエネルギーは坂の一番上にいる時が最大で、坂の一番下にいる時が最小です。
ポテンシャルエネルギーは力×移動距離で表されるので、以下のようになります。
ここで、は重力加速度と呼ばれる定数なので、の式変形でとしました。
物体の移動距離で表されます。
運動エネルギーも力×移動距離で表されるので、以下のようになります。
ポテンシャルエネルギーと運動エネルギーの和をハミルトニアンといいます。
摩擦や空気抵抗などがない理想状態では、物体はハミルトニアンが一定になるように運動します。
あとで、位置を母数空間に対応させ、高さを負の対数確率に対応させる予定ですので、
自然界とは異なり、以下のように高さを位置で表現することにします。
これにより、ポテンシャルエネルギーは以下のようになります。
このとき、ハミルトニアンは以下のようになります。
物体の運動は、ハミルトンの正準方程式と呼ばれる以下の微分方程式によって定められます。
このハミルトンの正準方程式が成り立つとき、ハミルトニアンは時間変化によらず、一定になります。
このことを確認してみます。
(13)の2行目から3行目の変形ではを代入しました。
(13)より、ハミルトンの正準方程式が成り立つとき、ハミルトニアンは時間変化によらず、一定になることが確認できました。
ここで、として、ハミルトンの正準方程式を書き直します。
を解析的に解くのではなく、繰り返して解くことを考えます。
オイラー法という手法は以下の方法です。
このオイラー法は、ハミルトニアンの保存の精度が良くないことが知られているので
リープフロッグ法と呼ばれる手法が用いられます。
リープフロッグ法は半単位時間離れた運動量を使って更新する手法です。
ここまで、は物理世界の実際の時間を表していました。
しかし、HMC法を考える時は確率密度関数内を1回遷移する際の時間になるため、を消します。
すると、ポテンシャルエネルギーと運動エネルギーは以下のようになります。
ポテンシャルエネルギーが位置の関数、運動エネルギーが運動量の関数になっていることが分かります。
この時、ハミルトニアンは以下のように、位置と運動量の関数になります。
位置と運動量からなる空間を位相空間と言います。
位相空間には、ハミルトニアンの等高線を描くことができます。
青色の点はリープフロッグ法で更新したです。等高線に沿って動いていることが図から分かります。
位相空間には可逆と体積保存という2つの性質があります。
可逆とは、運動している物体を任意の時間で止め、逆向きの同じ強さの運動量を与えると今来た経路を正確に逆戻りする性質です。
体積保存とは、位相空間内の流れは、すべての点で流れ込む量と流れ出る量が釣り合っているという性質です。
HMC法
はデータの集合、はパラメータとします。
我々が欲しいのは、事後分布に従うサンプルです。
事後分布とそれとは独立な標準正規分布との同時分布を考えます。
とは独立なので、からの乱数はからの乱数と同じです。
を式変形します。
なんと、ハミルトニアンが出てきました!
の4行目から5行目の式変形で対数事後分布をとおきました。
ということは、を物理における位置とみなしたということです。
乱数発生のイメージは次のようなものです。
物体に標準正規分布に従う初速度を与え、一定時間の経過後に止め、その位置を記憶します。
その位置から再び物体に標準正規分布に従う初速度を与え、一定時間の経過後に止め、その位置を記憶します。
これを繰り返します。
初速度を与えた瞬間の物体の状態をとし、時間後の遷移先での状態をとします。
この時、遷移確率は、位相空間の可逆と体積保存という性質により
と等しくなります。
はからへの遷移確率とからへの遷移確率が等しいことを表しています。(下図参照)
また、ハミルトニアンは変化しないので
となります。
より、
であり、詳細釣り合い条件が成り立っています。
リープフロッグ法では、を使って物体の移動をシミュレートしているので
数値計算上の誤差が生じます。これをMH法のように補正係数を使い、確率的補正します。
のは回目の点であり、はリープフロッグ法により遷移した回目の候補点です。
HMC法アルゴリズム
1: 初期値バーンイン期間を求めます。とします。
2: 独立な標準正規乱数を発生します。
3: リープフロッグ法で遷移させ、候補点を入手します。
4: 確率で受容し、そうでなければその場に留まります。
5: なら、終了します。
6: として、2へ戻ります。
HMC法の位相空間中の様子
HMC法でサンプリングしている様子をグラフに表します。
の●を決定します。●まで遷移します。
pを標準正規乱数で更新し、の●が決まります。●まで遷移します。
pを標準正規乱数で更新し、の●が決まります。
これを繰り返して、をサンプリングします。
偉人の名言
数学は孤立した学問ではなく、あらゆる人間の知識の基礎であり鍵である。
レオンハルト・オイラー