「パターン認識と機械学習」 読書会
                               第11章 サンプリング法
                       § 11.5 ハイブリッドモンテカルロアルゴリズム
                               § 11.6 分配関数の推定

                              Twitter ID: wk77




PRML § 11.5 - § 11.6                               p. 1
§ 11.5 ハイブリッドモンテカルロアルゴリズム
 • Metropolis アルゴリズムの大きな制限
     状態空間の探索が非効率的な、
      -


     ランダムウォークの振る舞いを示す可能性がある
   - 単純に大きなステップにしても、


     棄却率が高くなるだけで問題解決にならない
 • ハイブリッドモンテカルロアルゴリズム
      -   棄却確率を小さく保ったまま
     システムの状態に大きな変化を起こすことができる
   - 状態変数の対数確率の勾配が容易に求められる、


     連続変数の分布に対して適用可能
 • 本節は自己完結的で、物理学の背景知識は必要でない

PRML § 11.5 - § 11.6          p. 2
§ 11.5.1 力学系
 • 確率的サンプリングへの力学的アプローチ
      -   ハミルトン力学の下で時間発展する
          物理システムの振る舞いのシミュレーションに起源がある
 • 目的は、与えられた確率分布からのサンプリング
 • ハミルトン力学の枠組みは、
   確率的シミュレーションをハミルトン系の形に
   あてはめることにより活用される




PRML § 11.5 - § 11.6               p. 3
位置変数、運動量変数、位相空間
 • τ で表される連続時間の下で、
   状態変数 z = {zi} の時間発展を考える
 • z を位置変数とし、z の τ に関する 2 次の微分方程式
   により、古典力学の第ニ法則を表現できる
           ex)         (質量 m = 1 として考える)
 • 位置変数 z の時間変化率に対応する、運動量変数


     を導入することで、前述の 2 次の微分方程式を、
     対になる 2 つの 1 次の微分方程式にできる
           ex)
 • 位置変数と運動量変数の結合空間を、位相空間と呼ぶ
PRML § 11.5 - § 11.6                       p. 4
確率分布のポテンシャルエネルギーによる表現
 • 一般性を失うことなしに、確率分布 p(z) を



     の形に書くことができる
 • E(z) は状態 z における、
   系のポテンシャルエネルギーと解釈される
      -   全エネルギーではない。定義より E(z) = - ln p(z) - ln Zp
 • 系の加速度は運動量の変化率であり、



     作用する力で与えられ、ポテンシャルエネルギーの
     勾配の符号を逆にしたものとなる
PRML § 11.5 - § 11.6                             p. 5
例:ガウス分布




 • 平均 0 分散 σ2 の一次元ガウス分布(図は σ=2.0)
       E(z)            p(z)




PRML § 11.5 - § 11.6                p. 6
ハミルトン力学の枠組みを用いて定式化し直す
 • 前述の力学系を定式化し直す
 • 運動エネルギー K(r) を次式で定義する


 • 系の全エネルギーは、ポテンシャルエネルギーと
   運動エネルギーの和であり、ハミルトン関数と言う


 • 前述の式から、力学系をハミルトン方程式で表せる




PRML § 11.5 - § 11.6         p. 7
ハミルトン関数の性質(1)
 • この力学系の時間発展において、
   ハミルトン関数 H の値は一定である




 • ハミルトン力学系の時間発展において、
   位相空間の体積が保存される=リューヴィルの定理




PRML § 11.5 - § 11.6         p. 8
ハミルトン関数の性質(2)
 • 変数 (z, r) の空間内の領域を、
   ハミルトン方程式に従って時間発展させたとき、
   その形は変化するが体積は変化しない
 • 流れ場(位相空間における位置の変化率)が



     で与えられ、この場の div が 0 になることでわかる




PRML § 11.5 - § 11.6                p. 9
参考)z のみから p(z) を求めてみる
 • 前述の p(z) は位置エネルギー E(z) だけに依存する
      -   後述のハミルトニアン MC は p(z, r) であることに注意
      -   p(z) を生成する更新則により z を更新する訳ではない
      -   一次元ガウス分布を例に σ を与えた上で z を更新する
      -   z のとりえた範囲内(初期値依存)で p(z) は正規分布の形
                              sigma <- 2.0;
                              z <- 5.0;
                              r <- 0.0;
                              epsilon <- 0.1;
                              trial <- 100;
                              E <- function(z) (z^2)/(2*sigma^2);
                              Zp <- sqrt(2*pi)*sigma;
                              p <- function(z) 1/Zp * exp(-E(z));
                              force <- function(z) -1/(sigma^2)*z;
                              zList <- z;
                              for (i in 1:trial) {
                                r <- r + epsilon * force(z);
                                z <- z + epsilon * r;
                                zList <- append(zList, z);
                              }
                              hist(zList);
                              plot(zList, p(zList));



