Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PRML輪読#11

1,150 views

Published on

東京大学松尾研究室におけるPRML輪読資料です。

Published in: Education
  • Be the first to comment

PRML輪読#11

  1. 1. PRML輪読会 2017 第11章 サンプリング法 東京⼤学⼤学院⼯学系研究科 技術経営戦略学専攻 松尾研究室 M1 ⽥村浩⼀郎
  2. 2. 「第11章 サンプリング法」の概要 • サンプリング法を⾏う⽬的 – ある関数𝑓(𝑧)の確率分布p(𝑧)のもとでの期待値を評価すること • サンプリング法の発想 – 確率分布p(𝑧)から独⽴に抽出されたサンプルの集合z(')を得ることで,以下で期待値を 近似計算できる • 対象の確率分布p(𝑧)から,サンプルの集合z(') をどのように得るか(サンプリ ング法)を今回整理する 2
  3. 3. 構成 11.1 基本的なサンプリングアルゴリズム 11.2 マルコフ連鎖モンテカルロ 11.3 ギブスサンプリング 11.4 スライスサンプリング 11.5 ハイブリットモンテカルロアルゴリズム 11.6 分配関数の推定 3 ⾮マルコフ マルコフ
  4. 4. 11.1 基本的なサンプリングアルゴリズム 1. 標準的な分布 2. 棄却サンプリング 3. 適応棄却サンプリング 4. 重点サンプリング 5. SIR 6. (サンプリングとEMアルゴリズム) 4
  5. 5. 11.1.1 標準的な分布 • 逆関数が求められるような単純な⾮⼀様分布から乱数を⽣成することを考え る – 乱数zを⼀様分布から発⽣させる(これは元からできるという前提) – 𝑦 = 𝑓(𝑧)で変換すると, p(y)からyをサンプリングできたことになる – (11.5)を積分すると – 𝑦 = ℎ+, 𝑧 で表せるので,結局以下のようになる 5 ⼀様分布から乱数発⽣ 不定積分の逆関数で変換 Yをランダムサンプリング z ℎ+, 𝑧 y
  6. 6. 11.1.2 棄却サンプリング • 直接p(z)からサンプリングすることは難しい • 任意の所与のzに対してp(z)を求めることは正規化定数Zをのぞいて容易 • 提案分布q(z)を導⼊, に対して𝑝.(𝑧)以下なら受理 6 ここで一様乱数を発生
  7. 7. 11.1.3 適応的棄却サンプリング • 棄却サンプリングでは,包括分布q(z)を解析的に決定することが難しい – 適応的棄却サンプリングでは,p(z)の観測値に基づいてその場で包括関数を構築する 7 11.1.2の棄却サンプリングに加えて, 1. サンプルが棄却された場合にその点における接線を計算 2. 包括分布関数q(z)を更新 を繰り返す =>棄却サンプリング系は⾼次元に適していない
  8. 8. 11.1.4 重点サンプリング • 重点サンプリングの概要 – サンプリングの⽬的は(11.1)の期待値を知ること->サンプリング⽅法ではなく、直接 期待値を求める⽅法 – 任意のzの値についてp(z)は容易にもとまるという前提 – 提案分布からサンプリングを抽出し,重要度で重み付けする • 重点サンプリングの問題 – いくらでも⼤きな誤差のある結果を⽣み出す可能性があるが、それを防いだり知る指標 がない 8 重要度重み:求めたいものと異なる 分布からサンプリングされることに よって生じるバイアスを包囲する
  9. 9. 11.1.5 SIR • 棄却サンプリングがうまくいくかどうかは、包括関数をうまく設定できるか ということが重要 – kq(z)のkを求めることは現実的ではない • SIR(sampling-importance-resampling) 1. L個のサンプルをq(z)から抽出 2. 重要度重みを計算する 3. 重要度重みに基づきL個のサンプルをq(z)から再抽出 9
  10. 10. 11.2 マルコフ連鎖モンテカルロ • 「標準的なサンプリングアルゴリズム」では,⾼次元空間において重⼤な制 約があった • マルコフ連鎖モンテカルロ(MCMC)を導⼊ • 現在の状態𝑧(/) の記録を保持し,提案分布を現在の状況によって定義する 𝑞(𝑧|𝑧(/) ) =>サンプルの系列はマルコフ連鎖をなす • 例:Metropolis アルゴリズム 1. 提案分布 𝑞(𝑧|𝑧∗) から𝑧∗ をサンプリングする 2. 以下の確率を計算 3. (0, 1)の⼀様分布からuを発⽣させる 4. uとAとの⽐較で,Aの⽅が⼤きければ𝑧45, = 𝑧∗と更新 - 𝑝(𝑧/)が増加するなら𝑧∗を必ず採択,そうでなくても減少率に応じて採択,更新する 10
  11. 11. 11.2 マルコフ連鎖モンテカルロ • Metropolis アルゴリズム続き – 連続したサンプルは⾼い相関を保つため、𝑧,, 𝑧6,,,はp(z)からの独⽴なサンプルではな い – 独⽴なサンプルを得たい場合は,系列中のほとんどのサンプルを破棄して、M個ごとの サンプルだけを保持すればいい – 提案モデルの分散が⼤きいと,棄却率が⾼くなり,効率的にサンプリングできない – 提案モデルの分散が⼩さいと,探索効率が悪くなる 11
  12. 12. 11.2 マルコフ連鎖モンテカルロ • ランダムウォーク – 初期状態がz7 = 0なら, • 𝐸 𝑧/ = 0, 𝐸 𝑧/6 = / 6 • 移動距離が時間の平⽅根に⽐例 – ランダムウォークは状態空間を探索するのに⾮効率 – ランダムウォーク的な振る舞いを避けることが,マルコフ連鎖モンテカルロ法の重要な 課題 12
  13. 13. 11.2.1 マルコフ連鎖 • マルコフ連鎖 – 現在の状態は⼀つ前の過去の状態にしか依存しない – 遷移確率を で定義すると,以下のような場合に分布が不変(定常)である(どのステップにおいても 状態zʼからzへの遷移確率は同じ) – 不変であるための⼗分条件(詳細釣り合い条件) =>可逆 – 初期分布の選択に関わらず,分布が求めたい不変分布𝑝∗(𝑧)に収束することも必要で,エ ルゴード性を保つことが求められる • どの状態から始めても,すべての状態に到達可能 13
  14. 14. 11.2.2 Metropolis-Hastings アルゴリズム • Metropolis アルゴリズムを⼀般化したもの – Metropolis アルゴリズムは対象な分布を想定していた 1. 提案分布 𝑞(𝑧|𝑧∗) から𝑧∗ をサンプリングする 2. 以下の確率を計算 3. (0, 1)の⼀様分布からuを発⽣させる 4. uとAとの⽐較で,Aの⽅が⼤きければ𝑧45, = 𝑧∗と更新 14
  15. 15. 11.3 ギブスサンプリング • ギブスサンプリングは,Metropolis-Hastings アルゴリズムの特別な場合 • 求めたい分布から正しくサンプリングするために,以下が必要 – 分布p(z)が各ステップで不変であること(マルコフ連鎖全体で不変) – エルゴード性 15
  16. 16. 11.3 ギブスサンプリング • ギブスサンプリングの挙動を,ガウス分布に適応してみることで確認 – 幅lの条件付き分布と,幅Lの周辺分布を持つ2変数の相関のあるガウス分布 – 独⽴なサンプルを得るために必要なステップ数は; '⁄ 6 のオーダー – 条件付き分布からのサンプリングが簡単な場合に特に有効 16
  17. 17. 11.3 ギブスサンプリング • ギブスサンプリングの注意点 – エルゴード性 • 演習問題11.12 • エルゴード性が満たされない(どこからでも,どこへでも) 場合に,ギブスサンプリングは使えない – ランダムウォーク • ランダムウォーク的な振る舞いを低減させるために,過剰緩和を⾏う • 𝛼が0の時は普通のギブスサンプリング-> −1 < 𝛼 < 1とすることで過剰緩和を⾏う • 変数が⾼い相関を保つ場合に状態空間内での⽅向付けられた移動を促進する 17
  18. 18. 11.3 ギブスサンプリング • ギブスサンプリングの実装のイメージ – 引⽤:ギブスサンプリング実装とJITコンパイラによる⾼速化 (http://qiita.com/morley628/items/d71fe3a3726caba960a8) – 𝑝 𝑥, 𝑦 = exp (− DE+DF5FE 6 )からのサンプリング 18
  19. 19. 11.4 スライスサンプリング • Metropolisアルゴリズムは,ステップサイズに対して敏感 • スライスサンプリングは,分布の特徴に合わせて適応的なステップサイズを ⽤いることができる – Zを付加的な変数uで拡張し,uとzを交互にサンプリングする 19 1.uをサンプリング 固定 2.zをサンプリング スライスから直接 サンプリングは難 しいので,𝑧/を含 む領域で
  20. 20. 11.5ハイブリッドモンテカルロアルゴリズム • Metropolisアルゴリズムの⼤きな制限は,状態空間を横切る移動距離がス テップ数の平⽅根にしか⽐例しないというランダムウォークの性質があるこ と • 状態変数の対数確率の勾配が容易に求められる連続変数の分布に対して適⽤ 可能 20
  21. 21. 11.5.1 ⼒学系 • 確率的サンプリングへの⼒学系によるアプローチは,ハミルトン⼒学の元で 時間発展する物理システムの振る舞いをモデル化したしたもの – 運動量変数 – ポテンシャルエネルギーE(z)を⽤いて, – 運動エネルギーK(r) – 系の全エネルギー=>ハミルトン関数 1. ハミルトン関数は時間発展において⼀定 2. 位相空間の体積が保存されるリューヴィルの定理) 21
  22. 22. 11.5.1 ⼒学系 • 全エネルギーがハミルトン関数である位相空間の上での同時分布を考える 1. ハミルトン関数は時間発展において⼀定 2. 位相空間の体積が保存されるリューヴィルの定理) であることを⽤いて, – ハミルトン⼒学がp(z, r)を不変にすることが導かれる – z, r は値が変化するので,ハミルトン⼒学を有限の時間区間で積分すれば,ランダム ウォーク的な振る舞いを避けて,系統的な⽅法でzに⼤きな変化を起こすことができる – エルゴード的なサンプリングをするためには,位相空間での追加的な移動を導⼊する (ex: rの値をzを条件とする分布から抽出したものに置き換えるなど) – リューヴィルの定理が成り⽴つようにハミルトン⼒学を積分する必要がある • =>リープフロッグ離散化(リープフロッグの更新と周辺分布からの運動量変数の再サンプリ ングを交互に⾏う) 22
  23. 23. 11.5.2 ハイブリッドモンテカルロアルゴリズム • リープフロッグアルゴリズムによる離散化は,ハミルトン⼒学⽅程式の積分 に誤差をもたらす – =>ハミルトン⼒学とMetropolisアルゴリズムを組み合わせる 1. 運動量変数rの確率的更新 2. リープフロッグアルゴリズムによるハミルトン⼒学の更新 を交互に⾏うマルコフ連鎖を⽤いる で受理または棄却される – Hが誤差によって減少することがあるが,その影響をMetropolisアルゴリズムによっ てバイアスを取り除くことでサンプリングが正しくできることを保証する – リープフロップの積分に対応する更新式が詳細釣り合い条件を満たす必要があるので, 時間が進む⽅向(ステップサイズが正)か時間が戻る⽅向(ステップサイズが負)に積分 するかをランダムに選択する 23
  24. 24. 11.6 分配関数の推定 • 今までの サンプリングでは確率分布の正規化定数𝑍Hは知る必要がなかっ た – モデルエビデンス(モデルが与えられた時の観測データの確率)を知りたい(ベイズの枠 組みで⽐較したい)時に,𝑍Hを知りたい – ⽐較においては,2つのモデルの分配関数の⽐がわかれば良い – 重点サンプリングを⽤いて,分布𝑝Iが解析的に計算できれば, 𝑍Hも特定可能 – JK JL⁄ が⼤きな変動をしない場合に有効だが,実際には解析的に求められる適した𝑝Iを⾒ つけることは困難.=>マルコフ連鎖から得られたサンプリングから𝑍Iを決める 24
  25. 25. 参考・引⽤資料 • パターン認識と機械学習 下 – C.M. ビショップ (著), 元⽥ 浩 (監訳), 栗⽥ 多喜夫 (監訳), 樋⼝ 知之 (監訳), 松本 裕 治 (監訳), 村⽥ 昇 (監訳) • 研究室内PRML勉強会 11章2-4節(Koji Matsuda, SlideShare) – https://www.slideshare.net/koji_matsuda/prml-1124 • 第11章 サンプリング法(原 祐輔, powerpoint) – http://bin.t.u-tokyo.ac.jp/prml2009/ • ギブスサンプリング実装とJITコンパイラによる⾼速化(Qiita, morley628) – http://qiita.com/morley628/items/d71fe3a3726caba960a8 25

×