SlideShare a Scribd company logo
1 of 18
ハミルトニアンモンテカルロ法
基礎からのベイズ統計学 第5章
@hiro5585
Ver:1.0, edited in 2017/07/04
前回までのおさらい
事後確率に従うサンプルを発⽣させる⽅法としてMH法を学んだ。
尤度および事前確率のカーネルが分かれば適⽤ができる。
サンプルが得られると、任意の関数 の確率的平均を近似できる。
そのためには、詳細釣り合い条件 を満たす遷移核が必要である。
g(θ)
∫ g(θ)p(θ∣x)dθ = [g(θ)] ≈ g( )Eθ∼p(θ∣x)
∑
i
θi
メトロポリスヘイスティング法の課題
MH法は遷移核を適切に選ばなければ上⼿く機能しなかった。
1. 受容率が低く、事後確率に従うサンプルを⼗分に得られない
2. 前後のサンプルの相関が⾼く、パラメータ空間を網羅できない
パラメータ数が少ない低次元空間であれば遷移核は容易に分かるが、
数⼗以上の⾼次元空間だと、事後分布の形状⾃体の確認が難しくなる。
そこで、上記の課題を解決するのが ハミルトニアンモンテカルロ法である。
ハミルトニアンについて
物体のもつ⼒学的エネルギーを、位相空間で表現したものである。
位相空間とは、運動量と位置で張られる空間のことである。
エネルギー保存の法則より、ハミルトニアンは時間に関わらず ⼀定である。
この性質を利⽤して、上⼿く事後確率のサンプルを得る。
以後は、簡単のため物理学の厳密な説明は⾏わない。
ハミルトニアン = 力学エネルギー + 位置エネルギー
⼒学の復習:坂を転げ落ちる物体の例
坂を下るにつれて加速し、最下点で運動エネルギーは は最⼤になる。
⼀⽅で、位置エネルギー は最下点において最⼩になる。
物体の位置と運動量
逆に坂を上るにつれて減速し、最上点で運動エネルギーは は最⼩になる。
⼀⽅で、位置エネルギー は最上点において最⼤になる。
K
U
K
U
⼒学の復習:速度と加速度
速度 および、加速度 は以下の式で表され、
それぞれ、位置 の関数となっている。
速度 は、微⼩時間における位置 の 変化量である。
加速度 は、微⼩時間における速度 の 変化量である。
v(t) a(t)
θ(t)
v(t) =
dθ(t)
dt
a(t) = =
dv(t)
dt
θ(t)d
2
dt
2
v(t) θ(t)
a(t) v(t)
⼒学の復習:運動エネルギーと位置エネルギー
運動エネルギー および、位置エネルギー は以下で表される。
運動量 の式を⽤いて、変形を⾏った。
は重⼒加速度を表す。
K(t) U (t)
K(t) = mv(t =
1
2
)
2
p(t)
2
2m
p(t) = mv(t)
U (t) = mgh(t)
g
ハミルトニアンとエネルギー保存則
ハミルトニアン は以下のように表され常に⼀定である。
ここでは、位置 によって、⾼さ が定まるとする。
また、物体の質量を 、重⼒加速度を とする。
H(t)
H(t) = K(t) + U (t)
= + mgh(t)
p(t)
2
2m
θ(t) h(t)
m = 1 g = 1
H(t) = p(t + h(t)
1
2
)
2
= p(t + h(θ(t))
1
2
)
2
ハミルトニアンと位相空間
位置 と、運動量 で表された空間を位相空間と呼ぶ。
物体はハミルトニアンが⼀定となるように動き位相空間で等⾼線を描く。
⼀周が、物体が⾏って戻って来るまでを表す。
ハミルトニアン 上での物体の移動
θ(t) p(t)
H(t) = 24
ハミルトンの運動⽅程式
物体の運動は以下の微分⽅程式によって定められる。
上式はハミルトニアンが⼀定であることから導ける。
ma(t) = = −
dp(t)
dt
dU (θ(t))
dθ(t)
v(t) = =
dθ(t)
dt
dK(p(t))
dp(t)
運動⽅程式の数値演算による近似:運動量
運動量の微⼩変化を漸化式として近似し、次の時刻の運動量を求める。
= −
dp(t)
dt
dU (θ(t))
dθ(t)
= − (θ(t))
p(t + 1) − p(t)
dt
h
′
p(t + 1) = p(t) − (θ(t))dth
′
運動⽅程式の数値演算による近似:位置
位置の微⼩変化を漸化式として近似し、次の時刻の位置を求める。
しかしながら、この前進差分による近似は 演算誤差が⼤きい。
= −
dθ(t)
dt
dK(p(t))
dp(t)
= p(t = p(t)
θ(t + 1) − θ(t)
dt
d
dp(t)
1
2
)
2
θ(t + 1) = θ(t) + p(t)dt
⾼精度近似:リープフロッグ法
運動量 の変化量を ステップにして、位置 を⾼精度に得る。
最終的に、位置 を得たいパラメータのサンプルと⾒⽴てる。
⼀⽅で、位置エネルギー(⾼さ)を事後尤度 として読みかえる。
p
1
2
θ
θ
p(t + ) = p(t) − (θ(t)) dt
1
2
h
′
1
2
θ(t + 1) = θ(t) + p(t + )dt
1
2
位相空間からのサンプリング:事後確率(状態)
位相空間より位置 とそれを次に計算するための運動量 を得る必要がある。
同じハミルトニアン上での異なる点の事後確率 は同じである。
同じハミルトニアン上での物体の遷移
θ p
f(θ, p∣x) = f( , ∣x)θ
′
p
′
位相空間からのサンプリング:遷移核
物体をはじき運動量を与えることを考えると横軸 上で物体が遷移する。
遷移先のハミルトニアンは運動量 によって決まる。
低いところからは ⼤きな運動量が必要で、逆は ⼩さな運動量で済む。
異なるハミルトニアンへの物体の遷移
p
p
f(θ, p∣ , ) = f( , ∣θ, p)θ
′
p
′
θ
′
p
′
物体に与える運動量とハミルトニアンの関係
物体をはじくための運動量は標準正規分布でランダムに決定する。
そのため、事後確率において運動量 と位置 は独⽴である。
これより、先ほど考えていた事後確率はハミルトニアンと ⼀致する。
ただし、 のように 事後確率を ⾼さと置いている。
p θ
f(p) = N (p∣0, 1) ∝ exp(− )
1
2
p
2
f(θ, p∣x) = f(θ∣x)f(p)
f(θ, p∣x) = exp(logf(θ∣x) + logf(p)) ∝ exp(−h(θ∣x) − )
1
2
p
2
= exp(−H(θ, p))
h(θ∣x) = −logf(θ∣x)
ハミルトニアンモンテカルロ法
HMC法におけるサンプルの棄却率 は、以下のように定められる。
の間でランダムに選んできた数字より が⾼ければ受容する。
しかし、上式は理論的には となり、必ず受容するはずである。
ただし、物体の遷移はリープフロッグ法で計算しているため 誤差が⽣じる。
そのため、わずかに棄却されるが、ほぼ正しいサンプルとして受容される。
r
r = =
f( , ∣θ, p)f(θ, p∣x)θ
′
p
′
f(θ, p∣ , )f( , ∣x)θ
′
p
′
θ
′
p
′
f(θ, p∣x)
f( , ∣x)θ
′
p
′
=
exp(−H(θ, p))
exp(−H( , ))θ
′
p
′
= exp(H( , ) − H(θ, p))θ
′
p
′
0から1 r
r = 1
HMC法を⽤いた正規分布の推定
⾝⻑が平均 、標準偏差が の100⼈のデータ がある。
HMC法で1万サンプルを取得して正規分布の と を推定する。
今回は、事前確率を⼀様分布と適当において計算して、評価を⾏う。
168.9 6.98 0.71 2.74
結果、受容率が で真値とほぼ正しい結果が得られている。
また、パラメータの事後標準偏差が得られており、特性が読み取れる。
170cm ±7cm x
μ σ
μMAP σMAP std( )μMAP std( )σMAP
100%

More Related Content

What's hot

統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-Shiga University, RIKEN
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1matsuolab
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデルMasahiro Suzuki
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話Classi.corp
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章Hakky St
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説Shiga University, RIKEN
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process ModelsDeep Learning JP
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 

What's hot (20)

階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
MICの解説
MICの解説MICの解説
MICの解説
 
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 

基礎からのベイズ統計学第5章