PRML § 11.5 - § 11.6                                      p. 10
位相空間の上での同時分布
 • ここで、全エネルギーがハミルトン関数である
   位相空間の上での同時分布、すなわち


     で与えられる分布を考える(p(z)でないことに注意)
      -   体積の保存と H の保存という 2 つの結果から、
          ハミルトン力学が p(z, r) を不変にすることが導かれる
      -   H が近似的に一定である位相空間の小さな領域は、
          有限時間の時間発展をしても、体積も H の値も不変で
          H のみの関数である確率密度も変化しない
 • H は不変だが、z と r は変化するので、この力学を
   有限の時間区間で積分すれば、ランダムウォークを
   避け、系統的な方法で z に大きな変化を起こせる
PRML § 11.5 - § 11.6                       p. 11
参考)p(z, r) を計算してみる
 • p(z, r) を E(z) + K(r) から計算する
      -   一次元ガウス分布(ZH = 2πσ)
      -   …検討中
                       sigma <- 2.0;
                       z <- 10.0;
                       r <- 0.0;
                       epsilon <- 0.01;
                       trial <- 10000;
                       H <- function(z_, r_) 1/(2*sigma^2)*(z_^2) +
                       1/2*(r_^2);
                       Zh <- 2*pi*sigma;
                       p <- function(z_, r_) (1/Zh) * exp(-H(z_, r_));
                       force <- function(z) -1/(sigma^2)*z;
                       zList <- z;
                       rList <- r;
                       for (i in 1:trial) {
                         r <- r + epsilon * force(z);
                         z <- z + epsilon * r;
                         zList <- append(zList, z);
                         rList <- append(rList, r);
                       }
                       plot(zList, rList);
                       plot(zList, p(zList, rList) );




PRML § 11.5 - § 11.6                                                 p. 12
エルゴード的なサンプリングスキーム
 • H の値が一定なので、ハミルトン力学系の時間発展は
   p(z, r) からエルゴード的にサンプリングしない
 • エルゴード的にサンプリングするために、
   分布 p(z, r) を不変に保ちつつ H の値を変える、
   位相空間での追加的な移動を導入する
 • 最も簡単な方法が、r の値を z を条件とする分布から
   抽出したもので置き換えることである
      -   これはギブスサンプリングの1ステップと見なせる
      -   求めたい分布も不変にすることができる
      -   z と r は分布 p(z, r) で独立なことに注意すると、
          条件付き分布 p(z|r) はガウス分布であり、
          容易にサンプリングできることがわかる
PRML § 11.5 - § 11.6                        p. 13
ハミルトン方程式の数値積分 (1)
 • このアプローチを実際に応用するには、
   リューヴィルの定理が厳密に成立するように、
   ハミルトン方程式の数値積分を行う必要がある
 • リープフロッグ法はその実現方法の一つである


      -   現在の位置から現在の加速度を求める
      -   現在の加速度により、半ステップ後の運動量を求める


      -   半ステップ後の運動量により、1ステップ後の位置を求める


      -   1ステップ後の位置から1ステップ後の加速度を求める
      -   1ステップ後の加速度により、1ステップ後の運動量を求める
PRML § 11.5 - § 11.6                     p. 14
ハミルトン方程式の数値積分 (2)
 • 上図の計算の繰り返しは、下図のように省略できる
     経過時間 (単位は ε)      0   0.5   1   1.5   2
          位置変数 z       ①         ④         ⑧
         運動量変数 r           ③     ⑥   ⑦     ⑩
            加速度        ②         ⑤         ⑨

     経過時間 (単位は ε)      0   0.5   1   1.5   2
          位置変数 z       ①         ④         ⑦
         運動量変数 r           ③         ⑥
            加速度        ②         ⑤         ⑧

 • 位置変数と運動量変数の一連の更新は、
   互いを飛び越えて進んでいくことがわかる
 • 離散近似に由来する、連続時間の力学系との誤差の
   影響を、ハイブリッドMCで取り除く方法を後述する

