29
Imputation Posterior 次次次次次 MCMC Metropolis-Hastings 次次次次次次 次次次次次次 Gibbs 10. 次次次次次次次次次次次次 次 次次次次次次次次次次次次次 by 次次次次 次次次次次 ()

Imputation Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

  • Upload
    cili

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

クラシックな機械学習の入門. 10. マルコフ 連鎖モンテカルロ 法. Imputation Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング. b y 中川裕志(東京大学). Sampling 法の必要性. EMやVBで解析的に処理して数値計算に持ち込める場合ばかりではない。 VBの場合、因子化仮定による近似も問題。 シミュレーションで解く方法は対象に係わらず使える。 ただし、一般にシミュレーションで良い解に収束させるには時間が膨大にかかる。 - PowerPoint PPT Presentation

Citation preview

Page 1: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Imputation Posterior

次元の呪いMCMC

Metropolis-Hastings  アルゴリズムGibbsサンプリング

10. マルコフ連鎖モンテカルロ 法

クラシックな機械学習の入門

by 中川裕志(東京大学)

Page 2: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

EMやVBで解析的に処理して数値計算に持ち込める場合ばかりではない。VBの場合、因子化仮定による近似も問題。

シミュレーションで解く方法は対象に係わらず使える。

ただし、一般にシミュレーションで良い解に収束させるには時間が膨大にかかる。次元の呪いも影響してくるので、事態は良くない。

そこで、効率の良いシミュレーション法が必要になる。

Sampling 法の必要性

Page 3: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

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 したデータでシミュレーションによって計算する。

Page 4: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

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 XZpL

Q1

)( )|,(log1

),(

Page 5: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

観測データ

この部分の面積に比例するように観測データをサンプリングする

P(X)

観測データの値 Y

これらを Σ  して分布  P(X)に沿う積分を計算

Page 6: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Imputation Posterior: IP AlgorithmI-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 XZpL

Xp1

)( ),|(1

)|(

Page 7: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

(x1,x2) の赤、青、黄の教師データが図のように配置。

新規のデータ●が何色かを決める方法を教師データから学習

次元の呪い (Curse of dimensinality)

x2

x1

次元が高いと、周辺部分ばかりにサンプル点が集まり、中心部分にサンプルデータが非常に少

ない。

Page 8: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

データを記述するための情報の種類 (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 の値の閾値が比較的小さいところになる場合は、教師データが極端に少なくなり、学習の精度が落ちる。

Page 9: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Markov Chain Monte Carlo:MCMC の基本アイデア

次のデータ点が指定した領域から外に出ていたら、元のデータ点に戻って、次のデータ点を選びなおす。

Page 10: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

近似分布の導入 sampling で p(Z) の正確な評価が困難でも、 p(Z)

と比例する分布 なら乱数によって sampling することができるとしよう . 両者の関係は正規化定数 Zp で下のように書ける。

ただし、 Zp は未知。だから、    のままで計算できることが望ましい。

さらに近似分布 (proposal 分布) q(z(t+1)|z(t)) にしたがい、 z(t) から sampling して z(t+1) を求める。

)(~1)( Zp

ZZp

p

)(~ Zp

)(~ Zp

本当に知りたいのはこれだが、

この条件付き確率(遷移確率)は、問題から求めておく

Page 11: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Markov 連鎖 Markov 連鎖の定常性

ただし、定常的であっても、一つに状態に収束しているとは言い切れない。循環的になっているかもし れない。

下の図のような状況はまずい。つまり、 a,b,c ばかりにシミュレーションでサンプルする点が集中してしまい、 p(z)の示す領域全体の体積(=確率)が正確に求まらない。

)()( then ,)()|()(when )()1()()()1()1()(

tttttt ppppp t zzzzzzZ

 

a b

c

            

Z1bz

Z11z

p(z)循環的になる

と、サンプル点はこの a,b,c ばかりになる!

Page 12: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Markov 連鎖 Markov 連鎖の定常性

ただし、定常的であっても、一つに状態に収束しているとは言い切れない。循環的になっているかもしれない。

Z11z

a b

c

Z11z循環的でない定常状態になるためには次の詳細釣り合い

条件が必要。この条件から定常性もいえる。詳細釣り合い条件:

)'()()'()'(

',,**

*

zzpzpzzpzp

zzp

 に対してすべてのが存在しある

)()( then ,)()|()(when )()1()()()1()1()(

tttttt ppppp t zzzzzzZ

 

Page 13: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

詳細釣り合い条件を書き換えると

つまり、 zz’ の遷移確率を決めるには、正規化定数: Zp は知らなくてもよい。

)'(~)(~

/)'(~/)(~

)'(

)(

)'(

)'(

zp

zp

Zzp

Zzp

zp

zp

zzp

zzp

p

p

Page 14: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

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

newtnew

