Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad

ハミルトニアンモンテカルロ法
基礎からのベイズ統計学 第5章
@hiro5585
Ver:1.0, edited in 2017/07/04

Ad

前回までのおさらい
事後確率に従うサンプルを発⽣させる⽅法としてMH法を学んだ。
尤度および事前確率のカーネルが分かれば適⽤ができる。
サンプルが得られると、任意の関数 の確率的平均を近似できる。
そのためには、詳細釣り合い条件 を満たす遷移核...

Ad

メトロポリスヘイスティング法の課題
MH法は遷移核を適切に選ばなければ上⼿く機能しなかった。
1. 受容率が低く、事後確率に従うサンプルを⼗分に得られない
2. 前後のサンプルの相関が⾼く、パラメータ空間を網羅できない
パラメータ数が少ない低次...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Check these out next

1 of 18 Ad
1 of 18 Ad
Advertisement

More Related Content

Advertisement

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

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

×