PRML § 11.5 - § 11.6                           p. 15
ハミルトン力学系における勾配情報の利用
 • ハミルトン力学系による方式は
   基本的な Metropolis アルゴリズムと異なり、
   分布自身のみならず、
   確率分布の対数の勾配に関する情報も使える
 • 勾配の情報が得られるほとんどの場合、
   それを利用することが大きな利点となる
      -   D 次元の空間で勾配を求める追加の計算コストは、
          ハミルトン関数の値を求めることと比較して、
          普通は D に依存しない定数倍である
      -   ハミルトン関数から得られるスカラー値 1 個に比べて、
          D 次元の勾配ベクトルは D 個の情報を持っている


PRML § 11.5 - § 11.6                    p. 16
§ 11.5.2 ハイブリッドモンテカルロアルゴリズム
 • 非ゼロのステップサイズ ε に対して、
   リープフロッグ法は、積分結果に誤差をもたらす
 • ハイブリッドモンテカルロアルゴリズム (以下 HMA)
      -   ハミルトン力学と Metropolis アルゴリズムを組み合わせ、
          離散化に伴うあらゆるバイアスを取り除く
      -   運動量変数 r の確率的な更新と、リープフロッグ法による
          ハミルトン力学系の更新を交互に行う
 • リープフロッグ法を適用して得られる状態候補が、
   ハミルトン関数 H の値に基づく
   Metropolis 規準に従って、受理または棄却される



PRML § 11.5 - § 11.6                     p. 17
候補ステップの受理
 • (z,r) が初期状態で、(z*,r*) が積分後の状態とする
 • 積分後の候補状態は、確率


     で受理される




 • もしリープフロッグ積分がハミルトン力学を完全に
   シミュレーションするとしたら、H が不変なので、
   このような全ての候補ステップは常に受理されるが、
     実際には数値積分誤差で H が減少することがある

PRML § 11.5 - § 11.6             p. 18
Metropolis 規準でバイアスを取り除く(1)
 • 実際には数値積分誤差により H が減少することが
   あるので、Metropolis 規準でバイアスを取り除く
      -   得られるサンプルが元の分布から抽出されることを保証
 • 積分の更新式が詳細釣り合い条件を満たすよう、
   リープフロッグスキームを以下のように修正して実現
 • 積分の各 1 ステップを開始する前に
   時間が進む方向(+ε)に積分するか、
   時間が戻る方向(ーε)に積分するかを、
     同一確率でランダムに選択する
      -   リープフロッグ積分法は時間に対して可逆なため、
          +ε で積分した効果と、ーε で積分した効果とが
          正確に打ち消しあう
PRML § 11.5 - § 11.6                  p. 19
Metropolis 規準でバイアスを取り除く(2)
 • リープフロッグ積分の +ε ステップ(再掲)




      -   zi か ri のどちらかを、他の変数の関数となる量だけ更新
      -   位相空間の領域を歪めるが、体積は変化させない




PRML § 11.5 - § 11.6                       p. 20
Metropolis 規準でバイアスを取り除く(3)
 • 前述の性質から、詳細釣り合い条件の成立を示す
      -   位相空間の小さな領域 R を考える
      -   +ε の L 回のリープフロッグ更新で、R が R' に写像される
           • R と R' は同じ体積 δV を持つ

      -
          初期点を分布 (11.63)
          から選び、L 回の更新を行うと、
          領域 R から始めて R' へと至る確率 p(R)δV ½ A(R', R) は



           係数 ½ は +ε で積分することを選択した確率
            •
      -   同様に、領域 R' から始めて R へと至る確率は



