潜在変数がある場合のモデル推論EM アルゴリズム
EM の混合正規分布への適用例変分ベイズ法
EP 法
モデル推定
潜在変数を考慮する推論 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
mi
KK
K
i
mi
K
ii
K
iiKi
ii
ii
mm
M
XDir
XDir
DirXMultXDir
MmmmXmi
1
1
11
0
max
1
1
011
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
ZXPZqXZPZqKLXP
XPXZPZqKLZq
ZXPZq
XPZq
XZPZq
Zq
ZXPZq
Zq
XPXZPZXP
XPXZPZXP
Z
Z
ZZ
すなわち、
みなせるこの式は以下のように
下のようになるを用いると上の式は以に関する確率分布ここで
を用いると
EM アルゴリズムの導出 その1
),|(
)|,(log),|(
),|(
)|,(log),|(
)),|(||),|(()),|(||),|((
)|(log)|(log
)|(log)|(log
)|(log
),|(
)|,(log),|()),|(||),|(()|(log
)(),|(
)(
)|,(log)()),|(||)(()|(log
old
old
Z
oldold
new
Z
old
oldoldnewold
newpld
oldZ
oldold
old
old
Z
XZP
ZXPXZP
XZP
ZXPXZP
XZPXZPKLXZPXZPKL
XPXP
XPXP
XP
XZP
ZXPXZPXZPXZPKLXP
ZqXZP
Z
Zq
ZXPZqXZPZqKLXP
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
oldold
Z
oldold
XZP
XZPXZP
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,1j
k
2,1
2221112,1
2211
21
2211
21222111
222111
21
21
GMxN
xN
zxpzp
zxpzpxzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
jjj
kk
kkk
kkkk
k
kkk
zz
zz
k
理で書きなおすを導入し、ベイズの定されるここで次のように定義
潜在変数
推定するパラメター:
z
z
いよいよ EM アルゴリズムの適用
次のパラメターに適当な初期値を設定: E step: P(Z|X, θ ( t ) ) を計算
ただし、観測されたデータは N個あるとする。 実際には、 P(Z|X, θ ( t ) ) ではなく Z の期待値 を求めてお
くことにする。
k
N
nnk
N
nnk
N
n knk
N
n knk
nkn
nk
jjjn
kkn
z
z
jjn
z
z
kknnk
nk
nknn
N
n
z
n
z
n
Nzz
Nzznote
zx
GMzxN
xN
xN
xNz
z
kwherezzzZ
xNxNXZpGMGM
nj
nj
nk
nk
nn
11
1
2
11
2
1
2,1
2j
2k
2j
2k
21
1
2222
2111
2
E
E!
(
)40(),|(
),|(
),|(
),|(
E
)2,1,
),|(),|(),,,|()11()10( 21
定義より
表すばれるか)への寄与をどちらの正規分布が選のこれはデータ
を評価する。 まとめて(すなわちここで
よりと
kk2
k ,,
kk ,,kの の現在の値から計算した更新値
Mstep
での最適値を求める。を最大化してこの
においてを固定した上で次に
より
より
step
GMz
GMxNz
xNzZXp
GM
xNzZXp
xNxNZpZXpZXp
GMGM
kkk
nk
kknk
N
n knk
kknk
N
n knk
kknk
N
n knk
N
n
zn
zn
nn
2
2
1
2
1
2
1
2
1
2Z
1
2
1
1222111
,,
)50(
)50(),|(loglog
),|(loglogE),,|,(logE
)40(
),|(loglog),,|,(log
),|(),|()()|(),,|,(
)11)(10(
21
)70(
1
0)(
2
)(log
),|(loglog
)50(
1
1
1
12
2
2
1
2
1
1
2
1
GMzxNz
zx
xz
constx
z
xNz
GM
N
nnkn
kN
nnk
N
nnkn
newk
N
n k
knnk
k
knk
N
n knk
k
kknk
N
n knk
k
k
newkk
。で微分してゼロとおくをに更新するの最適化し
)80(
)(
)()801(
)801(02
)(
2
1
2
)(log
2
1
),|(loglog
)50(
1
2
2
1
2
1
2
122
2
2
2
22
1
2
12
2
1
2
12
22
GMN
xz
xzzGM
GMx
z
constx
z
xNz
GM
k
N
nknnk
new
k
N
nknnk
N
nnkk
N
n k
kn
k
nk
k
knk
N
n knk
k
kknk
N
n knk
k
k
new
kk
より
。で微分してゼロとおくをに更新するの最適化し、
)90(2
0
0
1),|(loglog
2
1 1
11
2
1
2
1
2
1
GMN
N
Nz
NzzL
xNzL
kk
kk
N
nnk
knew
kk
N
nnk
N
n k
nk
k
kkkknk
N
n knk
k
式より以上の
一方
の最適化
ここでは、 が古い を反映して計算された値であった。それを固定して、 loglikelihood を最大化する新たな を求めているわけだ。
以上の (GM70)(GM80)(GM90) によって の更新式が求められた。
log likelihood (GM50) が収束しなければ Estep に戻る
)( kz 2,, kkk 2,, kkk
2,, kkk
EM の適用例:混合多変数正規分布
),|(),|(
1),|(),|(
2211
21222111
xNxN
wherexNxN
要素の正規分布
混合正規分布
このような観測データから、混合正規分布の各パラメタを推定する
この例では 1 変数の正規分布だが以下の導出は多変数の正規分布を仮定している。 は行列
はベクトル
),(),(
,,,1
221
11
21
x
1 変数の場合と似ているが、少し難しいところあり
Σ は共分散行列、 Λ は精度行列であることに注意
下の式は k 変数の正規分布において N個のデータがある場合
1
22,1
2,121
111
11
,...,1
xkxx
xxx
N
ikiki
kik
i
xx
x
x
N
問題の定式化
)30(),|(
),|(
)1|()1(
)1|()1()|1(
)20(),|(),|()|()()(
)11(),|(),|()|(
)10()(
)1()1(1,0
1),|(),|()(
,,,,,
2,1j
k
2,1
2221112,1
2211
21
2211
21222111
222111
21
21
GMxN
xN
zxpzp
zxpzpxzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
jjj
kk
kkk
kkkk
k
kkk
zz
zz
k
理で書きなおすを導入し、ベイズの定されるここで次のように定義
潜在変数
推定するパラメター:
z
z
いよいよ EM アルゴリズムの適用
次のパラメターに適当な初期値を設定: E step: P(Z|X, θ ( t ) ) を計算
ただし、観測されたデータは N個あるとする。 実際には、 P(Z|X, θ ( t ) ) ではなく Z の期待値 を求めて
おくことにする。
k
N
nnk
N
nnk
N
n knk
N
n knk
nkn
nk
jjjn
kkn
z
zjjn
z
zkknnk
nk
nknn
N
n
zn
zn
Nzz
Nzznote
zx
GMzxN
xN
xN
xNz
z
kwherezzzZ
xNxNXZpGMGM
nj
nj
nk
nk
nn
11
1
2
11
2
1
2,1j
k
j
k
21
1222111
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 knk
kknk
N
n knk
kknk
N
n knk
kknk
N
n knk
N
n
zn
zn
nn
,,
)50(
),|(loglog
)50(),|(loglog
),|(loglogE),,|,(logE
)40(
),|(loglog),,|,(log
),|(),|()()|(),,|,(
)11)(10(
1
1
2
1
1
2
1
1
2
1Z
1
2
1
1222111
21
)70(
1
0
)()(2
1log
),|(loglog
)50(
1
1
1
1
1
1
1
2
1
1
2
1
GMzxNz
zx
xz
constxxz
xNz
GM
N
nnkn
kN
nnk
N
nnkn
newk
N
nknknk
knkT
knk
N
n knk
k
kknk
N
n knk
k
k
newkk
。で微分してゼロとおくをに更新するの最適化し
ここが多変数だと難しくなる部分
N
n k
knkT
kn
k
knk
knkT
knk
N
n knk
k
kknk
N
n knk
k
k
new
knewkkk
newkk
GMxx
z
constxxz
xNz
GM
1
1
2
1
1
1
2
1
11
)801(0)()(
2
1log
2
1
)()(2
1log
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
GMN
xxz
Nzz
xxzzGMGMGM
GMxxxx
xxtracexx
traceAtraceA
GM
GM
GMxx
z
k
N
n
Tknknnk
newk
newk
kk
N
nnkk
N
nknk
N
n
Tknknnk
N
nknk
Tknknk
TTknknk
Tknknk
kkknk
Tkn
kk
k
TTT
k
T
kk
k
N
n k
knkT
kn
k
knk
より
より 公式
を計算するのおのおのの項の微分
BA
ABxxxx
)90(2
0
0
1),|(loglog
2
1 1
11
2
11
2
1
GMN
N
Nz
NzzL
xNzL
kk
kk
N
nnk
knew
kk
N
nnk
N
n k
nk
k
kkkknk
N
n knk
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
5432154321
5432154321
ただし
xxxxx
xxxxx
Nxxxxxp
そこで、以下の step1, step2 を繰り返して θ を近似する。ただし、 θ の初期値を θ(0) とする。また、以下はk+1 回目の繰り返しとする。
推定値を求める。を用いて 既に求まっている の k step1 54321 ,x,x,x,xx
21
21
543
22
2
!!
!
421
4
421
2!!
!
,
44
1
4
1
42
1
!!!!!
!
,,,,
1loglog
1loglog4log2log!!!!!
!log
2121
2121
54321
54321
4352
43525432154321
x
old
old
x
old
x
old
old
x
old
xxxy
xx
y
xx
y
xxxxy
xxxxx
N
xxxxx
constxxxx
xxxxxxxxxxxxxx
N
k
1
の分布は次式なので、ただし、
のなす多項分布は次式
の対数尤度は次式が与えられていたときの近似値として
212
421
4,
421
22,1
(*)1loglog
)],,,,,([|
)],,,,,([maxarg1
1
)],,,,,([|
step1 step2
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
01
2|
1loglog2
(*)
22,
12
xxxy
xyQ
xxxy
Q
constxxxy
yxEpyn
npppk
n
old
old
old
old
oldnew
old
oldold
old
old
old
old
old
old
knk
この場合には
の期待値は項分布
準備:KL divergence
相対エントロピー or Kullback-Leibler divergence or KL divergence: KL(P||Q) :分布 P と Q の類似性を測る尺度
KL(P||P)=0KL(P||Q)≠KL(Q||P)
非対称なので擬距離対称性を持たせるために SymmetricKL(P||Q)=(KL(P||Q)
+KL(Q||P))/2 という尺度もある 相互情報量:
)(
)(log)()||(
i
i
ii xQ
xPxPQPKL
yx yPxP
yxPyxPyPxPyxPKLyxI
,
,log,||,,
この部分を pointwise mutual information として使うこともある
観測データからのベイズ推定観測データ: X 、未知パラメター: θ 、 モデル構造: M 、潜在変数集合: Z
新たなデータ x の事後予測分布
M Z
MZXp
MpMpMZXp
Xp
MpMpMZXpXMZp
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
MZPMZP
),|,(
),|,(),,|(
x
xx
),|,(),|,(1 1
MzxPMZP k
K
k
L
ll
x
問題であった期待値の計算を近似的に確率的シミュレーションで 解く MCMC 法が有力。
ただし、 MCMC は計算が膨大。数理モデルを工夫し計算を効率化する方法として変分ベイズ法
EM 法では、 Q(θ) を最大にする θ を求めた。VB 法では、 θ の値を最大化の対象にするのではなく、 θ の
分布の形そのものを求める変分法
変分ベイズ法の考え方
に依存しない。周辺化しているので、に対してはすなわち、
に注意。
よりの不等式
ZM
ZMXP
MZq
qMZq
MZXpMZq
xExEJensen
MZq
MZXpMZq
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
pqKLMZq
XMZpMZq
XMZpXp
MZXp
MZq
MZXpMZqXpMZq
(q)XL
M Z
M ZM Z
F
F
よって
だから
L ( X) は q に依存しないから、 F(q)を最大化することは KL(q||p) を最小化、すなわち p に最も似た q を求めることになる
EM では、 q を と決め打ちしていたが、 VB では、より柔軟な決め方を行っている。
)|,( )(tZXP
上記の q を求めるプロセスをいきなり計算することは困難なので、パラメターの事前分布とに q関して以下の仮定をおく。
因子化の仮定
I
ii
I
ii
MqMZqMqMθZq
MpMθp
1
1
)|()|()(),,(
)|()|(
この仮定の下で、変分法を使えば、次に述べる変分ベイズ法のアルゴリズムが導ける
しかし、この仮定が成立しないこともあるので、適用する問題によっては注意が必要。
因子化の仮定下での VB の導出 その1
1dd|)|(
1d|
1)|(
)(
)(log
d|
|log|
d)|(
),|,(log|)|(
)(
|)|(ddd
d
)(|)|(
)()|(),|,(log|)|()(
11
Z
1
1
11
1
1
Z
I
iIi
jjM
I
ii
i
ii
Z
I
ii
I
iiI
I
ii
M Z
I
ii
MqMZq
Mq
MZq
Mq
Mp
Mq
MpMq
MZq
MZXpMqMZq
Mq(q)
MpMp
MqMqMZq
MpMpMZXpMqMZqMq(q)
F
F
に注意すると
因子化の仮定下での VB の導出 その2
次のようになる。
の前に出、の右辺と無関係なので、はただし、
の微分を含まないのでが
の極値問題を解く。すなわち、次の
に対して最大化をという条件下で
はの最適な分布が与えられたときのモデル
)]|([)|(
0)]|([
0)|(
)]|([
)|()]|([
1)|(
d)|(
),|,(log|)|()()]|([
)]|([
)|(1)|(
)|(
Z
1
Z
MZqJMZq
MZqJ
MZq
MZqJ
MZqMZqJ
MZq
MZq
MZXpMqMZqMqMZqJ
MZqJ
MZq(q)MZq
MZqZM
M Z
I
ii
F
因子化の仮定下での VB の導出 その3
とおけるのでだからなぜなら
MM
I
ii
I
ii
I
ii
M
Z
I
ii
Z
I
ii
M
MqMq
MqMqMZq
MZXpMq
Mq
MZq
MqMZqMZq
MZXpMqMZqMq
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
ii
I
ii
I
ii
MZXpCMZXCpMZq
iMq
MZXpMqCMZq
MZqMZXpMq
Mq
因子化の仮定下での VB の導出 その5
Z jiijii
i
i
Z jiij
iii
iii
i
iZ ji
ij
M
ii
I
ii
i
ii
Z
I
ii
M
i
i
i
MZXpMqMZqMpCMq
CMp
MqMZXpMqMZq
ff
Mq
Mp
MZXpMqMZqMq
Mq
Mq
MpMq
MZqMZXpMqMZqMq
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 oldi
oldi ,...,1})|({},)|({
)]),|,([logexp())d,|,(log)|(exp()|( ,, MZXpECMZXpMqCMZq ZMM Z
oldnew
とする。を変数変数 oldnew
ZMi
iold
iM Z
newi
newi
MZXpEMpC
dZdMZDpMqMZqMpC
Mq
oldi
new )]),|,([logexp()|(
}){\),|,(log)|}{\()|(exp()|(
)|(
}\{,,
'
'
}{\ i
変分ベイズ法再考EM の再考を思い出して比較してみる。
P(Z,X| θ,M) を θold を固定して Z, θ,M で期待値をとることによって、 Z,θ,M に関する情報を教師データ Z から集めて再度推定することを繰り返しての良い推定値を求めている。
ただし、因子化仮定によって θi を別々に更新している。だから解析的に更新式が求まる場合もあるわけだ。
とする。を変数変数 oldnew
ZMinew
i
ZMnew
MZXpEMpCMqMstepVB
MZXpECMZqEstepVB
oldi
new )]),|,([logexp()|()|(:
)]),|,([logexp()|(:
}{\,,
'
,,
変分ベイズ法の例題 1 変数正規分布 p(X| μ , τ ) のパラメターを観測データか
ら推定。ただし、平均値 μ (これを潜在変数 Zとみなす) 精度(=分散の逆数) τ (これをパラメター θとみなす)の事前分布は以下のように与えられているとする。
p(τ|a,b ) を定義するガンマ関数は、パラメター a,b によっていろいろな分布形になるので、 a,b を変化させて適した分布を得る目的でVBの事前分布として使うことが多い。
)exp()(
),|(),|(
))(|()|(
)(2
exp2
),|(
00
10
0000
10,0
1
22
00
ba
bbaGammabap
Np
xXp
aa
N
ii
N
ガンマ分布
0.5
10
factorized な変分近似の事後分布を q(μ , τ )=q μ(μ)q τ(τ) とすると、以下のように VB-Eステップ、 VB-Mステップの計算ができる。左辺の q は更新した結果とする。
VB-E :ここでは、内部変数 μ,λ を更新する。
][
),|()(
22
][exp
)()(2
][exp
)]|(log),|([logexp)(
00
00
1
0
1
2200
0
100
201
1
200
21
0
ENN
xN
Nq
N
x
N
xN
EC
xE
C
pXpECq
NN
NN
N
ii
N
ii
N
ii
よって
E[log(τ/2π)N/2]などは μ には関係しないので定数とみなす
VB-Mステップ
Gamma 分布が指数分布族(事前分布と事後分布が同じタイプだから、以下のように推論できる。
こうして を定義する Gamma 分布のパラメターが更新された。
以下、同様に VB-E,VB-M を収束するまで繰り返すことになる。
])()([2
12
1
),|(
])()([2
log2
1log)1(
exp
)]|(log))(,|([logexp)()(
1
200
20
0
1
200
2
00
1
10
N
iiN
N
NN
N
ii
xEbb
Naa
baGamma
xE
Nba
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
zT
T
p
p
Ea
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
ifZq )(
~1)(
EP 法の処理手順)(
~ if1. を全て初期化。
2.事後分布の近似を以下ように設定
3.収束するまで以下を繰り返す
(a) 改善すべき を決める
(b) これを次のようにして取り除く
(c) 良い十分統計量( ex モメント)が保存されるような新しい事後分布 を求め、正規化定数も次のように求める。
(この計算を解析的に行うので、けっこう面倒である。)
(d) 以下の更新を行う。
4.得られたモデルの近似度を評価する。
i
ifq )(~
)(
)(~ jf
)(~
)()(\
j
j
f
)()()( \ jjnew fqq
d)()(\j
jj fqZ
)(
)()(
~\
j
new
jjq
qZf
d)(~
)( i
ifDp
EP法の例 :グラフィカルモデル
左側の構造のグラフィカルモデルを、右側のように分解する。
2
~bf
x1 x2 x3
x4x4
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
ccbaabb
b
ccaab
bbb
ccbbaa
qpKL
qpKLq
xfxfxxfxfxfxxfqp
f
xfxfxfxfq
xfxfxxf
xfxfxfxfxfxfq
x
xx
x
x
KLを最小化するには
ppZqq
ZqZqZp
ZqZpp
Zqp
q
h
qqpKLh
Lagrangueq
pqZppconst
ZqpqpKL
jiii
iiiij
iijji
i
iijii
j
M
ii
i
M
iii
M
iii
周辺化したすなわちゆえに最適な
よりかつここで
未定乗数法によりだが、について最小化するのこれを
のエントロピーに無関係なすなわち、じつは
ZZ
ZZ
ZZ
ZZ
ZZ
d)()(
11)()(1)(
)()(d)(
)(
1d)(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
bx
cab
xbb
bbnew
c
bx
ca
xbca
a
は以下のとおり。において更新されたよって、
は以下の通り 関連する周辺化された
以下、同様に fa , fb , fc についてこれらの操作を収束するまで繰り返す。