nonparametric factor analysis with beta process priors の式解説
TRANSCRIPT
Nonparametric Factor Analysis with Beta Process Priorsの式解説Tomonari MASADA
August 30, 2013
1 Variational Lower Bound
xi = Φ(zi ◦ wi) + εi から、xid =∑
k φkdzikwik + εid が得られるので、εid = xid −∑
k φkdzikwik となる。
p(X,Z,W,Φ, π|Σ, σn, σw, a, b)
= p(X|Z,W,Φ)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)
=N∏i=1
D∏d=1
1√2πσ2
n
exp
{− (xid −
∑k φkdzikwik)
2
2σ2n
}·
N∏i=1
K∏k=1
πzikk (1− πk)
1−zik
·N∏i=1
K∏k=1
1√2πσ2
w
exp(− w2
ik
2σ2w
)·
K∏k=1
1
(2π)D/2|Σ|1/2 exp
(− 1
2φTkΣ
−1φk
)
·K∏
k=1
Γ(a/K + b(K − 1)/K)
Γ(a/K)Γ(b(K − 1)/K)πa/K−1k (1− πk)
b(K−1)/K−1 (1)
Jensenの不等式を適用し、variational lower boundを次のように求める。∫ ∑
Z
ln p(X,Z,W,Φ, π|Σ, σn, σw, a, b)dWdΦdπ
≥∫ ∑
Z
q(Z,W,Φ, π) lnp(X|Z,W,Φ)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)
q(Z,W,Φ, π)dWdΦdπ (2)
ここで、q(Z,W,Φ, π) ≡ q(Z)q(W )q(Φ)q(π)と分解できると仮定する。∫ ∑
Z
ln p(X,Z,W,Φ, π|Σ, σn, σw, a, b)dWdΦdπ
≥∫ ∑
Z
q(Z)q(W )q(Φ)q(π) lnp(X|Z,W,Φ)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)
q(Z)q(W )q(Φ)q(π)dWdΦdπ (3)
式 (3)の lower boundから、以下のように、それぞれの変分事後分布が関係する部分だけをとりだして、汎関数微分を考えていく。
LZ =
∫ ∑Z
q(Z)q(W )q(Φ) ln p(X|Z,W,Φ)dWdΦ+
∫ ∑Z
q(Z)q(π) ln p(Z|π)dπ −∑Z
q(Z) ln q(Z) (4)
LW =
∫ ∑Z
q(Z)q(W )q(Φ) ln p(X|Z,W,Φ)dWdΦ+
∫q(W ) ln p(W |σw)dW −
∫q(W ) ln q(W )dW (5)
LΦ =
∫ ∑Z
q(Z)q(W )q(Φ) ln p(X|Z,W,Φ)dWdΦ+
∫q(Φ) ln p(Φ|Σ)dΦ−
∫q(Φ) ln q(Φ)dΦ (6)
Lπ =
∫ ∑Z
q(Z)q(π) ln p(Z|π)p(π|a, b)dπ +
∫q(π) ln p(π|a, b)dπ −
∫q(π) ln q(π)dπ (7)
1
2 VB-E Step
δLZ
δq(Z ′)
= limε→0
∫ ∑Z{q(Z) + εδ(Z − Z ′)}q(W )q(Φ) ln p(X|Z,W,Φ)−∑
Z q(Z)q(W )q(Φ) ln p(X|Z,W,Φ)
εdWdΦ
+ limε→0
∫ ∑Z{q(Z) + εδ(Z − Z ′)}q(π) ln p(Z|π)−∑
Z q(Z)q(π) ln p(Z|π)ε
dπ
− limε→0
∑Z{q(Z) + εδ(Z − Z ′)} ln{q(Z) + εδ(Z − Z ′)} −∑
Z q(Z) ln q(Z)
ε
=
∫q(W )q(Φ) ln p(X|Z ′,W,Φ)dWdΦ+
∫q(π) ln p(Z ′|π)dπ
− limε→0
∑Z q(Z) ln q(Z)+εδ(Z−Z′)
q(Z)
ε− lim
ε→0
∑Z εδ(Z − Z ′) ln{q(Z) + εδ(Z − Z ′)}
ε
=
∫q(W )q(Φ) ln p(X|Z ′,W,Φ)dWdΦ+
∫q(π) ln p(Z ′|π)dπ − lim
ε→0
∑Z q(Z){ εδ(Z−Z′)
q(Z) +O(ε2)}ε
− ln q(Z ′)
=
∫q(W )q(Φ) ln p(X|Z ′,W,Φ)dWdΦ+
∫q(W )q(Φ) ln p(Z ′|π)dπ − 1− ln q(Z ′) (8)
δLZ
δq(Z′) = 0より
ln q(Z) =
∫q(W )q(Φ) ln p(X|Z,W,Φ)dWdΦ+
∫q(π) ln p(Z|π)dπ + const.
=
∫q(W )q(Φ) ln
N∏i=1
D∏d=1
1√2πσ2
n
exp
{− (xid −
∑k φkdzikwik)
2
2σ2n
}dWdΦ
+
∫q(π) ln
N∏i=1
K∏k=1
πzikk (1− πk)
1−zikdπ + const.
=
∫q(W )q(Φ)
N∑i=1
D∑d=1
[− 1
2σ2n
{(∑k
φkdzikwik
)2
− 2xid
∑k
φkdzikwik
}]dWdΦ
+
∫q(π)
N∑i=1
K∑k=1
{zik lnπk + (1− zik) ln(1− πk)}dπ + const. (9)
よって q(zik|Z¬ik)は以下のように求まる。まず、zik = 1となる変分事後確率を求める。
ln q(zik = 1|Z¬ik)
=
∫q(W )q(Φ)
D∑d=1
[− 1
2σ2n
{(φkdwik +
∑k �=k
φkdzikwik
)2
− 2xidφkdwik − 2xid
∑k �=k
φkdzikwik
}]dWdΦ
+
∫q(π) lnπkdπ + const.
= − 1
2σ2n
∫q(W )q(Φ)
{w2
ik
(∑d
φ2kd
)− 2wik
∑d
φkd
(xid −
∑k �=k
φkdzikwik
)}dWdΦ
+
∫q(π) lnπkdπ + const. (10)
ここで、x¬kid ≡ xid −
∑k �=k φkdzikwik とおくと、
ln q(zik = 1|Z¬ik) = − 1
2σ2n
∫q(W )q(Φ)
{w2
ik(φTk φk)− 2wik(φ
Tk x
¬ki )
}dWdΦ+
∫q(π) lnπkdπ + const.
= − 1
2σ2n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)+ 〈lnπk〉+ const. (11)
2
ただし、変分事後分布のもとでの期待値を 〈·〉で表した。〈φTk φk〉 =
∑d〈φ2
kd〉については、後に出てくる式(23)を参照。次に、zik = 0となる変分事後確率を求める。
ln q(zik = 0|Z¬ik) =
∫q(W )q(Φ)
D∑d=1
[− 1
2σ2n
(∑k �=k
φkdzikwik
)2]dWdΦ+
∫q(π) ln(1− πk)dπ + const.
= 〈ln(1− πk)〉+ const. (12)
3 VB-M Step
3.1 Weights
式 (1)にある p(X|Z,W,Φ)の形を見ると、各 wiに対応する項の積に分解できるので、式 (5)の LW のうち、wi が寄与する部分を Lwi として
δLwi
δq(w′i)
=
∫ ∑Z
q(Z)q(Φ) ln p(xi|zi, w′i,Φ)dΦ+ ln p(w′
i|σw)− ln q(w′i) + const. (13)
δLwi
δq(w′i)
= 0とおくと
ln q(wi)
=
∫ ∑Z
q(Z)q(Φ) ln p(xi|zi, wi,Φ)dΦ+ ln p(wi|σw) + const.
=
∫ ∑Z
q(Z)q(Φ)
D∑d=1
{− (xid −
∑k φkdzikwik)
2
2σ2n
}dΦ+
K∑k=1
(− w2
ik
2σ2w
)+ const.
=
∫ ∑Z
q(Z)q(Φ)
D∑d=1
{− −2xid
∑k φkdzikwik + (
∑k φkdzikwik)
2
2σ2n
}dΦ+
K∑k=1
(− w2
ik
2σ2w
)+ const. (14)
式の形から q(wi)はガウス分布の密度関数であると分かる。その密度関数を∝ exp{− 12 (wi−vi)
TΔ−1i (wi−vi)}
と書くことにし、平均ベクトル vi と共分散行列Δi を求めてみる。Δi は、原論文のΔ′i に対応する。
共分散行列Δiの逆行列をΔ−1i と書くとすると、Δ−1
i の対角成分Δ−1i (k, k)は w2
ik の係数であり、非対角成分Δ−1
i (k, k)は wikwik の係数である。式 (14)より、それぞれ、次のようになる。
Δ−1i (k, k) =
1
σ2n
∫ ∑Z
q(Z)q(Φ)∑d
φ2kdz
2ikdΦ+
1
σ2w
=1
σ2n
∑d
〈φ2kd〉〈zik〉+
1
σ2w
(15)
Δ−1i (k, k) =
1
σ2n
∫ ∑Z
q(Z)q(Φ)∑d
φkdzikφkdzikdΦ =1
σ2n
∑d
〈φkd〉〈zik〉〈φkd〉〈zik〉 (16)
次に、vi = Δivi とおいて、vi を直接求める代わりに、vi を求める。なぜならこのとき、
−1
2(wi − vi)
TΔ−1i (wi − vi) = −1
2(wi −Δivi)
TΔ−1i (wi −Δivi)
= −1
2(wi −Δivi)
T (Δ−1i wi − vi)
= −1
2(wT
i Δ−1i wi − 2vTi wi + vTi Δivi)
= −1
2wT
i Δ−1i wi + vTi wi − 1
2vTi Δivi (17)
より、− 12 (wi − vi)
TΔ−1i (wi − vi) での wik の一次の項の係数が vik そのものになるからである。よって、
vik =∑
k Δi(k, k)vik より
vik =1
σ2n
∑k
Δi(k, k)∑d
xid〈φkd〉〈zik〉 (18)
∑d xid〈φkd〉〈zik〉の部分は、〈φkd〉〈zik〉を第 dエントリとするベクトルと xi との内積になっている。
3
3.2 Factor loadings
W の場合とは異なり、式 (1)にある p(X|Z,W,Φ)を各 φk に対応する項の積へ分解できない。ただし、変分事後分布 q(Φ)は、各 kに対応する項の積に分解できると仮定する。このとき
δLΦ
δq(φ′k)
=
∫ ∑Z
δ(φk − φ′k)q(Φ
¬k)q(Z)q(W ) ln p(X|Z,W,Φ)dWdΦ
+
∫δ(φk − φ′
k)q(Φ¬k) ln p(Φ|Σ)dΦ−
∫δ(φk − φ′
k)q(Φ¬k) ln q(Φ)dΦ
=
∫ ∑Z
q(Φ¬k)q(Z)q(W ) ln p(X|Z,W, φ′k,Φ
¬k)dWdΦ¬k
+
∫q(Φ¬k) ln p(φ′
k,Φ¬k|Σ)dΦ¬k −
∫q(Φ¬k) ln q(φ′
k)q(֬k)d֬k
=
∫ ∑Z
q(Φ¬k)q(Z)q(W ) ln p(X|Z,W, φ′k,Φ
¬k)dWdΦ¬k
+ ln p(φ′k|Σ) +
∫q(Φ¬k) ln p(Φ¬k|Σ)dΦ¬k − ln q(φ′
k)−∫
q(֬k) ln q(֬k)d֬k
=
∫ ∑Z
q(Φ¬k)q(Z)q(W ) ln p(X|Z,W, φ′k,Φ
¬k)dWdΦ¬k + ln p(φ′k|Σ)− ln q(φ′
k) + const. (19)
δLΦ
δq(φ′k)
= 0とおくと
ln q(φk) =
∫ ∑Z
q(Φ¬k)q(Z)q(W ) ln p(X|Z,W, φk,Φ¬k)dWdΦ¬k + ln p(φk|Σ) + const.
=
∫ ∑Z
q(Φ¬k)q(Z)q(W )∑i
∑d
{− −2xid
∑k φkdzikwik + (
∑k φkdzikwik)
2
2σ2n
}dWd֬k
− 1
2φTkΣ
−1φk + const. (20)
式の形から q(φk)はガウス分布の密度関数であると分かる。その密度関数を∝ exp{− 12 (φk−μk)
TS−1k (φk−μk)}
と書くことにし、平均ベクトル μk と共分散行列 Sk を求めてみる。Sk は原論文の Σ′k に対応する。
S−1k (d, d)は φ2
kd の係数であり、S−1k (d, d)は φkdφkd の係数である。これらを式 (20)から求めると
S−1k (d, d) =
1
σ2n
∑i
〈zik〉〈w2ik〉+Σ−1(d, d)
S−1k (d, d) = Σ−1(d, d) where d �= d (21)
これを求めるとき、式 (20)の右辺の最初の項では、どの kについても、d �= dであれば φkdと φkdとが掛け算される機会はないことに注意する。いずれにせよ、S−1
k = 1σ2n
∑i〈zik〉〈w2
ik〉I + Σ−1 となる。Σについては、原論文の式 (18)の直後に「データX の empirical covarianceが使える」と書いてある。
μk = Skμk とおくと、− 12 (φk − μk)
TS−1k (φk − μk)での φkd の係数がそのまま μkd となる。よって
μkd =1
σ2n
∑d
Sk(d, d)∑i
xid〈zik〉〈wik〉 − 1
σ2n
∑d
Sk(d, d)∑i
∑k �=k
〈φdk〉〈zik〉〈wik〉
=1
σ2n
∑d
Sk(d, d)∑i
〈zik〉〈wik〉(xid −
∑k �=k
〈φdk〉〈zik〉〈wik〉)
(22)
が得られる。なお、μk = Skμk とおいたので μkd =∑
d Sk(d, d)μkd が成り立つ、ということを使っている。式 (11)や式 (15)に現れる 〈φ2
kd〉は、いまや計算できる。なぜなら、PRMLの式 (2.62)より 〈φkφTk 〉 =
〈φk〉〈φk〉T + Sk が成り立ち、特に対角成分に注目して 〈φ2kd〉 = 〈φkd〉2 + Sk(d, d)が得られるからである。つ
まり、 ∑d
〈φ2kd〉 =
∑d
〈φkd〉2 +Tr(Sk) (23)
これは、原論文の式 (21)の Aの意味を説明する。なお、Bi については、〈z2ik〉 = 〈zik〉であること、また、一般に 〈z2ik〉 �= 〈zik〉〈zik〉であることから、単に対角成分についてのみ 〈z2ik〉を引き 〈zik〉を足す必要があるから、このような行列が必要になっているだけのことである。
4
3.3
式 (1)にある p(Z|π)も p(π|a, b)も、各 πk に関係する項の積に分解できる。なお、∑
k πk は 1にならないことに注意。原論文の式 (3)の後に “π does not serve as a probability mass function on Ω”と書いてあるのは、そういう意味。
δLπk
δq(π′k)
=∑Z
q(Z) ln p(Z|π′k) + ln p(π′
k|a, b)− ln q(π′k) + const.
=∑i
∑zik∈{0,1}
q(zik){zik lnπ
′k + (1− zik) ln(1− π′
k)}
+
[( a
K− 1
)lnπ′
k +{b(K − 1)
K− 1
}ln(1− π′
k)
]− ln q(π′
k) + const. (24)
δLπk
δq(π′k)
= 0より
q(πk) ∝ π〈nk〉+ a
K −1
k (1− πk)N−〈nk〉+ b(K−1)
K −1 (25)
となり、これはベータ分布の密度関数のかたちをしている。なお、〈nk〉 =∑
i q(zik = 1)zik と定義した。上の結果から、VB-E Step、つまり、式 (11)と式 (12)で必要になる次の期待値が得られる。
〈lnπk〉 = Ψ(〈nk〉+ a
K
)−Ψ
(N +
a+ b(K − 1)
K
)(26)
〈ln(1− πk)〉 = Ψ(N − 〈nk〉+ b(K − 1)
K
)−Ψ
(N +
a+ b(K − 1)
K
)(27)
Ψ(·)は digamma関数である。
4 Priors for variances
σ−2n と σ−2
w にガンマ分布を事前分布として導入し、事後分布を求める。(分散の逆数は precisionと呼ばれる。)
p(X,Z,W,Φ, π, σn, σw|Σ, a, b)= p(X|Z,W,Φ, σn)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)p(σn|c, d)p(σw|e, f)
=N∏i=1
D∏d=1
1√2πσ2
n
exp
{− (xid −
∑k φkdzikwik)
2
2σ2n
}·
N∏i=1
K∏k=1
πzikk (1− πk)
1−zik
·N∏i=1
K∏k=1
1√2πσ2
w
exp(− w2
ik
2σ2w
)·
K∏k=1
1
(2π)D/2|Σ|1/2 exp
(− 1
2φTkΣ
−1φk
)
·K∏
k=1
Γ(a/K + b(K − 1)/K)
Γ(a/K)Γ(b(K − 1)/K)πa/K−1k (1− πk)
b(K−1)/K−1
· 1
Γ(c)cd(σ−2
n )c−1e−dσ−2n · 1
Γ(e)ef (σ−2
w )e−1e−fσ−2w (28)
このとき、variational lower boundは次のようになる。∫ ∑
Z
ln p(X,Z,W,Φ, π, σn, σw|Σ, a, b, c, d, e, f)dWdΦdπdσndσw
≥∫ ∑
Z
q(Z)q(W )q(Φ)q(π)q(σn)q(σw)
· ln p(X|Z,W,Φ, σn)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)p(σn|c, d)p(σw|e, f)q(Z)q(W )q(Φ)q(π)q(σn)q(σw)
dWdΦdπdσndσw (29)
5
考え直す必要があるのは、以下のケース。πに関する考察は、元のままでよい。
LZ =
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn
+
∫ ∑Z
q(Z)q(π) ln p(Z|π)dπ −∑Z
q(Z) ln q(Z) (30)
LW =
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn
+
∫q(W )q(σw) ln p(W |σw)dWdσw −
∫q(W ) ln q(W )dW (31)
LΦ =
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn
+
∫q(Φ) ln p(Φ|Σ)dΦ−
∫q(Φ) ln q(Φ)dΦ (32)
Lσn =
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn
+
∫q(σn) ln p(σn|c, d)dσn −
∫q(σn) ln q(σn)dσn (33)
Lσw =
∫q(W )q(σw) ln p(W |σw)dWdσw +
∫q(σw) ln p(σw|e, f)dσw −
∫q(σw) ln q(σw)dσw (34)
σn が現れる∫ ∑
Z q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn については、σn が常に σ−2n とい
うかたちで、しかも、他の何かに掛け算されるかたちでしか現れないので、σ−2n を 〈σ−2
n 〉で置き換えれば済む。σw が現れる
∫q(W )q(σw) ln p(W |σw)dWdσw も、同様。
4.1 Posterior of σn
δLσn
δq(σ′n)
=
∫ ∑Z
q(Z)q(W )q(Φ) ln p(X|Z,W,Φ, σ′n)dWdΦ+ ln p(σ′
n|c, d)− ln q(σ′n) + const. (35)
ln q(σn)
=
∫ ∑Z
q(Z)q(W )q(Φ)∑i
∑d
{1
2log σ−2
n − x2id − 2xid
∑k φkdzikwik + (
∑k φkdzikwik)
2
2σ2n
}dWdΦ
+ ln p(σn|c, d) + const.
= − 1
2σ2n
∑i,d
{x2id − 2xid
∑k
〈φkd〉〈zik〉〈wik〉+∑k
〈φ2kd〉〈zik〉〈w2
ik〉+∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉〈wikwik〉}
+(ND
2+ c− 1
)lnσ−2
n − dσ−2n + const. (36)
これはガンマ分布の密度関数である。ところで、covarianceの定義より 〈wiwTi 〉 = Δi + 〈wi〉〈wi〉T だから
ln q(σn) = − 1
2σ2n
∑i,d
{x2id − 2xid
∑k
〈φkd〉〈zik〉〈wik〉+∑k
〈φ2kd〉〈zik〉〈w2
ik〉
+∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉Δi(k, k) +∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉〈wik〉〈wik〉}
+(ND
2+ c− 1
)lnσ−2
n − dσ−2n + const.
= −dσ−2n − 1
2σ2n
∑i,d
{(xid −
∑k
〈φkd〉〈zik〉〈wik〉)2
−∑k
〈φkd〉2〈zik〉2〈wik〉2 +∑k
〈φ2kd〉〈zik〉〈w2
ik〉
+∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉Δi(k, k)}+(ND
2+ c− 1
)lnσ−2
n + const. (37)
6
4.2 Posterior of σw
δLσw
δq(σ′w)
=
∫q(W ) ln p(W |σ′
w)dW + ln p(σ′w|e, f)− ln q(σ′
w) + const. (38)
ln q(σw) =
∫q(W ) ln p(W |σw)dW + ln p(σw|e, f) + const.
=
∫q(W )
N∑i=1
K∑k=1
(1
2log σ−2
w − w2ik
2σ2w
)dW + (e− 1) lnσ−2
w − fσ−2w + const.
= −1
2σ−2w
∑i
∫q(wi)w
Ti widwi +
(NK
2+ e− 1
)lnσ−2
w − fσ−2w + const.
= −1
2σ−2w
∑i
〈wTi wi〉+
(NK
2+ e− 1
)lnσ−2
w − fσ−2w + const.
= −1
2σ−2w
∑i
∑k
{Si(k, k) + 〈wik〉2
}+(NK
2+ e− 1
)lnσ−2
w − fσ−2w + const.
= −σ−2w
[f +
1
2
∑i
∑k
{Si(k, k) + 〈wik〉2
}]+
(NK
2+ e− 1
)lnσ−2
w + const. (39)
こちらも、式のかたちがガンマ分布の密度関数である。
4.3 Variational Lower bound
最後に、variational lower boundそのものを計算しておく。推定の収束チェックにも必要なので。∫ ∑
Z
ln p(X,Z,W,Φ, π, σn, σw|Σ, a, b, c, d, e, f)dWdΦdπdσndσw
≥∫ ∑
Z
q(Z)q(W )q(Φ)q(π)q(σn)q(σw)
· ln p(X|Z,W,Φ, σn)p(Z|π)p(W |σw)p(Φ|Σ)p(π|a, b)p(σn|c, d)p(σw|e, f)q(Z)q(W )q(Φ)q(π)q(σn)q(σw)
dWdΦdπdσndσw
=
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn +
∫ ∑Z
q(π) ln p(Z|π)dπ
+
∫q(W )q(σw) ln p(W |σw)dWdσw +
∫q(Φ) ln p(Φ|Σ)dΦ
+
∫q(π) ln p(π|a, b)dπ +
∫q(σn) ln p(σn|c, d)dσn +
∫q(σw) ln p(σw|e, f)dσw
−∑Z
q(Z) ln q(Z)−∫
q(W ) ln q(W )dW −∫
q(Φ) ln q(Φ)dΦ−∫
q(π) ln q(π)dπ
−∫
q(σn) ln q(σn)dσn −∫
q(σw) ln q(σw)dσw (40)
右辺の各項を別々に計算する。
7
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln p(X|Z,W,Φ, σn)dWdΦdσn
=
∫ ∑Z
q(Z)q(W )q(Φ)q(σn) ln
N∏i=1
D∏d=1
1√2πσ2
n
exp
{− (xid −
∑k φkdzikwik)
2
2σ2n
}dWdΦdσn
= −ND
∫q(σn) ln
√2πσ2
ndσn −∫ ∑
Z
q(Z)q(W )q(Φ)q(σn)
N∑i=1
D∑d=1
(xid −∑
k φkdzikwik)2
2σ2n
dWdΦdσn
= −ND ln 2π
2+
ND
2〈lnσ−2
n 〉 − 〈σ−2n 〉2
∑i
∑d
x2id + 〈σ−2
n 〉∑i
∑d
∑k
xid〈φkd〉〈zik〉〈wik〉
− 〈σ−2n 〉2
∑i
∑d
∑k
〈φ2kd〉〈zik〉〈w2
ik〉 − 〈σ−2n 〉
∑i
∑d
∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉〈wikwik〉
= −ND ln 2π
2+
ND
2〈lnσ−2
n 〉
− 〈σ−2n 〉2
[∑i
∑d
(xid −
∑k
〈φkd〉〈zik〉〈wik〉)2
−∑i
∑d
∑k
〈φkd〉2〈zik〉2〈wik〉2
+∑i
∑d
∑k
〈φ2kd〉〈zik〉〈w2
ik〉+∑i
∑d
∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉Δi(k, k)
](41)
∫ ∑Z
q(π) ln p(Z|π)dπ =
∫q(π)
∑Z
N∑i=1
K∑k=1
{zik lnπk + (1− zik) ln(1− πk)}dπ
=∑i
∑k
{〈zik〉〈lnπk〉+ 〈1− zik〉〈ln(1− πk)〉}
(42)
∫q(W )q(σw) ln p(W |σw)dWdσw =
N∑i=1
∫q(wi)q(σw)
K∑k=1
(− ln
√2πσ2
w − w2ik
2σ2w
)dwidσw
= −NK ln 2π
2+
NK
2〈lnσ−2
w 〉 − 〈σ−2w 〉2
∑i
∑k
〈w2ik〉
= −NK ln 2π
2+
NK
2〈lnσ−2
w 〉 − 〈σ−2w 〉2
∑i
∑k
{〈wik〉2 +Δi(k, k)}
(43)
∫q(Φ) ln p(Φ|Σ)dΦ =
∑k
∫q(φk)
{− ln(2π)D/2|Σ|1/2 − 1
2φTkΣ
−1φk
}dφk
= −DK ln 2π
2− K
2ln |Σ| − 1
2
∑k
∫q(φk)
∑d
∑d
φkdφkdΣ−1(d, d)dφk
= −DK ln 2π
2− K
2ln |Σ| − 1
2
∑k
∑d
∑d
〈φkdφkd〉Σ−1(d, d)
= −DK ln 2π
2− K
2ln |Σ| − 1
2
∑k
∑d
∑d
{〈φkd〉〈φkd〉+ Sk(d, d)}Σ−1(d, d) (44)
∫q(π) ln p(π|a, b)dπ =
∑k
∫q(πk)
[( a
K− 1
)lnπk +
{b(K − 1)
K− 1
}ln(1− πk)
]dπk
=( a
K− 1
)∑k
〈lnπk〉+{b(K − 1)
K− 1
}∑k
〈ln(1− πk)〉 (45)
8
∫q(σn) ln p(σn|c, d)dσn =
∫q(σn){− ln Γ(c) + d ln c+ (c− 1) ln(σ−2
n )− dσ−2n }dσn
= − ln Γ(c) + d ln c+ (c− 1)〈ln(σ−2n )〉 − d〈σ−2
n 〉 (46)∫q(σw) ln p(σw|e, f)dσw = − ln Γ(e) + f ln e+ (e− 1)〈ln(σ−2
w )〉 − f〈σ−2w 〉 (47)
∑Z
q(Z) ln q(Z) =∑i
∑k
{q(zik = 1|Z¬ik) ln q(zik = 1|Z¬ik) + q(zik = 0|Z¬ik) ln q(zik = 0|Z¬ik)
}(48)
この式は、式 (11)と式 (12)より q(zik = 1|Z¬ik)と q(zik = 0|Z¬ik)がそれぞれ以下のように書けることを使えば、計算できる。
q(zik = 1|Z¬ik) =exp
{− 12σ2
n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉
exp{− 1
2σ2n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉+ exp〈ln(1− πk)〉
(49)
q(zik = 0|Z¬ik) =exp〈ln(1− πk)〉
exp{− 1
2σ2n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉+ exp〈ln(1− πk)〉
(50)
∫q(W ) ln q(W )dW =
∑i
∫q(wi) ln q(wi)dwi
=∑i
∫q(wi)
{− ln(2π)K/2|Δi|1/2 − 1
2(wi − vi)
TΔ−1i (wi − vi)
}dwi
= −NK ln 2π
2− 1
2
∑i
ln |Δi| − 1
2
∑i
∫q(wi)
∑k
∑k
(wik − vik)(wik − vik)Δ−1i (k, k)dwi
= −NK ln 2π
2− 1
2
∑i
ln |Δi| − 1
2
∑i
∑k
∑k
{〈wikwik〉 − 〈wik〉vik − vik〈wik〉+ vikvik}Δ−1
i (k, k)
= −NK ln 2π
2− 1
2
∑i
ln |Δi| − 1
2
∑i
∑k
∑k
{〈wik〉〈wik〉+Δi(k, k)− 2〈wik〉〈wik〉+ 〈wik〉〈wik〉}Δ−1
i (k, k)
= −NK ln 2π
2− 1
2
∑i
ln |Δi| − 1
2
∑i
∑k
∑k
Δi(k, k)Δ−1i (k, k)
= −NK ln 2π
2− 1
2
∑i
ln |Δi| − NK
2(51)
∫q(Φ) ln q(Φ)dΦ =
∑k
∫q(φk) ln q(φk)dφk = −KD ln 2π
2− 1
2
∑i
ln |Sk| − KD
2(52)
この計算方法は∫q(W ) ln q(W )dW の場合と同じ。
∫q(π) ln q(π)dπ =
∑k
∫q(πk) ln q(πk)dπk
=∑k
∫q(πk) ln
[ Γ(N + a+b(K−1)K )
Γ(〈nk〉+ aK )Γ(N − 〈nk〉+ b(K−1)
K )π〈nk〉+ a
K −1
k (1− πk)N−〈nk〉+ b(K−1)
K −1]dπk
= lnΓ(N +
a+ b(K − 1)
K
)− ln Γ
(〈nk〉+ a
K
)− ln Γ
(N − 〈nk〉+ b(K − 1)
K
)
+∑k
∫q(πk)
[{〈nk〉+ a
K− 1
}lnπk +
{N − 〈nk〉+ b(K − 1)
K− 1
}ln(1− πk)
]dπk
= lnΓ(N +
a+ b(K − 1)
K
)− ln Γ
(〈nk〉+ a
K
)− ln Γ
(N − 〈nk〉+ b(K − 1)
K
)
+∑k
{〈nk〉+ a
K− 1
}〈lnπk〉+
∑k
{N − 〈nk〉+ b(K − 1)
K− 1
}〈ln(1− πk)〉 (53)
9
∫q(σn) ln q(σn)dσn − ln Γ(c) + d ln c+ (c− 1)〈ln(σ−2
n )〉 − d〈σ−2n 〉 (54)
∫q(σw) ln q(σw)dσw = − ln Γ(e) + f ln e+ (e− 1)〈ln(σ−2
w )〉 − f〈σ−2w 〉 (55)
ただし、
c = c+ND
2(56)
d = d+1
2
∑i,d
{d+
(xid −
∑k
〈φkd〉〈zik〉〈wik〉)2
−∑k
〈φkd〉2〈zik〉2〈wik〉2 +∑k
〈φ2kd〉〈zik〉〈w2
ik〉
+∑k �=k
〈φkd〉〈φkd〉〈zik〉〈zik〉Δi(k, k)
}(57)
e = e+NK
2(58)
f = f +1
2
∑i
∑k
{Si(k, k) + 〈wik〉2
}(59)
それぞれの期待値については、以下の通り。PRMLの Appendix Bも合わせて参照。
〈σ−2n 〉 = c
d(60)
〈lnσ−2n 〉 = Ψ(c)− ln d (61)
〈σ−2w 〉 = e
f(62)
〈lnσ−2w 〉 = Ψ(e)− ln f (63)
〈φkd〉 = μkd = 〈σ−2n 〉
∑d
Sk(d, d)∑i
〈zik〉〈wik〉(xid −
∑k �=k
〈φdk〉〈zik〉〈wik〉)
(64)
〈φ2kd〉 = 〈φkd〉2 + Sk(d, d) (65)
〈wik〉 = vik = 〈σ−2n 〉
∑k
Δi(k, k)∑d
xid〈φkd〉〈zik〉 (66)
〈w2ik〉 = 〈wik〉2 +Δi(k, k) (67)
〈zik〉 = q(zik = 1) =exp
{− 12σ2
n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉
exp{− 1
2σ2n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉+ exp〈ln(1− πk)〉
(68)
〈1− zik〉 = q(zik = 0) =exp〈ln(1− πk)〉
exp{− 1
2σ2n
(〈w2ik〉〈φT
k φk〉 − 2〈wik〉〈φTk x
¬ki 〉)} exp〈lnπk〉+ exp〈ln(1− πk)〉
(69)
〈lnπk〉 = Ψ(〈nk〉+ a
K
)−Ψ
(N +
a+ b(K − 1)
K
)(70)
〈ln(1− πk)〉 = Ψ(N − 〈nk〉+ b(K − 1)
K
)−Ψ
(N +
a+ b(K − 1)
K
)(71)
10