nonparametric factor analysis with beta process priors の式解説

10

Click here to load reader

Upload: tomonari-masada

Post on 26-Jun-2015

132 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Nonparametric Factor Analysis with Beta Process Priors の式解説

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

Page 2: Nonparametric Factor Analysis with Beta Process Priors の式解説

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|π)ε

− 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

Page 3: Nonparametric Factor Analysis with Beta Process Priors の式解説

ただし、変分事後分布のもとでの期待値を 〈·〉で表した。〈φ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

Page 4: Nonparametric Factor Analysis with Beta Process Priors の式解説

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

Page 5: Nonparametric Factor Analysis with Beta Process Priors の式解説

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

Page 6: Nonparametric Factor Analysis with Beta Process Priors の式解説

考え直す必要があるのは、以下のケース。πに関する考察は、元のままでよい。

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

Page 7: Nonparametric Factor Analysis with Beta Process Priors の式解説

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

Page 8: Nonparametric Factor Analysis with Beta Process Priors の式解説

∫ ∑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

Page 9: Nonparametric Factor Analysis with Beta Process Priors の式解説

∫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

Page 10: Nonparametric Factor Analysis with Beta Process Priors の式解説

∫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