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
Imputation Posterior
次元の呪いMCMC
Metropolis-Hastings アルゴリズムGibbsサンプリング
10. マルコフ連鎖モンテカルロ 法
クラシックな機械学習の入門
by 中川裕志(東京大学)
EMやVBで解析的に処理して数値計算に持ち込める場合ばかりではない。VBの場合、因子化仮定による近似も問題。
シミュレーションで解く方法は対象に係わらず使える。
ただし、一般にシミュレーションで良い解に収束させるには時間が膨大にかかる。次元の呪いも影響してくるので、事態は良くない。
そこで、効率の良いシミュレーション法が必要になる。
Sampling 法の必要性
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 したデータでシミュレーションによって計算する。
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
),(
観測データ
この部分の面積に比例するように観測データをサンプリングする
P(X)
X
観測データの値 Y
X
これらを Σ して分布 P(X)に沿う積分を計算
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
)|(
(x1,x2) の赤、青、黄の教師データが図のように配置。
新規のデータ●が何色かを決める方法を教師データから学習
次元の呪い (Curse of dimensinality)
x2
x1
次元が高いと、周辺部分ばかりにサンプル点が集まり、中心部分にサンプルデータが非常に少
ない。
データを記述するための情報の種類 (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 の値の閾値が比較的小さいところになる場合は、教師データが極端に少なくなり、学習の精度が落ちる。
Markov Chain Monte Carlo:MCMC の基本アイデア
次のデータ点が指定した領域から外に出ていたら、元のデータ点に戻って、次のデータ点を選びなおす。
近似分布の導入 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
本当に知りたいのはこれだが、
この条件付き確率(遷移確率)は、問題から求めておく
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 ばかりになる!
Markov 連鎖 Markov 連鎖の定常性
ただし、定常的であっても、一つに状態に収束しているとは言い切れない。循環的になっているかもしれない。
Z11z
a b
c
Z11z循環的でない定常状態になるためには次の詳細釣り合い
条件が必要。この条件から定常性もいえる。詳細釣り合い条件:
)'()()'()'(
',,**
*
zzpzpzzpzp
zzp
に対してすべてのが存在しある
)()( then ,)()|()(when )()1()()()1()1()(
tttttt ppppp t zzzzzzZ
詳細釣り合い条件を書き換えると
つまり、 zz’ の遷移確率を決めるには、正規化定数: Zp は知らなくてもよい。
)'(~)(~
/)'(~/)(~
)'(
)(
)'(
)'(
zp
zp
Zzp
Zzp
zp
zp
zzp
zzp
p
p
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~ˆ
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 アルゴリズムの味噌
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~ˆ
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 のチェックの代わりに、それ以前の結果を利用して行う。
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))
水平の線はx2の値を固定して次の点に進むイメージ
垂直の線はx1の値を固定して次の点に進むイメージ
X2
X1
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
条件付正規分布 Gibbs Sampling で行った方法(他の変数の
条件は同一にした条件付き分布で、 1変数だけを予測する一例を正規分布で示す。
変数ベクトルzをxとyに分割すると
X= a
y
p(y)
P(y|x=a)
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
一般に正規分布 の指数の肩は次式で書け、右辺の第1項、第2項の係数の部分に着目すれば期待値、共分散が求まる。
- ( G-20)
),( μ|zN
constTTT μzzzμzμz 111
2
1)()(
2
1
条件付正規分布 p(x|y) の期待値 μx|y と共分散 Σ x|y をこの方法を( G-10) 式に適用して求めよう。ー 問題
一方、( 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により
粒子フィルタ
• 内部状態が (ガウス雑音)という更新式で変化していく
• 観測されるのは (ガウス雑音)• 観測値を用いてを推定、を計算するメカニズム
– カルマンフィルタによく似ている。
2-3
f( )
)
)
)