潜在変数がある場合のモデル推論
EMアルゴリズム
EMの混合正規分布への適用例
変分ベイズ法
EP法
9. モデル推定
クラシックな機械学習の入門
by 中川裕志(東京大学)
潜在変数を考慮する推論
 prior:w(=潜在変数+分布のパラメター)と観測データ
{x,t}(ただし、xは入力、tは結果)の分布にハイパーパ
ラメターα、βを導入する。
 まず、観測データから事後確率を最大化するpriorをベ
イズで求める。このためにいろいろな技法あり。(例え
ば経験ベイズ法)
 新規データxに対する予測 t を計算するのは以下の式
)|(),|(),,|(  wwx,ttx,w ppp 
 wtx,wwtx, d),,|(),,|(),,,|(  pxtpxtp
モデル推定のための学習法
 事前知識のない場合はK-meansなど
 EM(Expectation and Maximization)アルゴリズム
 モデル学習法の古典
 変分ベイズ法
予測モデルqを既知のモデル(prior)とのKL divergence
を最小化する関数として変分法で繰り返し計算で求める。
速度は速い。
KL(p||q)=Σp log(p/q)
 MCMC(Markov Chain Monte Carlo)
モデルのパラメター推定をシミュレーションで解いてしまう
方法。速度は遅い。
 ベイズモデルのパラメターを恣意的に決めると気持ち悪い
 ベイズモデルのパラメターを観測データに基づいて求める
方法
 π( θ | α ):事前分布 ただし、 α は事前分布πを決めるパ
ラメター
 観測データx から尤度p (x|θ)が与えられたとき、これを用
いて事前分布のパラメターαmaxを求める。
経験ベイズ法 :
事前分布のパラメターの初期値の推定
    )10(d||maxargmax EBp   

x

 maxargmax 
 多項分布、ディリクレ分布の例
経験ベイズ法 :
事前分布のパラメターの初期値の推定例
    )10(d||maxargmax EBp   

x
 
 
   















K
i
m
i
KK
K
i
m
i
K
i
i
K
i
iKi
ii
ii
mm
M
XDir
XDir
DirXMultXDir
MmmmXmi
1
1
11
0
max
1
1
0
11
1
maxarg
)|(maxarg
),|(maxarg
)|(|),|(
,),,...,(













  :の出現回数観測データ 
観測変数 observed variable(顕在変数
manifest variable)
隠れ変数 hidden variable(潜在変数 latent
variable)
例:混合正規分布のとき、どの正規分布から生成された
データかを示す変数
観測変数のデータを用いて母集団の統計モ
デルの潜在変数を推定する(最尤推定値)
パラメータの値を点で推定
このための数値解法:EMアルゴリズム
Expectation and Maximization Algorithm
EMアルゴリズム
 観測されたデータ(=観測変数の実測データ):X
 潜在変数のとる値:Z
 統計モデルのおける未知のパラメター:θ
 対数尤度関数(log likelihood func.)
 未知パラメターθの最尤推定値は

Z
ZXpXpXL )|,(log)|(log)|( 
)|(maxargˆ 

XL
logの中のΣが現
れると嫌だ!
)(
)|,(
log)()),|(||)(()|(log
)|(log)),|(||)((
)(
)|,(
log)(
)|(log
)(
),|(
log)(
)(
)|,(
log)(
)(Z
)|(log),|(log)|,(log
)|(),|()|,(
Zq
ZXP
ZqXZPZqKLXP
XPXZPZqKL
Zq
ZXP
Zq
XP
Zq
XZP
Zq
Zq
ZXP
Zq
Zq
XPXZPZXP
XPXZPZXP
Z
Z
ZZ
















すなわち、
みなせるこの式は以下のように
下のようになるを用いると上の式は以に関する確率分布ここで
を用いると
EMアルゴリズムの導出 その1
),|(
)|,(
log),|(
),|(
)|,(
log),|(
)),|(||),|(()),|(||),|((
)|(log)|(log
)|(log)|(log
)|(log
),|(
)|,(
log),|()),|(||),|(()|(log
)(),|(
)(
)|,(
log)()),|(||)(()|(log
old
old
Z
old
old
new
Z
old
oldoldnewold
newpld
old
Z
oldold
old
old
Z
XZP
ZXP
XZP
XZP
ZXP
XZP
XZPXZPKLXZPXZPKL
XPXP
XPXP
XP
XZP
ZXP
XZPXZPXZPKLXP
ZqXZP
Z
Zq
ZXP
ZqXZPZqKLXP
oldnew
oldnew


























を評価してみよう。選びたい。そこで、
る)ようにを改善(より大きくすを、を更新したさて、
とする。すなわちなので、これを
を用いるとの現在の推定値、に対する分布の推定はここで
EMアルゴリズムの導出 その2
=0
  )|,(logE
)|,(log),|()|(
)|,(log),|(maxarg
)|,(log),|(
)|,(log),|(
)),|(||),|((
)|,(log),|()|,(log),|(
)),|(||),|((
)|(log)|(log
Z












ZXP
ZXPXZPQ
ZXPXZP
ZXPXZP
ZXPXZP
XZPXZPKL
ZXPXZPZXPXZP
XZPXZPKL
XPXP
old
oldnew
Z
oldold
Z
oldnew
Z
old
new
newold
Z
old
newold
old
Z
oldnew
Z
old
newold
に固定
             
 と書く。以後 なお、
であるを最大化するような
はに近い結局、できるだけ真の
には関係ないので、はまた、
は定義より非負。













EMアルゴリズムの導出 その3
 初期化:θoldを適当に決める
 以下のEstep, Mstepを収束するまで繰り返す
E step: P(Z|X, θold)を計算
M step: θnew =argmax Q(θ| θold) とし、 θold をθnewに更新
θ
 




Z
old
old
old
Z
oldold
XZP
XZP
XZP
ZXPZXPXZPQ old
),,(
),,(
),|(
)|,(logE)|,(log),|()|( Z,



 
EMアルゴリズムの詳細
しかし、上記の導出から分かるように、 をθを動か
しながら最大化しているので、局所解に陥る可能性あり。
)|(log XP
EMとQ関数の再考
 QをEZ( θold)[logP(Z,X| θ)]で書き直すと
 以下のEstep, Mstepを収束するまで繰り返す
E step: P(Z|X, θold)を計算
M step: θnew =argmax θ EZ( θold)[logP(Z,X| θ)]とし、 θold を
θnewに更新
 つまり、 P(Z,X| θ)を θold を固定してZで期待値をとることで
θに関する情報を教師データZから集めてにθ反映させること
を繰り返しての良い推定値を求めている。
K-meansに似ている
θはベクトル。よって、 Mstepでは、θの全要素
を一度に更新する式を求めている点に注意。
楽屋裏の話:なぜQ(θ| θ(t))か?
 なぜ
を直接最適化せずにQ(θ| θold)か?
 Q(θ| θold)=ΣP(Z|X ,θold)logP(Z,X |θold)
である。すなわち、 LはlogΣの形で解析的に扱いにくい。QはΣlogの形で
解析的に扱いやすい
 では、そもそもなぜ尤度ではなく対数尤度なのか?
 多くの分布は exp(f(x)) だったり(ex 正規分布)、べき乗の形であるから、
logをとると扱いやすい。
 なぜ、expやべき乗なのか?
 複数の確率変数の共起は、各々の確率の積だから、という説明も可能
 理論的な背景から見れば「指数分布族:exponential family」であることが効
果を発揮している。

Z
ZXpXpXL )|,(log)|(log)|( 
EMの適用例:1変数正規分布
),|(),|(
1),|(),|(
2211
21222111


xNxN
wherexNxN
要素の正規分布 
 混合正規分布 
このような観測データから、混合
正規分布の各パラメタを推定する
問題の定式化
 
 
 
)30(
),|(
),|(
)1|()1(
)1|()1(
)|1(
)20(),|(),|()|()()(
)11(),|(),|()|(
)10()(
)1()1(1,0
1),|(),|()(
,,,,,
2,1
j
k
2,1
222111
2,1
2211
21
2211
21222111
222111
21
21
GM
xN
xN
zxpzp
zxpzp
xzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
j
jj
kk
k
kk
kk
kk
k
k
kk
zz
zz
k

























理で書きなおすを導入し、ベイズの定されるここで次のように定義
潜在変数
推定するパラメター:
z
z
いよいよEMアルゴリズムの適用
 次のパラメターに適当な初期値を設定:
 E step: P(Z|X, θ(t))を計算
 ただし、観測されたデータはN個あるとする。
 実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにする
。
   
 
 
 
 
   
    k
N
n
nk
N
n
nk
N
n k
nk
N
n k
nk
nkn
nk
j
jjn
kkn
z
z
jjn
z
z
kknnk
nk
nknn
N
n
z
n
z
n
Nzz
Nzznote
zx
GMz
xN
xN
xN
xNz
z
kwherezzzZ
xNxNXZpGMGM
nj
nj
nk
nk
nn






  








11
1
2
11
2
1
2,1
2
j
2
k
2
j
2
k
21
1
2
222
2
111
2
E
E!
(
)40(
),|(
),|(
),|(
),|(
E
)2,1,
),|(),|(),,,|()11()10(
21








定義より
表すばれるか)への寄与をどちらの正規分布が選のこれはデータ
を評価する。    まとめて(すなわちここで
より  と
kk
2
k ,, 
kk  ,,kの の現在の値
から計算した更新値
 Mstep
   
 
    
  
 
での最適値を求める。を最大化してこの
においてを固定した上で次に
 
より 
  
より 
step
GMz
GMxNz
xNzZXp
GM
xNzZXp
xNxNZpZXpZXp
GMGM
kkk
nk
kknk
N
n k
nk
kknk
N
n k
nk
kknk
N
n k
nk
N
n
z
n
z
n
nn
2
2
1
2
1
2
1
2
1
2
Z
1
2
1
1
222111
,,
)50(
)50(),|(loglog
),|(loglogE),,|,(logE
)40(
),|(loglog),,|,(log
),|(),|()()|(),,|,(
)11)(10(
21














 
 
 

  
 
 
 
 
  )70(
1
0
)(
2
)(
log
),|(loglog
)50(
1
1
1
1
2
2
2
1
2
1
1
2
1
GMzx
N
z
zx
x
z
const
x
z
xNz
GM
N
n
nkn
k
N
n
nk
N
n
nkn
new
k
N
n k
kn
nk
k
kn
k
N
n k
nk
k
kknk
N
n k
nk
k
k
new
kk










 
 


































。で微分してゼロとおくを
に更新するの最適化し
  
 
 
 
   
 
)80(
)(
)()801(
)801(0
2
)(
2
1
2
)(
log
2
1
),|(loglog
)50(
1
2
2
1
2
1
2
1
22
2
2
2
2
2
1
2
1
2
2
1
2
1
2
22
GM
N
xz
xzzGM
GM
x
z
const
x
z
xNz
GM
k
N
n
knnk
new
k
N
n
knnk
N
n
nkk
N
n
k
kn
k
nk
k
kn
k
N
n k
nk
k
kknk
N
n k
nk
k
k
new
kk








 
 











 































  より
。で微分してゼロとおくを
に更新するの最適化し、
  
   
 
)90(2
0
0
1),|(loglog
2
1 1
11
2
1
2
1
2
1
GM
N
N
Nz
Nz
zL
xNzL
k
k
k
k
N
n
nk
k
new
kk
N
n
nk
N
n k
nk
k
k
kkknk
N
n k
nk
k



















 


 

 








式より以上の
一方
の最適化
ここでは、 が古い を反映して計算された値であった。
それを固定して、loglikelihoodを最大化する新たな を求めているわ
けだ。
以上の(GM70)(GM80)(GM90)によって の更新式が求められた。
log likelihood (GM50)が収束しなければEstepに戻る
)( kz 2
,, kkk 
2
,, kkk 
2
,, kkk 
EMの適用例:混合多変数正規分布
),|(),|(
1),|(),|(
2211
21222111




xNxN
wherexNxN
要素の正規分布 
 混合正規分布
このような観測データから、混合
正規分布の各パラメタを推定する
この例では1変数の正規分布だ
が以下の導出は多変数の正規分
布を仮定している。

は行列
はベクトル
),(),(
,,,
1
22
1
11
21


x
1変数の場合と似ているが、少し難しいところあり
Σは共分散行列、Λは精度行列で
あることに注意
下の式はk変数の正規分布においてN個のデータがある場合
 
1
2
2,1
2,1
2
1
1
11
11
,...,
1



























 
xkxx
xxx
N
i
kiki
kik
i
xx
x
x
N









問題の定式化
 
 
 
)30(
),|(
),|(
)1|()1(
)1|()1(
)|1(
)20(),|(),|()|()()(
)11(),|(),|()|(
)10()(
)1()1(1,0
1),|(),|()(
,,,,,
2,1
j
k
2,1
222111
2,1
2211
21
2211
21222111
222111
21
21
GM
xN
xN
zxpzp
zxpzp
xzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
j
jj
kk
k
kk
kk
kk
k
k
kk
zz
zz
k




























理で書きなおすを導入し、ベイズの定されるここで次のように定義
潜在変数
推定するパラメター:
z
z
いよいよEMアルゴリズムの適用
 次のパラメターに適当な初期値を設定:
 E step: P(Z|X, θ(t))を計算
 ただし、観測されたデータはN個あるとする。
 実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにす
る。
   
 
 
 
 
   
    k
N
n
nk
N
n
nk
N
n k
nk
N
n k
nk
nkn
nk
j
jjn
kkn
z
z
jjn
z
z
kknnk
nk
nknn
N
n
z
n
z
n
Nzz
Nzznote
zx
GMz
xN
xN
xN
xNz
z
kwherezzzZ
xNxNXZpGMGM
nj
nj
nk
nk
nn






  














11
1
2
11
2
1
2,1
j
k
j
k
21
1
222111
E
E!
(
)40(
),|(
),|(
),|(
),|(
E
)2,1,
),|(),|(),,,|()11()10( 21








定義より
表すばれるか)への寄与をどちらの正規分布が選のこれはデータ
を評価する。    まとめて(すなわちここで
より  と
kk ,,k 
kk ,,k の の現在の値か
ら計算した更新値
 Mstep
   
 
    
  
  
 
での最適値を求める。を最適化してこの
においてを固定した上で次に
 
より 
  
より 
step
GMz
xNz
GMxNz
xNzZXp
GM
xNzZXp
xNxNZpZXpZXp
GMGM
kkk
nk
kknk
N
n k
nk
kknk
N
n k
nk
kknk
N
n k
nk
kknk
N
n k
nk
N
n
z
n
z
n
nn







 
 
 
 






,,
)50(
),|(loglog
)50(),|(loglog
),|(loglogE),,|,(logE
)40(
),|(loglog),,|,(log
),|(),|()()|(),,|,(
)11)(10(
1
1
2
1
1
2
1
1
2
1
Z
1
2
1
1
222111
21







  
 
   
 
 
  )70(
1
0
)()(
2
1
log
),|(loglog
)50(
1
1
1
1
1
1
1
2
1
1
2
1
GMzx
N
z
zx
xz
constxxz
xNz
GM
N
n
nkn
k
N
n
nk
N
n
nkn
new
k
N
n
knknk
knk
T
knk
N
n k
nk
k
kknk
N
n k
nk
k
k
new
kk












 
 


























。で微分してゼロとおくを
に更新するの最適化し
ここが多変数だと難しくなる部分
  
 
 



 

 






























N
n k
knk
T
kn
k
k
nk
knk
T
knk
N
n k
nk
k
kknk
N
n k
nk
k
k
new
k
new
kkk
new
kk
GM
xx
z
constxxz
xNz
GM
1
1
2
1
1
1
2
1
11
)801(0
)()(
2
1log
2
1
)()(
2
1
log
2
1
),|(loglog
)50(
)()(




。で微分してゼロとおくを
に更新するの最適化し、
に更新するの最適化し、
 
 
 
 
   
   
 
)80(
)()(
)()()803)(802)(801(
)803(0)()()()(
)()()()(
log
)(
)(
)802(
log
)801(
)801(0
)()(
2
1log
2
1
11
1
1
1
1
1
11
1
11
1
11
1
GM
N
xxz
Nzz
xxzzGMGMGM
GMxxxx
xxtracexx
trace
AtraceA
GM
GM
GM
xx
z
k
N
n
T
knknnk
new
k
new
k
kk
N
n
nkk
N
n
knk
N
n
T
knknnk
N
n
knk
T
knknk
TT
knknk
T
knknk
k
kknk
T
kn
kk
k
TTT
k
T
k
k
k
N
n k
knk
T
kn
k
k
nk
























































 
  より
  
   
    より   公式 
を計算するのおのおのの項の微分
B
A
AB
xxxx
  
   
 
)90(2
0
0
1),|(loglog
2
1 1
11
2
11
2
1
GM
N
N
Nz
Nz
zL
xNzL
k
k
k
k
N
n
nk
k
new
kk
N
n
nk
N
n k
nk
k
k
kkknk
N
n k
nk
k



















 


 

 








式より以上の
一方
の最適化
ここでは、 が古い を反映して計算された値であった。
それを固定して、loglikelihoodを最大化する新たな を求めているわ
けだ。
以上の(GM70)(GM80)(GM90)によって の更新式が求められた。
log likelihood (GM50)が収束しなければEstepに戻る
kkk ,, 
)( kz kkk ,, 
kkk ,, 
EM法の応用:不完全観測データの場合
のモデル推定:多項分布の場合
 観測値が不完全な場合としては、複数の確率変数があるの
に観測されるのは、K個の和だけなどという場合。
 例題:母集団が次の多項分布である場合にN個の観測値か
らパラメタ-を推定する問題を考える。
 観測値としては、x1,x2,x3,x4,x5ではなく、x1+x2に対応するyと
x3,x4,x5が得られていたとする。
 このため、観測値から直接にパラメタ- θを求められない。
 
  )1(
4
,
4
1
,
4
1
,
4
,
2
1
,,,,
!!!!!
!
,,,,
54321
54321
54321
54321
54321
    ただし 




 




 xxxxx
xxxxx
N
xxxxxp
 そこで、以下のstep1, step2を繰り返して θ を近似する。ただし
、 θの初期値を θ(0)とする。また、以下はk+1回目の繰り返し
とする。
  推定値を求める。を用いて 既に求まっている のkstep1 54321 ,x,x,x,xx
 
       
     
21
21
543
22
2
!!
!
42
1
4
42
1
2
!!
!
,
44
1
4
1
42
1
!!!!!
!
,,,,
1loglog
1loglog4log2log
!!!!!
!
log
2121
2121
54321
54321
4352
435254321
54321
x
old
old
x
old
x
old
old
x
old
xxxy
xx
y
xx
y
xxxxy
xxxxx
N
xxxxx
constxxxx
xxxxxxxxx
xxxxx
N
k















































 





 


















1
の分布は次式なので、ただし、
のなす多項分布は次式
の対数尤度は次式が与えられていたときの近似値として
 
 
 
 
      
212
42
1
4,
42
1
22,1
(*)1loglog
)],,,,,([|
)],,,,,([maxarg1
1
)],,,,,([|
step1step2
4352
54321,,,,,
54321,,,,,
54321,,,,,
54321
54321
54321
xxyxxy
constxxxxE
xxxxxpEQ
xxxxxpEk
k
xxxxxpEQ
Q
old
old
old
xxxxx
old
xxxxx
xxxxx
old
old
old
old
old










項分布でである
1
が各々確率は
    具体的には
を次式で求めるの新しい近似値   
関数の結果を用いて













 
 
   
 
 
543
5
43
5
435
2
2
2
|maxarg
0
1
2|
1loglog
2
(*)
22
,
12
xxxy
xy
Q
xx
xy
Q
constxxxy
yxEpyn
nppp
k
n
old
old
old
old
oldnew
old
old
old
old
old
old
old
old
old
knk






































 


















 この場合には 
の期待値は項分布
準備:KL divergence
 相対エントロピー or Kullback-Leibler divergence or
KL divergence: KL(P||Q):分布PとQの類似性を測る尺度
KL(P||P)=0
KL(P||Q)≠KL(Q||P)
非対称なので擬距離
対称性を持たせるために
SymmetricKL(P||Q)=(KL(P||Q)+KL(Q||P))/2 という尺度もある
 相互情報量:
)(
)(
log)()||(
i
i
i
i
xQ
xP
xPQPKL 
            
   
yx yPxP
yxP
yxPyPxPyxPKLyxI
,
,
log,||,,
この部分をpointwise mutual informationとして使うこと
もある
 観測データからのベイズ推定
 観測データ:X、未知パラメター:θ、
モデル構造:M、潜在変数集合:Z
 新たなデータxの事後予測分布



M Z
MZXp
MpMpMZXp
Xp
MpMpMZXp
XMZp
MpMpMZXpMZXp
dθ),,,(
)()|(),|,(
)(
)()|(),|,(
)|,,(
)()|(),|,(),,,(





M Z
XMZpXp )|,,()|( 
  d)|()|()|( XpxpXxp
この積分の計算が
困難
変分ベイズ法(Variational Bayse:VB)
M
Z θ
X
計算の困難さの問題点を詳しくいうと
 ベイズ推定は、最尤推定と異なり、未知データの予測値では
なく予測分布を求める
 教師データが少ない場合でも、汎化能力の高い予測器が作
れる
 ただし、P(Z|x,θ,M)、xは1個の観測データ(L次元)で、ベイズ
の定理で次のように変形するが
 右辺 P(x,Z|θ,M)は
 xはZの成分(z1,z2,…,zK)に組み合わせで依存しているため、次式のよ
うに分解できない。
 よって、Kが大きくなるとZの成分の組み合わせの数が膨大になり計算
が困難


Z
MZP
MZP
MZP
),|,(
),|,(
),,|(



x
x
x
),|,(),|,(
1 1
MzxPMZP k
K
k
L
l
l   
x
問題であった期待値の計算を近似的に確率的シミュレーションで
解くMCMC法が有力。
ただし、MCMCは計算が膨大。数理モデルを工夫し計算を効率
化する方法として変分ベイズ法
EM法では、Q(θ)を最大にするθを求めた。
VB法では、θの値を最大化の対象にするのではなく、θの分布の
形そのものを求める変分法
変分ベイズ法の考え方
に依存しない。周辺化しているので、
に対してはすなわち、
に注意。
よりの不等式
ZM
ZMXP
MZq
q
MZq
MZXp
MZq
xExEJensen
MZq
MZXp
MZq
MZXpXPXL
M Z
M Z
M Z
M Z
,,
,,)(log
1d),,(
)(d
),,(
),,,(
log),,(
)][log(])[log(
d
),,(
),,,(
),,(log
d),,,(log)(log)(





















F
変分ベイズ法のトリック
)||()(
)||(d
),,(
)|,,(
log),,()1(
)|,,(
)(
),,,(
)1(d
),,(
),,,(
log),,(d)(log),,(
)(
pqKL(q)XL
pqKL
MZq
XMZp
MZq
XMZp
Xp
MZXp
MZq
MZXp
MZqXpMZq
(q)XL
M Z
M ZM Z







F
F
よって
だから










 L(X)はqに依存しないから、F(q)を最大化すること
はKL(q||p)を最小化、すなわちpに最も似たqを求め
ることになる
 EMでは、qを と決め打ちしていたが、VB
では、より柔軟な決め方を行っている。
)|,( )(t
ZXP 
上記のqを求めるプロセスをいきなり計算することは困難なので、
パラメターの事前分布とにq関して以下の仮定をおく。
因子化の仮定






I
i
i
I
i
i
MqMZqMqMθZq
MpMθp
1
1
)|()|()(),,(
)|()|(


この仮定の下で、変分法を使えば、次に述べる変分ベイズ
法のアルゴリズムが導ける
しかし、この仮定が成立しないこともあるので、適用する問
題によっては注意が必要。
因子化の仮定下でのVBの導出 その1
 
 
 
 
   
   
  1dd|)|(
1d|
1)|(
)(
)(
log
d
|
|
log|
d
)|(
),|,(
log|)|(
)(
|)|(ddd
d
)(|)|(
)()|(),|,(
log|)|()(
1
1
Z
1
1
1
1
1
1































 


 
 


 






Z
I
i
Ii
jjM
I
i
i
i
i
i
Z
I
i
i
I
i
iI
I
i
i
M Z
I
i
i
MqMZq
Mq
MZq
Mq
Mp
Mq
Mp
Mq
MZq
MZXp
MqMZq
Mq(q)
MpMp
MqMqMZq
MpMpMZXp
MqMZqMq(q)
















F
F
に注意すると
因子化の仮定下でのVBの導出 その2
 
次のようになる。
の前に出、の右辺と無関係なので、はただし、
の微分を含まないのでが
の極値問題を解く。すなわち、次の
に対して最大化をという条件下で
はの最適な分布が与えられたときのモデル


  

















)]|([)|(
0
)]|([
0
)|(
)]|([
)|()]|([
1)|(
d
)|(
),|,(
log|)|()()]|([
)]|([
)|(1)|(
)|(
Z
1
Z
MZqJMZq
MZqJ
MZq
MZqJ
MZqMZqJ
MZq
MZq
MZXp
MqMZqMqMZqJ
MZqJ
MZq(q)MZq
MZqZM
M Z
I
i
i






F
因子化の仮定下でのVBの導出 その3
 
 
 
   
とおけるのでだからなぜなら 







































































 
 





MM
I
i
i
I
i
i
I
i
i
M
Z
I
i
i
Z
I
i
i
M
MqMq
MqMqMZq
MZXpMq
Mq
MZq
MqMZqMZq
MZXpMqMZq
Mq
MZq
MZq
MZqJ
)(1)(
0
d|d|)|(log
d),|,(log|
)(
1)|(
d|)|(log)|(
d),|,(log|)|(
)(
)|(
)|(
)]|([
11
1
Z
1
1
因子化の仮定下でのVBの導出 その4
 
 
 
   
からなるベクトルのはこの式の          
よって、
の値(スカラー)に対するはある
していると、が確率変数でなく確定もし、
だから、結局さらに








(*)
),|,(
1
),|,()|(
(*)|
)d,|,(log|exp)|(
)|(log1d),|,(log|
1d|
1
1
1


















Z
iii
I
i
i
I
i
i
I
i
i
MZXp
CMZXCpMZq
iMq
MZXpMqCMZq
MZqMZXpMq
Mq
因子化の仮定下でのVBの導出 その5
 
  
   
 
  
 
 
 
   
 
     


































































 
 

 
  



 









Z ji
ijii
i
i
Z ji
ij
iii
ii
i
i
i
Z ji
ij
M
ii
I
i
i
i
i
i
Z
I
i
i
M
i
i
i
MZXpMqMZqMpCMq
C
Mp
Mq
MZXpMqMZq
ff
Mq
Mp
MZXpMqMZq
Mq
Mq
Mq
Mp
Mq
MZqMZXpMqMZq
Mq
Mq
MqJ
MqZM


















d),|,(log|)|(exp||
|
|
logd),|,(log|)|(
0)(0)d(
0
dd1
|
|
log
dd),|,(log|)|(
)(
1d|
d
|
|
log|
d),(log),|,(log|)|(
)(
)|(
)](|([
)|(
1
1
    よって
 だから 
解く。の内部)の極値問題を下の式の次の
 は の最適な分布 が与えられたときの モデル
変分ベイズ法のアルゴリズム
 初期化として、以下の初期分布を設定
 反復計算 以下を収束するまで繰り返す。
 VB-E step
 VB-M step
 はθの構成要素からθiを除いた残りを意味する
IiMpMq old
i
old
i ,...,1})|({},)|({ 
)]),|,([logexp())d,|,(log)|(exp()|( ,, MZXpECMZXpMqCMZq ZM
M Z
oldnew
  
とする。を変数変数 oldnew
ZMi
i
old
i
M Z
new
i
new
i
MZXpEMpC
dZdMZDpMqMZqMpC
Mq
old
i
new )]),|,([logexp()|(
}){),|,(log)|}{()|(exp()|(
)|(
}{,,
'
'





 
}{ i
変分ベイズ法再考
EMの再考を思い出して比較してみる。
 P(Z,X| θ,M)を θold を固定してZ, θ,Mで期待値をとる
ことによって、Z,θ,Mに関する情報を教師データZか
ら集めて再度推定することを繰り返しての良い推定
値を求めている。
 ただし、因子化仮定によってθiを別々に更新してい
る。だから解析的に更新式が求まる場合もあるわけ
だ。
とする。を変数変数 oldnew
ZMi
new
i
ZM
new
MZXpEMpCMqMstepVB
MZXpECMZqEstepVB
old
i
new )]),|,([logexp()|()|(:
)]),|,([logexp()|(:
}{,,
'
,,






変分ベイズ法の例題
 1変数正規分布p(X| μ , τ )のパラメターを観測データから推
定。ただし、平均値μ (これを潜在変数Zとみなす) 精度
(=分散の逆数)τ (これをパラメターθとみなす)の事前分
布は以下のように与えられているとする。
 p(τ|a,b )を定義するガンマ関数は、パラメターa,bによっていろ
いろな分布形になるので、a,bを変化させて適した分布を得る
目的でVBの事前分布として使うことが多い。
)exp(
)(
),|(),|(
))(|()|(
)(
2
exp
2
),|(
0
0
1
0
0000
1
0,0
1
2
2
00









b
a
b
baGammabap
Np
xXp
aa
N
i
i
N






















ガンマ分布
0.5
10
 factorizedな変分近似の事後分布を
q(μ , τ )=q μ(μ)q τ(τ)とすると、以下のようにVB-Eステップ、VB-Mステッ
プの計算ができる。左辺のqは更新した結果とする。
 VB-E:ここでは、内部変数μ,λを更新する。

 
  ][
),|()(
2
2
][
exp
)()(
2
][
exp
)]|(log),|([logexp)(
0
0
00
1
0
1
22
00
0
1
00
2
01
1
2
00
2
1
0
















EN
N
xN
Nq
N
x
N
x
N
E
C
x
E
C
pXpECq
NN
NN
N
i
i
N
i
i
N
i
i


























































よって
E[log(τ/2π)N/2]
などはμには
関係しないの
で定数とみな
す
 VB-Mステップ
 Gamma分布が指数分布族(事前分布と事後分布が同じタイプ
だから、以下のように推論できる。
 こうして を定義するGamma分布のパラメターが更新さ
れた。
 以下、同様にVB-E,VB-Mを収束するまで繰り返すことになる。

])()([
2
1
2
1
),|(
])()([
2
log
2
1
log)1(
exp
)]|(log))(,|([logexp)()(
1
2
00
2
0
0
1
2
00
2
00
1
1
0

























N
i
iN
N
NN
N
i
i
xEbb
N
aa
baGamma
xE
N
ba
C
pXpEpCq









更新式が得られるに対応させると以下のこの結果を
)(p
 変分ベイズ法ではKL(q||p)を最小化した。しかし、p
に近いqを求めればよいのだからKL(p||q)を最小化
する方法もありうる。
 これがExpectation Propagation:EP法。
Expectation Propagation
EP法の背景
 KL(p||q)を最小化するqをpから求める。
 qはexponential family
 一方、exponential familyであるqにおいて
][
)(
)||(KLminimize
][)()||(
))(exp()()(
)(
)(
u(z)
η
η
u(z)ηη
ηu(z)ηzz
z
z
T
T
p
p
E
a
qptothen
constEaqpKL
ahq






 
が保存されている。  となり=あわせると
ゆえに
より
=1の積分が1だから
momentuEuE
uE
η
ηa
duηauηhdηauηh
η
ηa
auηhq
zpzq
zq
TT
][][
][
)(
0)())()(exp()())()(exp()(
)(
d)(exp)(
)()(
)(
(z)(z)
(z)
xxxxxxx
zη(z)z T










EP法
 確率変数θをパラメターとするとき、第i番目の
データの出現確率がfi(θ)とする。
 このとき、観測データDの結合確率は
 そこで、狙いは事後分布p(θ|D)を近似する分
布qを以下のように求めること。
)(),(  
i
ifDp

i
if
Z
q )(
~1
)( 
EP法の処理手順
)(
~
if1. を全て初期化。
2. 事後分布の近似を以下ように設定
3. 収束するまで以下を繰り返す
(a)改善すべき を決める
(b)これを次のようにして取り除く
(c)良い十分統計量(exモメント)が保存されるような新し
い事後分布 を求め、正規化定数も
次のように求める。
(この計算を解析的に行うので、けっこう面倒である。)
(d)以下の更新を行う。
4. 得られたモデルの近似度を評価する。

i
ifq )(
~
)( 
)(
~
jf
)(
~
)(
)(



j
j
f
q
q 
)()()( 
 j
jnew
fqq 
 d)()(
j
j
j fqZ 
)(
)(
)(
~



 j
new
jj
q
q
Zf 
 d)(
~
)( 
i
ifDp
EP法の例:グラフィカルモデル
 左側の構造のグラフィカルモデルを、右側のように
分解する。
2
~
bf
x1 x2 x3
x4
x4
x3x2x1
fa
fc
fb
1
~
af
1
~
af
2
~
cf
2
~
af 3
~
bf
4
~
cf
),(
~
),(
~
),(
~
)(
),(),(),()(
433221
433221
xxfxxfxxfq
xxfxxfxxfp
cba
cba


x
x
ここで、前頁の右のグラフのように分解してみると
。下のようにして求めるを最小化するものは以
て得る。を最小化するものとしは、ここで、
をかけてそして、更新した
すると
を選ぶ。=ムにおいてここでEPアルゴリズ
)||ˆ(
)||ˆ()(
)(
~
)(
~
),()(
~
)(
~
),()()(ˆ
)(
~
)(
~
)(
~
)(
~
)(
)(
~
)(
~
),(
~
)(
~
)(
~
)(
~
)(
~
)(
~
)(
~
)(
442232221132

44222211

332232
442233222211
new
newnew
ccbaab
b
b
ccaa
b
bbb
ccbbaa
qpKL
qpKLq
xfxfxxfxfxfxxfqp
f
xfxfxfxfq
xfxfxxf
xfxfxfxfxfxfq
x
xx
x
x



KLを最小化するには
 

 
 

 
 




























ppZqq
ZqZqZp
ZqZpp
Zq
p
q
h
qqpKLh
Lagrangueq
pqZppconst
ZqpqpKL
ji
ii
iiiij
iij
ji
i
iiji
i
j
M
i
i
i
M
i
ii
M
i
ii
周辺化したすなわちゆえに最適な
よりかつここで
未定乗数法によりだが、について最小化するのこれを
のエントロピーに無関係なすなわち、じつは
ZZ
ZZ
ZZ
ZZ
ZZ
d)()(
11)()(1)(
)()(d)(
)(
1
d)(0
)1()||(
)d)(log)((
d)(log)()||(
*
1
1
1




よってqnewは更新したpを周辺化すればよい
 
 ),()(
~
)(
~
)(
~
),()(
~
~
,
~
)(
~
)(ˆ
),()(
~
)(
~
)(ˆ
),()(
~
)(
~
)(ˆ
)(
~
)(ˆ
32222233
3222
32
444
3222223
3222222
111
2
3
2
3
xxfxfxfxf
xxfxf
ffq
xfxp
xxfxfxfxp
xxfxfxfxp
xfxp
p
b
x
cab
x
bb
bb
new
c
b
x
ca
x
bca
a










は以下のとおり。において更新されたよって、
 は以下の通り 関連する周辺化された
以下、同様にfa , fb , fcについてこれらの操作を収束するまで繰り返す。

クラシックな機械学習の入門  9. モデル推定