SlideShare a Scribd company logo
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σ2
n
·
N
i=1
K
k=1
πzik
k (1 − πk)1−zik
·
N
i=1
K
k=1
1
2πσ2
w
exp −
w2
ik
2σ2
w
·
K
k=1
1
(2π)D/2|Σ|1/2
exp −
1
2
φT
k Σ−1
φk
·
K
k=1
Γ(a/K + b(K − 1)/K)
Γ(a/K)Γ(b(K − 1)/K)
π
a/K−1
k (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, Φ, π) ln
p(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(π) ln
p(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σ2
n
dWdΦ
+ q(π) ln
N
i=1
K
k=1
πzik
k (1 − πk)1−zik
dπ + const.
= q(W)q(Φ)
N
i=1
D
d=1
−
1
2σ2
n 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σ2
n
φkdwik +
ˆk=k
φˆkdziˆkwiˆk
2
− 2xidφkdwik − 2xid
ˆk=k
φˆkdziˆkwiˆk dWdΦ
+ q(π) ln πkdπ + const.
= −
1
2σ2
n
q(W)q(Φ) w2
ik
d
φ2
kd − 2wik
d
φkd xid −
ˆk=k
φˆkdziˆkwiˆk dWdΦ
+ q(π) ln πkdπ + const. (10)
ここで、x¬k
id ≡ xid − ˆk=k φˆkdziˆkwiˆk とおくと、
ln q(zik = 1|Z¬ik
) = −
1
2σ2
n
q(W)q(Φ) w2
ik(φT
k φk) − 2wik(φT
k x¬k
i ) dWdΦ + q(π) ln πkdπ + const.
= −
1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i + ln πk + const. (11)
2
ただし、変分事後分布のもとでの期待値を · で表した。 φT
k φk = d φ2
kd については、後に出てくる式
(23) を参照。次に、zik = 0 となる変分事後確率を求める。
ln q(zik = 0|Z¬ik
) = q(W)q(Φ)
D
d=1
−
1
2σ2
n ˆk=k
φˆkdziˆkwiˆk
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(wi)
=
Z
q(Z)q(Φ) ln p(xi|zi, wi, Φ)dΦ + ln p(wi|σw) − ln q(wi) + const. (13)
δLwi
δq(wi) = 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σ2
n
dΦ +
K
k=1
−
w2
ik
2σ2
w
+ const.
=
Z
q(Z)q(Φ)
D
d=1
−
−2xid k φkdzikwik + ( k φkdzikwik)2
2σ2
n
dΦ +
K
k=1
−
w2
ik
2σ2
w
+ const. (14)
式の形から q(wi) はガウス分布の密度関数であると分かる。その密度関数を ∝ exp{−1
2 (wi−vi)T
Δ−1
i (wi−vi)}
と書くことにし、平均ベクトル vi と共分散行列 Δi を求めてみる。Δi は、原論文の Δi に対応する。
共分散行列 Δi の逆行列を Δ−1
i と書くとすると、Δ−1
i の対角成分 Δ−1
i (k, k) は w2
ik の係数であり、非対
角成分 Δ−1
i (k, ˆk) は wikwiˆk の係数である。式 (14) より、それぞれ、次のようになる。
Δ−1
i (k, k) =
1
σ2
n Z
q(Z)q(Φ)
d
φ2
kdz2
ikdΦ +
1
σ2
w
=
1
σ2
n d
φ2
kd zik +
1
σ2
w
(15)
Δ−1
i (k, ˆk) =
1
σ2
n Z
q(Z)q(Φ)
d
φkdzikφˆkdziˆkdΦ =
1
σ2
n d
φkd zik φˆkd ziˆk (16)
次に、vi = Δi¯vi とおいて、vi を直接求める代わりに、¯vi を求める。なぜならこのとき、
−
1
2
(wi − vi)T
Δ−1
i (wi − vi) = −
1
2
(wi − Δi¯vi)T
Δ−1
i (wi − Δi¯vi)
= −
1
2
(wi − Δi¯vi)T
(Δ−1
i wi − ¯vi)
= −
1
2
(wT
i Δ−1
i wi − 2¯vT
i wi + ¯vT
i Δi¯vi)
= −
1
2
wT
i Δ−1
i wi + ¯vT
i wi −
1
2
¯vT
i Δi¯vi (17)
より、−1
2 (wi − vi)T
Δ−1
i (wi − vi) での wik の一次の項の係数が ¯vik そのものになるからである。よって、
vik = ˆk Δi(k, ˆk)¯viˆk より
vik =
1
σ2
n ˆk
Δi(k, ˆk)
d
xid φˆkd ziˆk (18)
d xid φˆkd ziˆk の部分は、 φˆkd ziˆk を第 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σ2
n
dWd֬k
−
1
2
φT
k Σ−1
φk + const. (20)
式の形から q(φk)はガウス分布の密度関数であると分かる。その密度関数を ∝ exp{−1
2 (φk−μk)T
S−1
k (φk−μk)}
と書くことにし、平均ベクトル μk と共分散行列 Sk を求めてみる。Sk は原論文の Σk に対応する。
S−1
k (d, d) は φ2
kd の係数であり、S−1
k (d, ˆd) は φkdφk ˆd の係数である。これらを式 (20) から求めると
S−1
k (d, d) =
1
σ2
n i
zik w2
ik + Σ−1
(d, d)
S−1
k (d, ˆd) = Σ−1
(d, ˆd) where d = ˆd (21)
これを求めるとき、式 (20) の右辺の最初の項では、どの k についても、d = ˆd であれば φkd と φk ˆd とが掛け
算される機会はないことに注意する。いずれにせよ、S−1
k = 1
σ2
n i zik w2
ik I + Σ−1
となる。Σ について
は、原論文の式 (18) の直後に「データ X の empirical covariance が使える」と書いてある。
μk = Sk ¯μk とおくと、−1
2 (φk − μk)T
S−1
k (φk − μk) での φkd の係数がそのまま ¯μkd となる。よって
μkd =
1
σ2
n ˆd
Sk(d, ˆd)
i
xi ˆd zik wik −
1
σ2
n ˆd
Sk(d, ˆd)
i ˆk=k
φˆdˆk ziˆk wiˆk
=
1
σ2
n ˆd
Sk(d, ˆd)
i
zik wik xi ˆd −
ˆk=k
φˆdˆk ziˆk wiˆk (22)
が得られる。なお、μk = Sk ¯μk とおいたので μkd = ˆd Sk(d, ˆd)¯μk ˆd が成り立つ、ということを使っている。
式 (11) や式 (15) に現れる φ2
kd は、いまや計算できる。なぜなら、PRML の式 (2.62) より φkφT
k =
φk φk
T
+ Sk が成り立ち、特に対角成分に注目して φ2
kd = φkd
2
+ Sk(d, d) が得られるからである。つ
まり、
d
φ2
kd =
d
φkd
2
+ Tr(Sk) (23)
これは、原論文の式 (21) の A の意味を説明する。なお、Bi については、 z2
ik = zik であること、また、
一般に z2
ik = zik zik であることから、単に対角成分についてのみ z2
ik を引き 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
σ−2
n と σ−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σ2
n
·
N
i=1
K
k=1
πzik
k (1 − πk)1−zik
·
N
i=1
K
k=1
1
2πσ2
w
exp −
w2
ik
2σ2
w
·
K
k=1
1
(2π)D/2|Σ|1/2
exp −
1
2
φT
k Σ−1
φk
·
K
k=1
Γ(a/K + b(K − 1)/K)
Γ(a/K)Γ(b(K − 1)/K)
π
a/K−1
k (1 − πk)b(K−1)/K−1
·
1
Γ(c)
cd
(σ−2
n )c−1
e−dσ−2
n ·
1
Γ(e)
ef
(σ−2
w )e−1
e−fσ−2
w (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 が常に σ−2
n とい
うかたちで、しかも、他の何かに掛け算されるかたちでしか現れないので、σ−2
n を σ−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
2
log σ−2
n −
x2
id − 2xid k φkdzikwik + ( k φkdzikwik)2
2σ2
n
dWdΦ
+ ln p(σn|c, d) + const.
= −
1
2σ2
n i,d
x2
id − 2xid
k
φkd zik wik +
k
φ2
kd zik w2
ik +
ˆk=k
φkd φˆkd zik ziˆk wikwiˆk
+
ND
2
+ c − 1 ln σ−2
n − dσ−2
n + const. (36)
これはガンマ分布の密度関数である。ところで、covariance の定義より wiwT
i = Δi + wi wi
T
だから
ln q(σn) = −
1
2σ2
n i,d
x2
id − 2xid
k
φkd zik wik +
k
φ2
kd zik w2
ik
+
ˆk=k
φkd φˆkd zik ziˆk Δi(k, ˆk) +
ˆk=k
φkd φˆkd zik ziˆk wik wiˆk
+
ND
2
+ c − 1 ln σ−2
n − dσ−2
n + const.
= −dσ−2
n −
1
2σ2
n i,d
xid −
k
φkd zik wik
2
−
k
φkd
2
zik
2
wik
2
+
k
φ2
kd zik w2
ik
+
ˆk=k
φkd φˆkd zik ziˆk Δ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
2
log σ−2
w −
w2
ik
2σ2
w
dW + (e − 1) ln σ−2
w − fσ−2
w + const.
= −
1
2
σ−2
w
i
q(wi)wT
i widwi +
NK
2
+ e − 1 ln σ−2
w − fσ−2
w + const.
= −
1
2
σ−2
w
i
wT
i wi +
NK
2
+ e − 1 ln σ−2
w − fσ−2
w + const.
= −
1
2
σ−2
w
i k
Si(k, k) + wik
2
+
NK
2
+ e − 1 ln σ−2
w − fσ−2
w + const.
= −σ−2
w 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σ2
n
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σ2
n
dWdΦdσn
= −
ND ln 2π
2
+
ND
2
ln σ−2
n −
σ−2
n
2 i d
x2
id + σ−2
n
i d k
xid φkd zik wik
−
σ−2
n
2 i d k
φ2
kd zik w2
ik − σ−2
n
i d k=ˆk
φkd φˆkd zik ziˆk wikwiˆk
= −
ND ln 2π
2
+
ND
2
ln σ−2
n
−
σ−2
n
2 i d
xid −
k
φkd zik wik
2
−
i d k
φkd
2
zik
2
wik
2
+
i d k
φ2
kd zik w2
ik +
i d k=ˆk
φkd φˆkd zik ziˆk Δ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 −
w2
ik
2σ2
w
dwidσw
= −
NK ln 2π
2
+
NK
2
ln σ−2
w −
σ−2
w
2 i k
w2
ik
= −
NK ln 2π
2
+
NK
2
ln σ−2
w −
σ−2
w
2 i k
wik
2
+ Δi(k, k)
(43)
q(Φ) ln p(Φ|Σ)dΦ =
k
q(φk) − ln(2π)D/2
|Σ|1/2
−
1
2
φT
k Σ−1
φk dφk
= −
DK ln 2π
2
−
K
2
ln |Σ| −
1
2
k
q(φk)
d ˆd
φkdφk ˆdΣ−1
(d, ˆd)dφk
= −
DK ln 2π
2
−
K
2
ln |Σ| −
1
2
k d ˆd
φkdφk ˆd Σ−1
(d, ˆd)
= −
DK ln 2π
2
−
K
2
ln |Σ| −
1
2
k d ˆd
φkd φk ˆd + 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σ−2
n }dσn
= − ln Γ(c) + d ln c + (c − 1) ln(σ−2
n ) − d σ−2
n (46)
q(σw) ln p(σw|e, f)dσw = − ln Γ(e) + f ln e + (e − 1) ln(σ−2
w ) − f σ−2
w (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 − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i exp ln πk
exp − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i exp ln πk + exp ln(1 − πk)
(49)
q(zik = 0|Z¬ik
) =
exp ln(1 − πk)
exp − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i 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
Δ−1
i (wi − vi) dwi
= −
NK ln 2π
2
−
1
2 i
ln |Δi| −
1
2 i
q(wi)
k ˆk
(wik − vik)(wiˆk − viˆk)Δ−1
i (k, ˆk)dwi
= −
NK ln 2π
2
−
1
2 i
ln |Δi| −
1
2 i k ˆk
wikwiˆk − wik viˆk − vik wiˆk + vikviˆk Δ−1
i (k, ˆk)
= −
NK ln 2π
2
−
1
2 i
ln |Δi| −
1
2 i k ˆk
wik wiˆk + Δi(k, ˆk) − 2 wik wiˆk + wik wiˆk Δ−1
i (k, ˆk)
= −
NK ln 2π
2
−
1
2 i
ln |Δi| −
1
2 i k ˆk
Δi(k, ˆk)Δ−1
i (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 + a
K )Γ(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 σ−2
n (54)
q(σw) ln q(σw)dσw = − ln Γ(˜e) + ˜f ln ˜e + (˜e − 1) ln(σ−2
w ) − ˜f σ−2
w (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
φ2
kd zik w2
ik
+
ˆk=k
φkd φˆkd zik ziˆk Δi(k, ˆk) (57)
˜e = e +
NK
2
(58)
˜f = f +
1
2 i k
Si(k, k) + wik
2
(59)
それぞれの期待値については、以下の通り。PRML の Appendix B も合わせて参照。
σ−2
n =
˜c
˜d
(60)
ln σ−2
n = Ψ(˜c) − ln ˜d (61)
σ−2
w =
˜e
˜f
(62)
ln σ−2
w = Ψ(˜e) − ln ˜f (63)
φkd = μkd = σ−2
n
ˆd
Sk(d, ˆd)
i
zik wik xi ˆd −
ˆk=k
φˆdˆk ziˆk wiˆk (64)
φ2
kd = φkd
2
+ Sk(d, d) (65)
wik = vik = σ−2
n
ˆk
Δi(k, ˆk)
d
xid φˆkd ziˆk (66)
w2
ik = wik
2
+ Δi(k, k) (67)
zik = q(zik = 1) =
exp − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i exp ln πk
exp − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i exp ln πk + exp ln(1 − πk)
(68)
1 − zik = q(zik = 0) =
exp ln(1 − πk)
exp − 1
2σ2
n
w2
ik φT
k φk − 2 wik φT
k x¬k
i 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

More Related Content

PDF
はじめてのパターン認識 第6章 後半
PDF
パターン認識と機械学習 §6.2 カーネル関数の構成
PDF
線形識別モデル
PDF
20150922_楕円関数とおもしろい応用
PDF
20170327_レムニスケートにまつわる色々な計算
PDF
PRML 6.1章 カーネル法と双対表現
PDF
スペクトラル・クラスタリング
PDF
最急降下法
はじめてのパターン認識 第6章 後半
パターン認識と機械学習 §6.2 カーネル関数の構成
線形識別モデル
20150922_楕円関数とおもしろい応用
20170327_レムニスケートにまつわる色々な計算
PRML 6.1章 カーネル法と双対表現
スペクトラル・クラスタリング
最急降下法

What's hot (19)

PDF
パターン認識第9章 学習ベクトル量子化
PDF
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
PDF
主成分分析
PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
PDF
パターン認識と機械学習6章(カーネル法)
PDF
ユークリッド距離以外の距離で教師無しクラスタリング
PDF
ZIP
今さら聞けないカーネル法とサポートベクターマシン
PDF
Prml sec6
PDF
パターン認識 第12章 正則化とパス追跡アルゴリズム
PDF
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
PDF
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
PDF
PPTX
ぜみなーる
PDF
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
PDF
線形計画法入門
PPTX
K shapes zemiyomi
PDF
スペクトラルグラフ理論入門
パターン認識第9章 学習ベクトル量子化
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
主成分分析
SGD+α: 確率的勾配降下法の現在と未来
パターン認識と機械学習6章(カーネル法)
ユークリッド距離以外の距離で教師無しクラスタリング
今さら聞けないカーネル法とサポートベクターマシン
Prml sec6
パターン認識 第12章 正則化とパス追跡アルゴリズム
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
PATTERN RECOGNITION AND MACHINE LEARNING (1.1)
ぜみなーる
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
線形計画法入門
K shapes zemiyomi
スペクトラルグラフ理論入門
Ad

Similar to Nonparametric Factor Analysis with Beta Process Priors の式解説 (20)

PDF
PRML ベイズロジスティック回帰
PDF
PRML_titech 2.3.1 - 2.3.7
PDF
自由エネルギー原理入門: 正規分布を仮定した場合
PDF
変分推論法(変分ベイズ法)(PRML第10章)
PDF
Infinite SVM - ICML 2011 読み会
PDF
Infinite SVM [改] - ICML 2011 読み会
PDF
第8章 ガウス過程回帰による異常検知
PDF
分布 isseing333
PDF
PRML 10.4 - 10.6
PDF
PRML 2.3.2-2.3.4 ガウス分布
PDF
PRML 上 2.3.6 ~ 2.5.2
PDF
Prml1.2.4
PPT
C:\D Drive\Prml\プレゼン\パターン認識と機械学習2 4章 D0703
PDF
Prml2.1 2.2,2.4-2.5
PDF
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PDF
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
PDF
[PRML] パターン認識と機械学習(第2章:確率分布)
PPTX
GEE(一般化推定方程式)の理論
PDF
ベイズ推論による機械学習入門 第4章
PDF
PRML2.1 2.2
PRML ベイズロジスティック回帰
PRML_titech 2.3.1 - 2.3.7
自由エネルギー原理入門: 正規分布を仮定した場合
変分推論法(変分ベイズ法)(PRML第10章)
Infinite SVM - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会
第8章 ガウス過程回帰による異常検知
分布 isseing333
PRML 10.4 - 10.6
PRML 2.3.2-2.3.4 ガウス分布
PRML 上 2.3.6 ~ 2.5.2
Prml1.2.4
C:\D Drive\Prml\プレゼン\パターン認識と機械学習2 4章 D0703
Prml2.1 2.2,2.4-2.5
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
[PRML] パターン認識と機械学習(第2章:確率分布)
GEE(一般化推定方程式)の理論
ベイズ推論による機械学習入門 第4章
PRML2.1 2.2
Ad

More from Tomonari Masada (20)

PDF
Learning Latent Space Energy Based Prior Modelの解説
PDF
Denoising Diffusion Probabilistic Modelsの重要な式の解説
PDF
Context-dependent Token-wise Variational Autoencoder for Topic Modeling
PDF
A note on the density of Gumbel-softmax
PPTX
トピックモデルの基礎と応用
PDF
Expectation propagation for latent Dirichlet allocation
PDF
Mini-batch Variational Inference for Time-Aware Topic Modeling
PDF
A note on variational inference for the univariate Gaussian
PDF
Document Modeling with Implicit Approximate Posterior Distributions
PDF
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
PDF
A Note on ZINB-VAE
PDF
A Note on Latent LSTM Allocation
PDF
A Note on TopicRNN
PDF
Topic modeling with Poisson factorization (2)
PDF
Poisson factorization
PPTX
A Simple Stochastic Gradient Variational Bayes for the Correlated Topic Model
PPTX
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
TXT
Word count in Husserliana Volumes 1 to 28
PDF
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
PDF
FDSE2015
Learning Latent Space Energy Based Prior Modelの解説
Denoising Diffusion Probabilistic Modelsの重要な式の解説
Context-dependent Token-wise Variational Autoencoder for Topic Modeling
A note on the density of Gumbel-softmax
トピックモデルの基礎と応用
Expectation propagation for latent Dirichlet allocation
Mini-batch Variational Inference for Time-Aware Topic Modeling
A note on variational inference for the univariate Gaussian
Document Modeling with Implicit Approximate Posterior Distributions
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
A Note on ZINB-VAE
A Note on Latent LSTM Allocation
A Note on TopicRNN
Topic modeling with Poisson factorization (2)
Poisson factorization
A Simple Stochastic Gradient Variational Bayes for the Correlated Topic Model
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
Word count in Husserliana Volumes 1 to 28
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
FDSE2015

Nonparametric Factor Analysis with Beta Process Priors の式解説

  • 1. 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σ2 n · N i=1 K k=1 πzik k (1 − πk)1−zik · N i=1 K k=1 1 2πσ2 w exp − w2 ik 2σ2 w · K k=1 1 (2π)D/2|Σ|1/2 exp − 1 2 φT k Σ−1 φk · K k=1 Γ(a/K + b(K − 1)/K) Γ(a/K)Γ(b(K − 1)/K) π a/K−1 k (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, Φ, π) ln p(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(π) ln p(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. 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σ2 n dWdΦ + q(π) ln N i=1 K k=1 πzik k (1 − πk)1−zik dπ + const. = q(W)q(Φ) N i=1 D d=1 − 1 2σ2 n 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σ2 n φkdwik + ˆk=k φˆkdziˆkwiˆk 2 − 2xidφkdwik − 2xid ˆk=k φˆkdziˆkwiˆk dWdΦ + q(π) ln πkdπ + const. = − 1 2σ2 n q(W)q(Φ) w2 ik d φ2 kd − 2wik d φkd xid − ˆk=k φˆkdziˆkwiˆk dWdΦ + q(π) ln πkdπ + const. (10) ここで、x¬k id ≡ xid − ˆk=k φˆkdziˆkwiˆk とおくと、 ln q(zik = 1|Z¬ik ) = − 1 2σ2 n q(W)q(Φ) w2 ik(φT k φk) − 2wik(φT k x¬k i ) dWdΦ + q(π) ln πkdπ + const. = − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i + ln πk + const. (11) 2
  • 3. ただし、変分事後分布のもとでの期待値を · で表した。 φT k φk = d φ2 kd については、後に出てくる式 (23) を参照。次に、zik = 0 となる変分事後確率を求める。 ln q(zik = 0|Z¬ik ) = q(W)q(Φ) D d=1 − 1 2σ2 n ˆk=k φˆkdziˆkwiˆk 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(wi) = Z q(Z)q(Φ) ln p(xi|zi, wi, Φ)dΦ + ln p(wi|σw) − ln q(wi) + const. (13) δLwi δq(wi) = 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σ2 n dΦ + K k=1 − w2 ik 2σ2 w + const. = Z q(Z)q(Φ) D d=1 − −2xid k φkdzikwik + ( k φkdzikwik)2 2σ2 n dΦ + K k=1 − w2 ik 2σ2 w + const. (14) 式の形から q(wi) はガウス分布の密度関数であると分かる。その密度関数を ∝ exp{−1 2 (wi−vi)T Δ−1 i (wi−vi)} と書くことにし、平均ベクトル vi と共分散行列 Δi を求めてみる。Δi は、原論文の Δi に対応する。 共分散行列 Δi の逆行列を Δ−1 i と書くとすると、Δ−1 i の対角成分 Δ−1 i (k, k) は w2 ik の係数であり、非対 角成分 Δ−1 i (k, ˆk) は wikwiˆk の係数である。式 (14) より、それぞれ、次のようになる。 Δ−1 i (k, k) = 1 σ2 n Z q(Z)q(Φ) d φ2 kdz2 ikdΦ + 1 σ2 w = 1 σ2 n d φ2 kd zik + 1 σ2 w (15) Δ−1 i (k, ˆk) = 1 σ2 n Z q(Z)q(Φ) d φkdzikφˆkdziˆkdΦ = 1 σ2 n d φkd zik φˆkd ziˆk (16) 次に、vi = Δi¯vi とおいて、vi を直接求める代わりに、¯vi を求める。なぜならこのとき、 − 1 2 (wi − vi)T Δ−1 i (wi − vi) = − 1 2 (wi − Δi¯vi)T Δ−1 i (wi − Δi¯vi) = − 1 2 (wi − Δi¯vi)T (Δ−1 i wi − ¯vi) = − 1 2 (wT i Δ−1 i wi − 2¯vT i wi + ¯vT i Δi¯vi) = − 1 2 wT i Δ−1 i wi + ¯vT i wi − 1 2 ¯vT i Δi¯vi (17) より、−1 2 (wi − vi)T Δ−1 i (wi − vi) での wik の一次の項の係数が ¯vik そのものになるからである。よって、 vik = ˆk Δi(k, ˆk)¯viˆk より vik = 1 σ2 n ˆk Δi(k, ˆk) d xid φˆkd ziˆk (18) d xid φˆkd ziˆk の部分は、 φˆkd ziˆk を第 d エントリとするベクトルと xi との内積になっている。 3
  • 4. 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σ2 n dWdΦ¬k − 1 2 φT k Σ−1 φk + const. (20) 式の形から q(φk)はガウス分布の密度関数であると分かる。その密度関数を ∝ exp{−1 2 (φk−μk)T S−1 k (φk−μk)} と書くことにし、平均ベクトル μk と共分散行列 Sk を求めてみる。Sk は原論文の Σk に対応する。 S−1 k (d, d) は φ2 kd の係数であり、S−1 k (d, ˆd) は φkdφk ˆd の係数である。これらを式 (20) から求めると S−1 k (d, d) = 1 σ2 n i zik w2 ik + Σ−1 (d, d) S−1 k (d, ˆd) = Σ−1 (d, ˆd) where d = ˆd (21) これを求めるとき、式 (20) の右辺の最初の項では、どの k についても、d = ˆd であれば φkd と φk ˆd とが掛け 算される機会はないことに注意する。いずれにせよ、S−1 k = 1 σ2 n i zik w2 ik I + Σ−1 となる。Σ について は、原論文の式 (18) の直後に「データ X の empirical covariance が使える」と書いてある。 μk = Sk ¯μk とおくと、−1 2 (φk − μk)T S−1 k (φk − μk) での φkd の係数がそのまま ¯μkd となる。よって μkd = 1 σ2 n ˆd Sk(d, ˆd) i xi ˆd zik wik − 1 σ2 n ˆd Sk(d, ˆd) i ˆk=k φˆdˆk ziˆk wiˆk = 1 σ2 n ˆd Sk(d, ˆd) i zik wik xi ˆd − ˆk=k φˆdˆk ziˆk wiˆk (22) が得られる。なお、μk = Sk ¯μk とおいたので μkd = ˆd Sk(d, ˆd)¯μk ˆd が成り立つ、ということを使っている。 式 (11) や式 (15) に現れる φ2 kd は、いまや計算できる。なぜなら、PRML の式 (2.62) より φkφT k = φk φk T + Sk が成り立ち、特に対角成分に注目して φ2 kd = φkd 2 + Sk(d, d) が得られるからである。つ まり、 d φ2 kd = d φkd 2 + Tr(Sk) (23) これは、原論文の式 (21) の A の意味を説明する。なお、Bi については、 z2 ik = zik であること、また、 一般に z2 ik = zik zik であることから、単に対角成分についてのみ z2 ik を引き zik を足す必要があるか ら、このような行列が必要になっているだけのことである。 4
  • 5. 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 σ−2 n と σ−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σ2 n · N i=1 K k=1 πzik k (1 − πk)1−zik · N i=1 K k=1 1 2πσ2 w exp − w2 ik 2σ2 w · K k=1 1 (2π)D/2|Σ|1/2 exp − 1 2 φT k Σ−1 φk · K k=1 Γ(a/K + b(K − 1)/K) Γ(a/K)Γ(b(K − 1)/K) π a/K−1 k (1 − πk)b(K−1)/K−1 · 1 Γ(c) cd (σ−2 n )c−1 e−dσ−2 n · 1 Γ(e) ef (σ−2 w )e−1 e−fσ−2 w (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
  • 6. 考え直す必要があるのは、以下のケース。π に関する考察は、元のままでよい。 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 が常に σ−2 n とい うかたちで、しかも、他の何かに掛け算されるかたちでしか現れないので、σ−2 n を σ−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 2 log σ−2 n − x2 id − 2xid k φkdzikwik + ( k φkdzikwik)2 2σ2 n dWdΦ + ln p(σn|c, d) + const. = − 1 2σ2 n i,d x2 id − 2xid k φkd zik wik + k φ2 kd zik w2 ik + ˆk=k φkd φˆkd zik ziˆk wikwiˆk + ND 2 + c − 1 ln σ−2 n − dσ−2 n + const. (36) これはガンマ分布の密度関数である。ところで、covariance の定義より wiwT i = Δi + wi wi T だから ln q(σn) = − 1 2σ2 n i,d x2 id − 2xid k φkd zik wik + k φ2 kd zik w2 ik + ˆk=k φkd φˆkd zik ziˆk Δi(k, ˆk) + ˆk=k φkd φˆkd zik ziˆk wik wiˆk + ND 2 + c − 1 ln σ−2 n − dσ−2 n + const. = −dσ−2 n − 1 2σ2 n i,d xid − k φkd zik wik 2 − k φkd 2 zik 2 wik 2 + k φ2 kd zik w2 ik + ˆk=k φkd φˆkd zik ziˆk Δi(k, ˆk) + ND 2 + c − 1 ln σ−2 n + const. (37) 6
  • 7. 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 2 log σ−2 w − w2 ik 2σ2 w dW + (e − 1) ln σ−2 w − fσ−2 w + const. = − 1 2 σ−2 w i q(wi)wT i widwi + NK 2 + e − 1 ln σ−2 w − fσ−2 w + const. = − 1 2 σ−2 w i wT i wi + NK 2 + e − 1 ln σ−2 w − fσ−2 w + const. = − 1 2 σ−2 w i k Si(k, k) + wik 2 + NK 2 + e − 1 ln σ−2 w − fσ−2 w + const. = −σ−2 w 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
  • 8. 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σ2 n 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σ2 n dWdΦdσn = − ND ln 2π 2 + ND 2 ln σ−2 n − σ−2 n 2 i d x2 id + σ−2 n i d k xid φkd zik wik − σ−2 n 2 i d k φ2 kd zik w2 ik − σ−2 n i d k=ˆk φkd φˆkd zik ziˆk wikwiˆk = − ND ln 2π 2 + ND 2 ln σ−2 n − σ−2 n 2 i d xid − k φkd zik wik 2 − i d k φkd 2 zik 2 wik 2 + i d k φ2 kd zik w2 ik + i d k=ˆk φkd φˆkd zik ziˆk Δ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 − w2 ik 2σ2 w dwidσw = − NK ln 2π 2 + NK 2 ln σ−2 w − σ−2 w 2 i k w2 ik = − NK ln 2π 2 + NK 2 ln σ−2 w − σ−2 w 2 i k wik 2 + Δi(k, k) (43) q(Φ) ln p(Φ|Σ)dΦ = k q(φk) − ln(2π)D/2 |Σ|1/2 − 1 2 φT k Σ−1 φk dφk = − DK ln 2π 2 − K 2 ln |Σ| − 1 2 k q(φk) d ˆd φkdφk ˆdΣ−1 (d, ˆd)dφk = − DK ln 2π 2 − K 2 ln |Σ| − 1 2 k d ˆd φkdφk ˆd Σ−1 (d, ˆd) = − DK ln 2π 2 − K 2 ln |Σ| − 1 2 k d ˆd φkd φk ˆd + 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
  • 9. q(σn) ln p(σn|c, d)dσn = q(σn){− ln Γ(c) + d ln c + (c − 1) ln(σ−2 n ) − dσ−2 n }dσn = − ln Γ(c) + d ln c + (c − 1) ln(σ−2 n ) − d σ−2 n (46) q(σw) ln p(σw|e, f)dσw = − ln Γ(e) + f ln e + (e − 1) ln(σ−2 w ) − f σ−2 w (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 − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i exp ln πk exp − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i exp ln πk + exp ln(1 − πk) (49) q(zik = 0|Z¬ik ) = exp ln(1 − πk) exp − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i 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 Δ−1 i (wi − vi) dwi = − NK ln 2π 2 − 1 2 i ln |Δi| − 1 2 i q(wi) k ˆk (wik − vik)(wiˆk − viˆk)Δ−1 i (k, ˆk)dwi = − NK ln 2π 2 − 1 2 i ln |Δi| − 1 2 i k ˆk wikwiˆk − wik viˆk − vik wiˆk + vikviˆk Δ−1 i (k, ˆk) = − NK ln 2π 2 − 1 2 i ln |Δi| − 1 2 i k ˆk wik wiˆk + Δi(k, ˆk) − 2 wik wiˆk + wik wiˆk Δ−1 i (k, ˆk) = − NK ln 2π 2 − 1 2 i ln |Δi| − 1 2 i k ˆk Δi(k, ˆk)Δ−1 i (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 + a K )Γ(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
  • 10. q(σn) ln q(σn)dσn − ln Γ(˜c) + ˜d ln ˜c + (˜c − 1) ln(σ−2 n ) − ˜d σ−2 n (54) q(σw) ln q(σw)dσw = − ln Γ(˜e) + ˜f ln ˜e + (˜e − 1) ln(σ−2 w ) − ˜f σ−2 w (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 φ2 kd zik w2 ik + ˆk=k φkd φˆkd zik ziˆk Δi(k, ˆk) (57) ˜e = e + NK 2 (58) ˜f = f + 1 2 i k Si(k, k) + wik 2 (59) それぞれの期待値については、以下の通り。PRML の Appendix B も合わせて参照。 σ−2 n = ˜c ˜d (60) ln σ−2 n = Ψ(˜c) − ln ˜d (61) σ−2 w = ˜e ˜f (62) ln σ−2 w = Ψ(˜e) − ln ˜f (63) φkd = μkd = σ−2 n ˆd Sk(d, ˆd) i zik wik xi ˆd − ˆk=k φˆdˆk ziˆk wiˆk (64) φ2 kd = φkd 2 + Sk(d, d) (65) wik = vik = σ−2 n ˆk Δi(k, ˆk) d xid φˆkd ziˆk (66) w2 ik = wik 2 + Δi(k, k) (67) zik = q(zik = 1) = exp − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i exp ln πk exp − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i exp ln πk + exp ln(1 − πk) (68) 1 − zik = q(zik = 0) = exp ln(1 − πk) exp − 1 2σ2 n w2 ik φT k φk − 2 wik φT k x¬k i 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