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.

クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法

5,321 views

Published on

学習データから母集団の確率分布を求める万能な方法であるマルコフ連鎖モンテカルロ 法(MCMC)について説明する。MCMCは乱数を発生させて推定するモンテカルロ法の一種である。ただし、乱数の無駄打ちを避けるために種々の効率化が施されている。

Published in: Engineering

クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法

  1. 1. Imputation Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbsサンプリング 10. マルコフ連鎖モンテカルロ 法 クラシックな機械学習の入門 by 中川裕志(東京大学)
  2. 2.  EMやVBで解析的に処理して数値計算に持ち込 める場合ばかりではない。 VBの場合、因子化仮定による近似も問題。  シミュレーションで解く方法は対象に係わらず使え る。  ただし、一般にシミュレーションで良い解に収束させ るには時間が膨大にかかる。 次元の呪いも影響してくるので、事態は良くない。  そこで、効率の良いシミュレーション法が必要にな る。 Sampling法の必要性
  3. 3. Samplingによるシミュレーションを用いる局面  EM,VBでは以下の更新式を解析解として求めておき、 繰り返し計算を行うようになる。  繰り返し P(Z,X| θold,M)argmaxθexp(E[logP(Z,X| θold,M)])でθを推定  この途中で行う期待値計算E[logP(Z,X | θold,M)])の中で 周辺化などの積分計算の解析解を求めることが困難 である場合は、その部分を期待値計算で用いる確率 分布p(Z)にかなうようにsamplingしたデータでシミュ レーションによって計算する。
  4. 4. EMのQ計算をsamplingで置き換える方法 Q関数  この積分を以下のようにしてsamplingで求める 事後分布 を用いて観測データか らsamplingして{ Z(l) }(l=1,2,..,L)を得る。 こうして得た { Z(l) }を用いて、以下のようにθ を求める. M-stepは、これらの結果を使って通常のEMと 同じように行う。  d)|,(log),|(),( XZpXZpQ oldold  ),|( XZp old    L l lold XZp L Q 1 )( )|,(log 1 ),( 
  5. 5. 観測データ この部分の面積に比例するように 観測データをサンプリングする P(X) X 観測データ の値 Y X これらを Σ して 分布 P(X)に 沿う積分 を計算
  6. 6. Imputation Posterior: IP Algorithm I-step  の計算にあたって、sample θ(l) l=1,2,..,L をp(θ|X)にしたがって、取り出し、これを用い てp(Z|θ(l),X)によってZ(l)を取り出してp(Z|X)を計算 P-step  の計算にあたって、 - I-stepで得たsample { Z(l) }を用いて、以下のよう にθを求める. しかし、sampleはうまくやらないと効率が悪く なってしまう. (次元の呪い)  d)|(),|()|( XpXZpXZp  ZXZpXZpXp d)|(),|()|(     L l l XZp L Xp 1 )( ),|( 1 )|( 
  7. 7. (x1,x2)の赤、 青、黄の教師 データが図のよ うに配置。 新規のデータ● が何色かを決 める方法を教師 データから学習 次元の呪い(Curse of dimensinality) x2 x1 次元が高いと、周辺部分ばかりに サンプル点が集まり、中心部分に サンプルデータが非常に少ない。
  8. 8.  データを記述するための情報の種類(feature)を表 す次元Dが増加するとどうなるか? 各次元のfeatureの間の関係を示す係数の数がfeature のとりうる値N(f)の積で増加。 各featureの値:rによって以下のように識別するとしよう。 If 1-e<r<1 then A else B 1-e<r<1という条件を満たすデータ空間の 体積:K(1-(1-e)D )のデータ空間全体:K 1Dに対する割 合は 1-(1-e) D この割合はDが大きくなると急激に1に近づく。 つまり、Dが大きい次元の空間では、縁の部分の体積ば かり大きくなる。よって、実測された教師データは縁の部 分にばかり集まる。 よって、rの値の閾値が比較的小さいところになる場合は、 教師データが極端に少なくなり、学習の精度が落ちる。
  9. 9. Markov Chain Monte Carlo: MCMC の基本アイデア 次のデータ点が指定した領域から外に出ていたら、 元のデータ点に戻って、次のデータ点を選びなおす。
  10. 10. 近似分布の導入  sampling でp(Z)の正確な評価が困難でも、 p(Z)と比例 する分布 なら乱数によってsamplingすることがで きるとしよう. 両者の関係は正規化定数Zpで下のように 書ける。  ただし、 Zpは未知。だから、 のままで計算できる ことが望ましい。  さらに近似分布(proposal分布)q(z(t+1)|z(t))にしたがい、 z(t)からsamplingしてz(t+1)を求める。 )(~1 )( Zp Z Zp p  )(~ Zp )(~ Zp 本当に知りたいのは これだが、 この条件付き確率(遷移確率) は、問題から求めておく
  11. 11. Markov連鎖  Markov連鎖の定常性  ただし、定常的であっても、一つに状態に収束しているとは言い 切れない。循環的になっているかもし れない。  下の図のような状況はまずい。つまり、a,b,cばかりにシミュレー ションでサンプルする点が集中してしまい、p(z)の示す領域全体 の体積(=確率)が正確に求まらない。 )()(then,)()|()(when )()1()()()1()1( )( tttttt ppppp t zzzzzz Z      a b c Z1 bzZ 1 1 z p(z) 循環的になると、 サンプル点はこの a,b,cばかりにな る!
  12. 12. Markov連鎖  Markov連鎖の定常性  ただし、定常的であっても、一つに状態に収束しているとは言い 切れない。循環的になっているかもしれない。 Z1 1z a b c Z1 1z 循環的でない定常状態になるためには次の詳細釣り合い条件 が必要。この条件から定常性もいえる。 詳細釣り合い条件: )'()()'()'( ',, ** * zzpzpzzpzp zzp  に対して すべてのが存在しある )()(then,)()|()(when )()1()()()1()1( )( tttttt ppppp t zzzzzz Z     
  13. 13. 詳細釣り合い条件を書き換えると つまり、zz’の遷移確率を決めるには、正規 化定数:Zpは知らなくてもよい。 )'(~ )(~ /)'(~ /)(~ )'( )( )'( )'( zp zp Zzp Zzp zp zp zzp zzp p p   
  14. 14. Metropolis アルゴリズム Step 1: 近似分布(proposal分布)として、q(z(t+1)|z(t))を設定しておく。 Step 2: q(z(t+1)|z(t)) を用いてsample z(1), z(2),…. z(t)を求めておき、 が計算できる状態にした上で、以下のstep,3,4,5で生成する。 Step 3: 新規のsample znew を生成する。 Step 4: とする。 また をあらかじめ決めた閾値とする。 Step 5: if A(znew,z(t)) > u then z(t+1)=znew else z(t)からznewを生成してstep 3へ戻る          )( ~ ˆ )( ~ ˆ ,1min),( )( )( t new tnew zp zp zzA z(t)を捨てずにとっておき、 q(z(t+1)|z(t))を用いて再度のsample znew の生成で役立てるところがポイント  1,0u  p ~ ˆ
  15. 15. Step 4: とする。 また。 をあらかじめ決めた閾値とする。 Step 5: if A(znew,z(t)) > u then z(t+1)=znew else z(t)からznewを生成してstep 3へ戻る  つまり、 であること、すなわち新たな znew が 前の値 z(t)よりある程度以上、狙った分布に近い場合のみ採 用されることになる。  だから、正規化定数Zpを知らなくてもよいところが味噌  対称性 q(za|zb)=q(zb|za) の条件は t∞のとき、samplingされ た z の分布がp(z)に近づくことを保証する。        )(~ )(~ ,1min),( )( )( t new tnew zp zp zzA  1,0u     uzpzp tnew  )(~~ )(~ )(~ )(t new zp zp Metropolisアルゴリズムの味噌
  16. 16. Metropolis-Hastings アルゴリズム Step 1: 近似分布(proposal分布)として、q(z(t+1)|z(t))を設定しておく。 Step 2: q(z(t+1)|z(t)) を用いてsample z(1), z(2),…. z(t)を求めて、 が計算できる状態にしたうえで、以下のstep3,4,5で生成する。 Step 3: 新規のsample znew を生成する。 Step 4: とする。 ただしkは検討すべき状態遷移の集合上のインデックス。Step5の条件を満た すものを選ぶ。(Znewに行ったきり戻ってこられないようなもの、つまりmin の第2項の分子が小さいものは使わない) また をあらかじめ決めた閾値とする。 Step 5: if A(znew,z(t)) > u then z(t+1)=znew else z(t)からznewを生成してstep 3へ戻る             )()( )( )( |)( ~ ˆ |)( ~ ˆ ,1min),( tnew k t newt k new tnew k zzqzp zzqzp zzA  1,0u  p ~ ˆ
  17. 17. Gibbs Sampling z=(z1z2,…zM)からなるベクトルの場合, zの全 要素を一度に生成して、条件A(znew,z(t))>uを 満たすかをチェックするのは効率が悪い。 そこで、zj newをz1 (t),.., zj-1 (t)が与えられた条件で samplingする方法が有効。 Gibbs Samplingでは、zjのsampling と評価 を、条件A(znew,z(t))>uのチェックの代わりに、 それ以前の結果を利用して行う。
  18. 18. Gibbs Sampling 1. z1z2,…zMの初期化 2. 以下をt=1からTまで繰り返す 1. Sample z1 (t+1) z1 new :p(z1 new|z2 (t),z3 (t),…,zM (t)) 2. Sample z2 (t+1) z2 new :p(z2 new|z1 (t+1),z3 (t),…,zM (t)) 3. Sample z3 (t+1) z3 new :p(z3 new|..,z2 (t+1),z4 (t),…,zM (t)) … j. Sample zj (t+1) zj new :p(zj new|..,zj-1 (t+1),zj+1 (t),…,zM (t)) … M. Sample zM (t+1) zM new :p(zM new|..,zM-1 (t+1))
  19. 19. 水平の線はx2の値を固定 して次の点に進むイメージ 垂直の線はx1の値を固定 して次の点に進むイメージ X2 X1
  20. 20.                         Sampling Gibbs 1 )|()|( )|()|( ,1min |)|( |)|( ,1min |)( ~ ˆ |)( ~ ˆ ,1min),( HastingMetroplis )|()( )|()( )|(| )|(| z )( )( )( )( )( )( )( )( )( )( )()( )( )( )()( )( )( )()( )()( )(                               は常に採用されるよって、新規のデータ 法を書き換えるこれを利用して     に注意は固定されていることを更新するときには k t k new k new k new k t k new k t k t k t k new tnew kk new k new k t newt kk t k t k new tnew k t newt k new tnew k k new k new k tt k t k t k newnew k new k tnewt k k t k newtnew k k new k t kk zzpzpzzp zzpzpzzp zzqzpzzp zzqzpzzp zzqzp zzqzp zzA zpzzpzp zpzzpzp zzpzzq zzpzzq z z z
  21. 21. 条件付正規分布  Gibbs Sampling で行った方法(他の変数の条件 は同一にした条件付き分布で、1変数だけを予測す る一例を正規分布で示す。  変数ベクトルzをxとyに分割すると X=a y p(y) P(y|x=a)
  22. 22.  D次元変数ベクトル をスカラー とD-1次元ベクト ル に分割する。  ここで多次元正規分布の指数の肩の項は次式 -(G-10) yx T xy yyyx xyxx T xx T x xx y x where μx N                                           とすると精度行列: 多次元正規分布 1 2 ),|( yy yyy y μ μ y z μz )()( 2 1 )()( 2 1 )()( 2 1 )()( 2 1 )()( 2 1 1 yyy T yxyx T y yxyxxxxx T μx μxμxμx μyμyμy μy μzμz      xz y
  23. 23. 一般に正規分布 の指数の肩は次式で書け、右 辺の第1項、第2項の係数の部分に着目すれば期待値、共分 散が求まる。 -(G-20) ),( μ|zN constTTT   μzzzμzμz 111 2 1 )()( 2 1 条件付正規分布p(x|y)の期待値μx|yと共分散Σ x|yをこの方法を (G-10)式に適用して求めよう。ー 問題
  24. 24. 一方、(G-10)においてxの1次の項がΣ -1 μ これは次式     )( )( )( 1 12 | 2 || yy yyyyy μy μy μy      xxxx xxxxxxxxx yxyxxx μ μ x    より これにより 次に、これらの結果を共分散行列を用いて書き直す yxyyxyxx xxx xxxxxxxxxx yyyx xyxx yyyx xyx μμ Matrix                              122 | 1 | 1112112 1 1 | 2 )( )()( )(    y yyyyy yyyyyyyyyyyy y μy を使えばにおいて yを定数とみなしてxの分布を求めれば、条件付分布になるか ら(G-10)の第1項のxの2次の項の係数が共分散。すなわち 12 | 2 1   xxxxx xx  yにより
  25. 25. 粒子フィルタ • 内部状態𝑥𝑡が 𝑥𝑡+1 = 𝑔 𝑥𝑡 + 𝑣𝑡(ガウス雑 音)という更新式で変化していく • 観測されるのは𝑦𝑡 = ℎ 𝑥𝑡 + 𝑢 𝑡 𝑣𝑡(ガウス雑 音) • 𝑡毎の観測値を用いて𝑥𝑡を推定、𝐸𝑡 𝑓 𝑥𝑡 を 計算するメカニズム – カルマンフィルタによく似ている。
  26. 26. 2-3 f( ) ) ) )

×