zp

zpzzA

z(t) を捨てずにとっておき、 q(z(t+1)|z(t)) を用いて再度のsample znew の生成で役立てるところがポイント

1,0 u

p~ˆ

Page 15: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

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

newtnew

zp

zpzzA

1,0 u

uzpzp tnew )(~~

)(~)(~

)(t

new

zp

zp

Metropolis アルゴリズムの味噌

Page 16: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

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

kt

newtk

newtnew

kzzqzp

zzqzpzzA

1,0 u

p~ˆ

Page 17: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Gibbs Sampling

z=(z1z2,…zM) からなるベクトルの場合 , zの全要素を一度に生成して、条件A(znew,z(t))>u を満たすかをチェックするのは効率が悪い。

そこで、 zjnew を z1

(t),.., zj-1(t) が与えられた条

件で sampling する方法が有効。

Gibbs   Sampling では、 zj の sampling  と評価を、条件 A(znew,z(t))>u のチェックの代わりに、それ以前の結果を利用して行う。

Page 18: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Gibbs Sampling

1. z1z2,…zM の初期化2. 以下を t=1 から T まで繰り返す

1. Sample z1(t+1) z1

new :p(z1new|z2

(t),z3(t),…,zM

(t))

2. Sample z2(t+1) z2

new :p(z2new|z1

(t+1),z3(t),…,zM

(t))

3. Sample z3(t+1) z3

new :p(z3new|..,z2

(t+1),z4(t),…,zM

(t))

j. Sample zj(t+1) zj

new :p(zjnew|..,zj-1

(t+1),zj+1(t),…,zM

(t))

M. Sample zM(t+1) zM

new :p(zMnew|..,zM-1

(t+1))

Page 19: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

水平の線はx2の値を固定して次の点に進むイメージ

垂直の線はx1の値を固定して次の点に進むイメージ

X2

X1

Page 20: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

Sampling Gibbs

1)|()|(

)|()|(,1min

|)|(

|)|(,1min

|)(~ˆ

|)(~ˆ

,1min),(

HastingMetroplis

)|()(

)|()(

)|(|

)|(|

z

\)(

\\)(

\)(

\)(

\)(

)(\\

)(

)(\

)(\

)(

)()(

)()(

\\)()(

\)(

\)(

\)()(

\)()(

\\)(

\

は常に採用されるよって、新規のデータ

法を書き換えるこれを利用して

     

に注意は固定されていることを更新するときには

kt

knew

knew

knew

kt

knew

kt

kt

kt

knew

tnewkk

newk

newk

t

newtkk

tk

tk

new

tnewk

t

newtk

newtnew

k

knew

knew

ktt

kt

kt

knewnew

knew

ktnewt

k

kt

knewtnew

k

knew

kt

kk

zzpzpzzp

zzpzpzzp

zzqzpzzp

zzqzpzzp

zzqzp

zzqzpzzA

zpzzpzp

zpzzpzp

zzpzzq

zzpzzq

z

z z

Page 21: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

条件付正規分布 Gibbs   Sampling で行った方法(他の変数の

条件は同一にした条件付き分布で、 1変数だけを予測する一例を正規分布で示す。

変数ベクトルzをxとyに分割すると

X= a

y

p(y)

P(y|x=a)

Page 22: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

D 次元変数ベクトル  をスカラー  と D-1 次元ベクトル  に分割する。

ここで多次元正規分布の指数の肩の項は次式

                              -(G-10)

yxT

xyyyyx

xyxx

Txx

T

x

xx

y

x

where

μx

N

とすると精度行列:

多次元正規分布

1

2

),|(

yy

yyy

y

μμ

yz

μz

)()(2

1)()(

2

1

)()(2

1)()(

2

1

)()(2

1 1

yyyT

yxyxT

y

yxyxxxxx

T

μx

μxμxμx

μyμyμy

μy

μzμz

xzy

Page 23: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

一般に正規分布 の指数の肩は次式で書け、右辺の第1項、第2項の係数の部分に着目すれば期待値、共分散が求まる。

- ( G-20)

),( μ|zN

constTTT μzzzμzμz 111

2

1)()(

2

1

条件付正規分布 p(x|y) の期待値 μx|y と共分散 Σ x|y をこの方法を( G-10) 式に適用して求めよう。ー 問題

Page 24: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

一方、( 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により

Page 25: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

粒子フィルタ

• 内部状態が  (ガウス雑音)という更新式で変化していく

• 観測されるのは (ガウス雑音)• 観測値を用いてを推定、を計算するメカニズム

– カルマンフィルタによく似ている。

Page 26: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング
Page 27: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング
Page 28: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング

2-3

f( )

)

)

)

Page 29: Imputation  Posterior 次元の呪い MCMC Metropolis-Hastings アルゴリズム Gibbs サンプリング