PRML § 11.5 - § 11.6                            p. 21
Metropolis 規準でバイアスを取り除く(4)
 • R から R' へ至る確率


     と、R' から R へ至る確率


     とが等しい
      -   H(R) = H(R') のときは自明
      -   H(R) > H(R') のとき
           • R から R' へ至る確率内の min 関数は exp(H(R)-H(R'))
           • R' から R へ至る確率内の min 関数は 1



      -   H(R) < H(R') のときも同様に解ける
 • したがって、詳細釣り合い条件が成り立つ
PRML § 11.5 - § 11.6                              p. 22
リープフロッグ法のステップサイズを可変化する
 • 「リープフロッグ法で数値積分を行うとき、
   有限回の繰り返しの後で開始点に戻ってくる例を
   作ることは難しくない」
      -   (11.70) 式で円周上を1周してきたときのこと?
      -   +ε ステップの後に -ε ステップを行った場合?
           • ランダムウォーク的になり探索範囲が狭まらないか?

 • 各リープフロッグ積分の前で、
   ステップサイズの大きさを、
   ある小さな範囲からランダムに選択することで、
   容易に避けることができる



PRML § 11.5 - § 11.6                    p. 23
多変量ガウス分布への適用(1)
 • 独立な要素を持つガウス分布 p(z) を考える
 • ハミルトン関数は


      -   ハイブリッドMCは回転等方性を持つので、
          相関がある要素を持つガウス分布にも適用できる
 • 候補点の受理と棄却は、H の値に基づいて行われる
      -   リープフロッグ積分の間、zi と ri は独立に時間発展する
      -   どれか 1 つの変数にでも大きな積分誤差があれば、
          高い棄却率を招く




PRML § 11.5 - § 11.6                       p. 24
多変量ガウス分布への適用(2)
 • HMC におけるリープフロッグ積分の目的は、
   位相空間内を初期状態から比較的独立な新しい状態へ
   大きく移動させつつ、高い受理確率を実現させること
      -   離散積分が連続時間力学の良い近似であるためには、
          積分のスケール ε は、ポテンシャルが有意に変化する
          最も短い長さスケールより小さい必要がある
      -   これは σi のうち最も小さな値 σmin に支配される
      -   σmax / σmin のオーダーの繰り返し回数だけ積分を続ける
 • 分散 s2 の等方ガウス分布への Metropolis 法の適用
      -   高い棄却率を避けるため、ステップ値のオーダーは σmin
      -   状態空間の探索はランダムウォークで進み、おおよそ独立
          な状態に達するまでにオーダー (σmax / σmin)2 のステップ

PRML § 11.5 - § 11.6                         p. 25
§ 11.6 分配関数の推定
 • サンプリングアルゴリズムのほとんどは、
   定数倍の係数を除いた確率分布の関数形だけに注目


 • 分配関数とも呼ばれる正規化定数 ZE は、
   p(z) からサンプリングを行うためには必要ない
 • しかし、ZE の値はモデルエビデンスを表すため、
   ベイズモデルを比較するときに便利であり、
   この値を知る方法が関心の対象となる
 • z の状態空間上で exp(-E(z)) の和を取ったり
   積分したりして直接 ZE を計算することは困難と仮定

PRML § 11.5 - § 11.6          p. 26
モデルの比較に使うのは分配関数の比率
 • モデルの比較のために実際に必要になるのは、
   2つのモデルの分配関数の比率である
 • この比率に事前分布の比率を掛けることで、
   事後分布の比率を得て、
   モデル選択やモデル平均に用いる




PRML § 11.5 - § 11.6       p. 27
分配関数の比率を重点サンプリングで推定(1)
 • 分配関数の比率を推定する方法の一つとして、
   エネルギー関数 G(z) を持つ分布からの
   重点サンプリングを用いる方法がある
      -   z(l) は、pG(z) で定義される分布から抽出されたサンプル
      -   分布 pG が解析的に計算できるなら、ZE そのものが求まる




PRML § 11.5 - § 11.6                     p. 28
分配関数の比率を重点サンプリングで推定(2)
 • 重点サンプリングの分布 pG が、分布 pE に近く、
   比率が大きく変動しない場合は精度が良いが、
   実際には、複雑な種類のモデルに対しては、
   重点サンプリングに適した、
     解析的に指定された分布はすぐには見つからない
 • 代わりに、マルコフ連鎖から得たサンプルを利用する
      -   マルコフ連鎖の遷移確率 T(z,z')
      -   サンプル集合 z(1), ... , z(L)
      -   サンプリング分布は




          のように表され、直接 (11.72) で用いることができる
PRML § 11.5 - § 11.6                      p. 29
単純な分布と複雑な分布とを補完する連鎖(1)
 • 複雑な分布の分配関数の値を求めたい
      -   比較的単純な分布でしか分配関数の値を直接計算できない
      -   2つの分配関数の比率を推定する方法は、
          2つの対応する分布が十分に近くなければならない
           • 分配関数の比率を直接求める試みは困難

 • 連鎖 (chaining) と呼ばれる方法で扱うことができる
 • 単純な分布 p1(z) と
   複雑な分布 pM(z) の間を補完する、
   一連の中間の分布 p2, ... , pM-1 を導入する



 • 中間の比率は前述のモンテカルロ法を用いて決定する
PRML § 11.5 - § 11.6               p. 30
単純な分布と複雑な分布とを補完する連鎖(2)
 • 中間の系列を構築する方法の一つは、
   連続パラメータ 0≦α≦1 を含み、
   2つの分布の間を補完するエネルギー関数


     を用いることである
 • 連鎖における中間の比率をMCにより見つける
      -   各比率に対してマルコフ連鎖を再スタートするより、
          単一のマルコフ連鎖を実行するほうが効率的である
      -   最初に系 p1 に対してマルコフ連鎖を実行し、
          適切なステップ数の後で系列内の次の分布に移る
      -   しかし、各中間分布でのサンプリングで、
          系は平衡分布に近く保たれる必要がある
PRML § 11.5 - § 11.6                 p. 31

Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)

  • 1.
    「パターン認識と機械学習」 読書会 第11章 サンプリング法 § 11.5 ハイブリッドモンテカルロアルゴリズム § 11.6 分配関数の推定 Twitter ID: wk77 PRML § 11.5 - § 11.6 p. 1
  • 2.
    § 11.5 ハイブリッドモンテカルロアルゴリズム •Metropolis アルゴリズムの大きな制限 状態空間の探索が非効率的な、 - ランダムウォークの振る舞いを示す可能性がある - 単純に大きなステップにしても、 棄却率が高くなるだけで問題解決にならない • ハイブリッドモンテカルロアルゴリズム - 棄却確率を小さく保ったまま システムの状態に大きな変化を起こすことができる - 状態変数の対数確率の勾配が容易に求められる、 連続変数の分布に対して適用可能 • 本節は自己完結的で、物理学の背景知識は必要でない PRML § 11.5 - § 11.6 p. 2
  • 3.
    § 11.5.1 力学系 •確率的サンプリングへの力学的アプローチ - ハミルトン力学の下で時間発展する 物理システムの振る舞いのシミュレーションに起源がある • 目的は、与えられた確率分布からのサンプリング • ハミルトン力学の枠組みは、 確率的シミュレーションをハミルトン系の形に あてはめることにより活用される PRML § 11.5 - § 11.6 p. 3
  • 4.
    位置変数、運動量変数、位相空間 • τで表される連続時間の下で、 状態変数 z = {zi} の時間発展を考える • z を位置変数とし、z の τ に関する 2 次の微分方程式 により、古典力学の第ニ法則を表現できる ex) (質量 m = 1 として考える) • 位置変数 z の時間変化率に対応する、運動量変数 を導入することで、前述の 2 次の微分方程式を、 対になる 2 つの 1 次の微分方程式にできる ex) • 位置変数と運動量変数の結合空間を、位相空間と呼ぶ PRML § 11.5 - § 11.6 p. 4
  • 5.
    確率分布のポテンシャルエネルギーによる表現 • 一般性を失うことなしに、確率分布p(z) を の形に書くことができる • E(z) は状態 z における、 系のポテンシャルエネルギーと解釈される - 全エネルギーではない。定義より E(z) = - ln p(z) - ln Zp • 系の加速度は運動量の変化率であり、 作用する力で与えられ、ポテンシャルエネルギーの 勾配の符号を逆にしたものとなる PRML § 11.5 - § 11.6 p. 5
  • 6.
    例:ガウス分布 • 平均0 分散 σ2 の一次元ガウス分布(図は σ=2.0) E(z) p(z) PRML § 11.5 - § 11.6 p. 6
  • 7.
    ハミルトン力学の枠組みを用いて定式化し直す • 前述の力学系を定式化し直す • 運動エネルギー K(r) を次式で定義する • 系の全エネルギーは、ポテンシャルエネルギーと 運動エネルギーの和であり、ハミルトン関数と言う • 前述の式から、力学系をハミルトン方程式で表せる PRML § 11.5 - § 11.6 p. 7
  • 8.
    ハミルトン関数の性質(1) • この力学系の時間発展において、 ハミルトン関数 H の値は一定である • ハミルトン力学系の時間発展において、 位相空間の体積が保存される=リューヴィルの定理 PRML § 11.5 - § 11.6 p. 8
  • 9.
    ハミルトン関数の性質(2) • 変数(z, r) の空間内の領域を、 ハミルトン方程式に従って時間発展させたとき、 その形は変化するが体積は変化しない • 流れ場(位相空間における位置の変化率)が で与えられ、この場の div が 0 になることでわかる PRML § 11.5 - § 11.6 p. 9
  • 10.
    参考)z のみから p(z)を求めてみる • 前述の p(z) は位置エネルギー E(z) だけに依存する - 後述のハミルトニアン MC は p(z, r) であることに注意 - p(z) を生成する更新則により z を更新する訳ではない - 一次元ガウス分布を例に σ を与えた上で z を更新する - z のとりえた範囲内(初期値依存)で p(z) は正規分布の形 sigma <- 2.0; z <- 5.0; r <- 0.0; epsilon <- 0.1; trial <- 100; E <- function(z) (z^2)/(2*sigma^2); Zp <- sqrt(2*pi)*sigma; p <- function(z) 1/Zp * exp(-E(z)); force <- function(z) -1/(sigma^2)*z; zList <- z; for (i in 1:trial) { r <- r + epsilon * force(z); z <- z + epsilon * r; zList <- append(zList, z); } hist(zList); plot(zList, p(zList)); PRML § 11.5 - § 11.6 p. 10
  • 11.
    位相空間の上での同時分布 • ここで、全エネルギーがハミルトン関数である 位相空間の上での同時分布、すなわち で与えられる分布を考える(p(z)でないことに注意) - 体積の保存と H の保存という 2 つの結果から、 ハミルトン力学が p(z, r) を不変にすることが導かれる - H が近似的に一定である位相空間の小さな領域は、 有限時間の時間発展をしても、体積も H の値も不変で H のみの関数である確率密度も変化しない • H は不変だが、z と r は変化するので、この力学を 有限の時間区間で積分すれば、ランダムウォークを 避け、系統的な方法で z に大きな変化を起こせる PRML § 11.5 - § 11.6 p. 11
  • 12.
    参考)p(z, r) を計算してみる • p(z, r) を E(z) + K(r) から計算する - 一次元ガウス分布(ZH = 2πσ) - …検討中 sigma <- 2.0; z <- 10.0; r <- 0.0; epsilon <- 0.01; trial <- 10000; H <- function(z_, r_) 1/(2*sigma^2)*(z_^2) + 1/2*(r_^2); Zh <- 2*pi*sigma; p <- function(z_, r_) (1/Zh) * exp(-H(z_, r_)); force <- function(z) -1/(sigma^2)*z; zList <- z; rList <- r; for (i in 1:trial) { r <- r + epsilon * force(z); z <- z + epsilon * r; zList <- append(zList, z); rList <- append(rList, r); } plot(zList, rList); plot(zList, p(zList, rList) ); PRML § 11.5 - § 11.6 p. 12
  • 13.
    エルゴード的なサンプリングスキーム • Hの値が一定なので、ハミルトン力学系の時間発展は p(z, r) からエルゴード的にサンプリングしない • エルゴード的にサンプリングするために、 分布 p(z, r) を不変に保ちつつ H の値を変える、 位相空間での追加的な移動を導入する • 最も簡単な方法が、r の値を z を条件とする分布から 抽出したもので置き換えることである - これはギブスサンプリングの1ステップと見なせる - 求めたい分布も不変にすることができる - z と r は分布 p(z, r) で独立なことに注意すると、 条件付き分布 p(z|r) はガウス分布であり、 容易にサンプリングできることがわかる PRML § 11.5 - § 11.6 p. 13
  • 14.
    ハミルトン方程式の数値積分 (1) •このアプローチを実際に応用するには、 リューヴィルの定理が厳密に成立するように、 ハミルトン方程式の数値積分を行う必要がある • リープフロッグ法はその実現方法の一つである - 現在の位置から現在の加速度を求める - 現在の加速度により、半ステップ後の運動量を求める - 半ステップ後の運動量により、1ステップ後の位置を求める - 1ステップ後の位置から1ステップ後の加速度を求める - 1ステップ後の加速度により、1ステップ後の運動量を求める PRML § 11.5 - § 11.6 p. 14
  • 15.
    ハミルトン方程式の数値積分 (2) •上図の計算の繰り返しは、下図のように省略できる 経過時間 (単位は ε) 0 0.5 1 1.5 2 位置変数 z ① ④ ⑧ 運動量変数 r ③ ⑥ ⑦ ⑩ 加速度 ② ⑤ ⑨ 経過時間 (単位は ε) 0 0.5 1 1.5 2 位置変数 z ① ④ ⑦ 運動量変数 r ③ ⑥ 加速度 ② ⑤ ⑧ • 位置変数と運動量変数の一連の更新は、 互いを飛び越えて進んでいくことがわかる • 離散近似に由来する、連続時間の力学系との誤差の 影響を、ハイブリッドMCで取り除く方法を後述する PRML § 11.5 - § 11.6 p. 15
  • 16.
    ハミルトン力学系における勾配情報の利用 • ハミルトン力学系による方式は 基本的な Metropolis アルゴリズムと異なり、 分布自身のみならず、 確率分布の対数の勾配に関する情報も使える • 勾配の情報が得られるほとんどの場合、 それを利用することが大きな利点となる - D 次元の空間で勾配を求める追加の計算コストは、 ハミルトン関数の値を求めることと比較して、 普通は D に依存しない定数倍である - ハミルトン関数から得られるスカラー値 1 個に比べて、 D 次元の勾配ベクトルは D 個の情報を持っている PRML § 11.5 - § 11.6 p. 16
  • 17.
    § 11.5.2 ハイブリッドモンテカルロアルゴリズム •非ゼロのステップサイズ ε に対して、 リープフロッグ法は、積分結果に誤差をもたらす • ハイブリッドモンテカルロアルゴリズム (以下 HMA) - ハミルトン力学と Metropolis アルゴリズムを組み合わせ、 離散化に伴うあらゆるバイアスを取り除く - 運動量変数 r の確率的な更新と、リープフロッグ法による ハミルトン力学系の更新を交互に行う • リープフロッグ法を適用して得られる状態候補が、 ハミルトン関数 H の値に基づく Metropolis 規準に従って、受理または棄却される PRML § 11.5 - § 11.6 p. 17
  • 18.
    候補ステップの受理 • (z,r)が初期状態で、(z*,r*) が積分後の状態とする • 積分後の候補状態は、確率 で受理される • もしリープフロッグ積分がハミルトン力学を完全に シミュレーションするとしたら、H が不変なので、 このような全ての候補ステップは常に受理されるが、 実際には数値積分誤差で H が減少することがある PRML § 11.5 - § 11.6 p. 18
  • 19.
    Metropolis 規準でバイアスを取り除く(1) •実際には数値積分誤差により H が減少することが あるので、Metropolis 規準でバイアスを取り除く - 得られるサンプルが元の分布から抽出されることを保証 • 積分の更新式が詳細釣り合い条件を満たすよう、 リープフロッグスキームを以下のように修正して実現 • 積分の各 1 ステップを開始する前に 時間が進む方向(+ε)に積分するか、 時間が戻る方向(ーε)に積分するかを、 同一確率でランダムに選択する - リープフロッグ積分法は時間に対して可逆なため、 +ε で積分した効果と、ーε で積分した効果とが 正確に打ち消しあう PRML § 11.5 - § 11.6 p. 19
  • 20.
    Metropolis 規準でバイアスを取り除く(2) •リープフロッグ積分の +ε ステップ(再掲) - zi か ri のどちらかを、他の変数の関数となる量だけ更新 - 位相空間の領域を歪めるが、体積は変化させない PRML § 11.5 - § 11.6 p. 20
  • 21.
    Metropolis 規準でバイアスを取り除く(3) •前述の性質から、詳細釣り合い条件の成立を示す - 位相空間の小さな領域 R を考える - +ε の L 回のリープフロッグ更新で、R が R' に写像される • R と R' は同じ体積 δV を持つ - 初期点を分布 (11.63) から選び、L 回の更新を行うと、 領域 R から始めて R' へと至る確率 p(R)δV ½ A(R', R) は 係数 ½ は +ε で積分することを選択した確率 • - 同様に、領域 R' から始めて R へと至る確率は PRML § 11.5 - § 11.6 p. 21
  • 22.
    Metropolis 規準でバイアスを取り除く(4) •R から R' へ至る確率 と、R' から R へ至る確率 とが等しい - H(R) = H(R') のときは自明 - H(R) > H(R') のとき • R から R' へ至る確率内の min 関数は exp(H(R)-H(R')) • R' から R へ至る確率内の min 関数は 1 - H(R) < H(R') のときも同様に解ける • したがって、詳細釣り合い条件が成り立つ PRML § 11.5 - § 11.6 p. 22
  • 23.
    リープフロッグ法のステップサイズを可変化する • 「リープフロッグ法で数値積分を行うとき、 有限回の繰り返しの後で開始点に戻ってくる例を 作ることは難しくない」 - (11.70) 式で円周上を1周してきたときのこと? - +ε ステップの後に -ε ステップを行った場合? • ランダムウォーク的になり探索範囲が狭まらないか? • 各リープフロッグ積分の前で、 ステップサイズの大きさを、 ある小さな範囲からランダムに選択することで、 容易に避けることができる PRML § 11.5 - § 11.6 p. 23
  • 24.
    多変量ガウス分布への適用(1) • 独立な要素を持つガウス分布p(z) を考える • ハミルトン関数は - ハイブリッドMCは回転等方性を持つので、 相関がある要素を持つガウス分布にも適用できる • 候補点の受理と棄却は、H の値に基づいて行われる - リープフロッグ積分の間、zi と ri は独立に時間発展する - どれか 1 つの変数にでも大きな積分誤差があれば、 高い棄却率を招く PRML § 11.5 - § 11.6 p. 24
  • 25.
    多変量ガウス分布への適用(2) • HMCにおけるリープフロッグ積分の目的は、 位相空間内を初期状態から比較的独立な新しい状態へ 大きく移動させつつ、高い受理確率を実現させること - 離散積分が連続時間力学の良い近似であるためには、 積分のスケール ε は、ポテンシャルが有意に変化する 最も短い長さスケールより小さい必要がある - これは σi のうち最も小さな値 σmin に支配される - σmax / σmin のオーダーの繰り返し回数だけ積分を続ける • 分散 s2 の等方ガウス分布への Metropolis 法の適用 - 高い棄却率を避けるため、ステップ値のオーダーは σmin - 状態空間の探索はランダムウォークで進み、おおよそ独立 な状態に達するまでにオーダー (σmax / σmin)2 のステップ PRML § 11.5 - § 11.6 p. 25
  • 26.
    § 11.6 分配関数の推定 •サンプリングアルゴリズムのほとんどは、 定数倍の係数を除いた確率分布の関数形だけに注目 • 分配関数とも呼ばれる正規化定数 ZE は、 p(z) からサンプリングを行うためには必要ない • しかし、ZE の値はモデルエビデンスを表すため、 ベイズモデルを比較するときに便利であり、 この値を知る方法が関心の対象となる • z の状態空間上で exp(-E(z)) の和を取ったり 積分したりして直接 ZE を計算することは困難と仮定 PRML § 11.5 - § 11.6 p. 26
  • 27.
    モデルの比較に使うのは分配関数の比率 • モデルの比較のために実際に必要になるのは、 2つのモデルの分配関数の比率である • この比率に事前分布の比率を掛けることで、 事後分布の比率を得て、 モデル選択やモデル平均に用いる PRML § 11.5 - § 11.6 p. 27
  • 28.
    分配関数の比率を重点サンプリングで推定(1) • 分配関数の比率を推定する方法の一つとして、 エネルギー関数 G(z) を持つ分布からの 重点サンプリングを用いる方法がある - z(l) は、pG(z) で定義される分布から抽出されたサンプル - 分布 pG が解析的に計算できるなら、ZE そのものが求まる PRML § 11.5 - § 11.6 p. 28
  • 29.
    分配関数の比率を重点サンプリングで推定(2) • 重点サンプリングの分布pG が、分布 pE に近く、 比率が大きく変動しない場合は精度が良いが、 実際には、複雑な種類のモデルに対しては、 重点サンプリングに適した、 解析的に指定された分布はすぐには見つからない • 代わりに、マルコフ連鎖から得たサンプルを利用する - マルコフ連鎖の遷移確率 T(z,z') - サンプル集合 z(1), ... , z(L) - サンプリング分布は のように表され、直接 (11.72) で用いることができる PRML § 11.5 - § 11.6 p. 29
  • 30.
    単純な分布と複雑な分布とを補完する連鎖(1) • 複雑な分布の分配関数の値を求めたい - 比較的単純な分布でしか分配関数の値を直接計算できない - 2つの分配関数の比率を推定する方法は、 2つの対応する分布が十分に近くなければならない • 分配関数の比率を直接求める試みは困難 • 連鎖 (chaining) と呼ばれる方法で扱うことができる • 単純な分布 p1(z) と 複雑な分布 pM(z) の間を補完する、 一連の中間の分布 p2, ... , pM-1 を導入する • 中間の比率は前述のモンテカルロ法を用いて決定する PRML § 11.5 - § 11.6 p. 30
  • 31.
    単純な分布と複雑な分布とを補完する連鎖(2) • 中間の系列を構築する方法の一つは、 連続パラメータ 0≦α≦1 を含み、 2つの分布の間を補完するエネルギー関数 を用いることである • 連鎖における中間の比率をMCにより見つける - 各比率に対してマルコフ連鎖を再スタートするより、 単一のマルコフ連鎖を実行するほうが効率的である - 最初に系 p1 に対してマルコフ連鎖を実行し、 適切なステップ数の後で系列内の次の分布に移る - しかし、各中間分布でのサンプリングで、 系は平衡分布に近く保たれる必要がある PRML § 11.5 - § 11.6 p. 31