潜在変数がある場合のモデル推論 EMアルゴリズム EMの混合正規分布への適用例 変分ベイズ法 EP法 9. モデル推定 クラシックな機械学習の入門 by 中川裕志(東京大学)
Jun 26, 2015
潜在変数がある場合のモデル推論
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
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
old
old
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,1
j
k
2,1
222111
2,1
2211
21
2211
21222111
222111
21
21
GMxN
xN
zxpzp
zxpzpxzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
j
jj
kk
k
kk
kkkk
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
GMzxN
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
nnn
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
12
2
2
1
2
1
1
2
1
GMzxN
z
zx
xz
constx
z
xNz
GM
N
n
nkn
k
N
n
nk
N
n
nknnew
k
N
n k
knnk
k
knk
N
n k
nk
k
kknk
N
n k
nk
k
k
new
kk
。で微分してゼロとおくを
に更新するの最適化し
)80(
)(
)()801(
)801(02
)(
2
1
2
)(log
2
1
),|(loglog
)50(
1
2
2
1
2
1
2
1
22
2
2
2
22
1
2
1
2
2
1
2
1
2
22
GMN
xz
xzzGM
GMx
z
constx
z
xNz
GM
k
N
n
knnknew
k
N
n
knnk
N
n
nkk
N
nk
kn
k
nk
k
knk
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
GMN
N
Nz
NzzL
xNzL
kk
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
GMxN
xN
zxpzp
zxpzpxzpz
z
GMxNxNzxpzpxp
GMxNxNxp
GMp
zpzpz
xNxNxp
j
jj
kk
k
kk
kkkk
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
GMzxN
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
nnn
,,
)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
22211121
)70(
1
0
)()(2
1log
),|(loglog
)50(
1
1
1
1
1
1
1
2
1
1
2
1
GMzxN
z
zx
xz
constxxz
xNz
GM
N
n
nkn
k
N
n
nk
N
n
nknnew
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
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
T
knknnknew
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
より
より 公式
を計算するのおのおのの項の微分
BA
ABxxxx
)90(2
0
0
1),|(loglog
2
1 1
11
2
11
2
1
GMN
N
Nz
NzzL
xNzL
kk
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
5432154321
ただし
xxxxx
xxxxx
Nxxxxxp
そこで、以下のstep1, step2を繰り返して θ を近似する。ただし、 θの初期値を θ(0)とする。また、以下はk+1回目の繰り返しとする。
推定値を求める。を用いて 既に求まっている の k step1 54321 ,x,x,x,xx
21
21
543
22
2
!!
!
42
14
42
12
!!
!
,
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
xxxxxxxxxxxxxx
N
k
1
の分布は次式なので、ただし、
のなす多項分布は次式
の対数尤度は次式が与えられていたときの近似値として
212
42
14,
42
122,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
xy
Q
xxxy
Q
constxxxy
yxEpyn
npppk
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
ixQ
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
l
l
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
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
ii
Z
I
i
i
I
i
iI
I
i
i
M Z
I
i
i
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
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
MZXpCMZXCpMZq
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
ii
Z
I
i
i
M
i
i
i
MZXpMqMZqMpCMq
CMp
MqMZXpMqMZq
ff
Mq
Mp
MZXpMqMZq
Mq
Mq
Mq
MpMq
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
oldi
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
oldi
new )]),|,([logexp()|()|(:
)]),|,([logexp()|(:
}{\,,
'
,,
変分ベイズ法の例題 1変数正規分布p(X| μ , τ )のパラメターを観測データから推定。ただし、平均値μ (これを潜在変数Zとみなす) 精度(=分散の逆数)τ (これをパラメターθとみなす)の事前分
布は以下のように与えられているとする。
p(τ|a,b )を定義するガンマ関数は、パラメターa,bによっていろいろな分布形になるので、a,bを変化させて適した分布を得る目的でVBの事前分布として使うことが多い。
)exp()(
),|(),|(
))(|()|(
)(2
exp2
),|(
0
0
1
00000
1
0,0
1
22
00
ba
bbaGammabap
Np
xXp
aa
N
i
i
N
ガンマ分布
0.5
10
factorizedな変分近似の事後分布を
q(μ , τ )=q μ(μ)q τ(τ)とすると、以下のようにVB-Eステップ、VB-Mステップの計算ができる。左辺のqは更新した結果とする。
VB-E:ここでは、内部変数μ,λを更新する。
][
),|()(
22
][exp
)()(2
][exp
)]|(log),|([logexp)(
0
0
00
1
0
1
22
00
0
1
002
01
1
2
00
2
1
0
ENN
xN
Nq
N
x
N
x
NE
C
xE
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
log2
1log)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
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
z
T
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)zT
EP法
確率変数θをパラメターとするとき、第i番目のデータの出現確率がfi(θ)とする。
このとき、観測データDの結合確率は
そこで、狙いは事後分布p(θ|D)を近似する分布qを以下のように求めること。
)(),( i
ifDp
i
ifZ
q )(~1
)(
EP法の処理手順 )(
~if
1. を全て初期化。
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
x4 x4
x3 x2 x1
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
Zqp
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)(
)(
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
b
x
cab
x
bb
bb
new
c
b
x
ca
x
bca
a
は以下のとおり。において更新されたよって、
は以下の通り 関連する周辺化された
以下、同様にfa , fb , fcについてこれらの操作を収束するまで繰り返す。