More Related Content
Similar to SIRM(Subset Infinite Relational Models)の式導出の解説
Similar to SIRM(Subset Infinite Relational Models)の式導出の解説 (10)
More from Tomonari Masada
More from Tomonari Masada (20)
SIRM(Subset Infinite Relational Models)の式導出の解説
- 1. 解説: A supplemental material for “Subset Infinite Relational
Models”
正田備也 @ 長崎大学
平成 24 年 6 月 5 日
p(X, Z, R, Λ, Θ, ϕ; α, a, b, c, d, e, f) = p(X; Z, R, Θ, ϕ)p(Z; R, α)p(R; Λ)p(Λ; e, f)p(Θ; c, d)p(ϕ; a, b)
=
N∏
i=1
N∏
j=1
∏
k
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rizi,krj zj,l
N∏
i=1
N∏
j=1
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rirj )
· αK
∏K
k=1(mk − 1)!
∏M
i=1(α + i − 1)
·
N∏
i=1
λri
i (1 − λi)1−ri
·
N∏
i=1
Γ(e + f)
Γ(e)Γ(f)
λe−1
i (1 − λi)f−1
·
∏
k
∏
l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
θ
ck,l−1
k,l (1 − θk,l)dk,l−1
·
Γ(a + b)
Γ(a)Γ(b)
ϕa−1
(1 − ϕ)b−1
(1)
ri = 0 である i については確率 1 で zi = 0 と設定される。そのため、p(zi = 0|ri = 0)(N−M)(1−
∑
k zi,k)
と
いう項が上式右辺の p(Z; R, α) という項の内容として現れるが、これは 1 に等しくなる。そこでこの項は書
かないことにする。
論文の式 (13) を説明しておく。
p(X; Z, R, Θ, ϕ) =
N∏
i=1
N∏
j=1
(
θrirj
zi,zj
ϕ1−rirj
)xi,j
(
1 − θrirj
zi,zj
ϕ1−rirj
)1−xi,j
(2)
この式では rirj が 1 か 0 かによって θzi,zj か ϕ かのいずれか一方だけが有効になる(他方は 1 になる)。よって
p(X; Z, R, Θ, ϕ)
=
N∏
i=1
N∏
j=1
θrirj xi,j
zi,zj
ϕ(1−rirj )xi,j
(1 − θzi,zj )rirj (1−xi,j )
(1 − ϕ)(1−rirj )(1−xi,j )
=
N∏
i=1
N∏
j=1
θrirj xi,j
zi,zj
(1 − θzi,zj )rirj (1−xi,j )
N∏
i=1
N∏
j=1
ϕ(1−rirj )xi,j
(1 − ϕ)(1−rirj )(1−xi,j )
=
N∏
i=1
N∏
j=1
∏
k
∏
l
θ
rizi,krj zj,lxi,j
k,l (1 − θk,l)rizi,krj zj,l(1−xi,j )
N∏
i=1
N∏
j=1
ϕ(1−rirj )xi,j
(1 − ϕ)(1−rirj )(1−xi,j )
=
N∏
i=1
N∏
j=1
∏
k
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rizi,krj zj,l
N∏
i=1
N∏
j=1
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rirj )
(3)
以下、ハイパーパラメータ α, a, b, c, d, e, f は必要に応じて書いたり書かなかったりする。
1
- 2. ここでは collapsed なサンプリングをしたいので、周辺化してパラメータ Λ, Θ, ϕ を消去しておく。
p(X, Z, R|α, a, b, c, d, e, f) =
∫
p(X, Z, R, Λ, Θ, ϕ; α, a, b, c, d, e, f)dΛdΘdϕ
= p(Z; R, α)
∫
p(X; Z, R, Θ, ϕ)p(R; Λ)p(Λ; e, f)p(Θ; c, d)p(ϕ; a, b)dΛdΘdϕ
= αK
∏K
k=1(mk − 1)!
∏M
i=1(α + i − 1)
∫ N∏
i=1
N∏
j=1
∏
k
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rizi,krj zj,l
N∏
i=1
N∏
j=1
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rirj )
·
N∏
i=1
λri
i (1 − λi)1−ri
·
N∏
i=1
Γ(e + f)
Γ(e)Γ(f)
λe−1
i (1 − λi)f−1
·
∏
k
∏
l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
θ
ck,l−1
k,l (1 − θk,l)dk,l−1
·
Γ(a + b)
Γ(a)Γ(b)
ϕa−1
(1 − ϕ)b−1
dΛdΘdϕ
= αK
∏K
k=1(mk − 1)!
∏M
i=1(α + i − 1)
∫ ∏
k
∏
l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
θ
ck,l−1+
∑
i
∑
j xi,j rizi,krj zj,l
k,l (1 − θk,l)dk,l−1+
∑
i
∑
j (1−xi,j )rizi,krj zj,l
·
Γ(a + b)
Γ(a)Γ(b)
ϕa−1+
∑
i
∑
j xi,j (1−rirj )
(1 − ϕ)b−1+
∑
i
∑
j (1−xi,j )(1−rirj )
·
N∏
i=1
Γ(e + f)
Γ(e)Γ(f)
λe−1+ri
i (1 − λi)f−1+1−ri
dΛdΘdϕ
= αK
∏K
k=1(mk − 1)!
∏M
i=1(α + i − 1)
∫ ∏
k
∏
l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
θ
ck,l−1+nk,l
k,l (1 − θk,l)dk,l−1+¯nk,l
·
Γ(a + b)
Γ(a)Γ(b)
ϕa−1+q
(1 − ϕ)b−1+¯q
·
N∏
i=1
Γ(e + f)
Γ(e)Γ(f)
λe−1+ri
i (1 − λi)f−1+1−ri
dΛdΘdϕ
= αK
∏K
k=1(mk − 1)!
∏M
i=1(α + i − 1)
·
∏
k
∏
l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
Γ(nk,l + ck,l)Γ(¯nk,l + dk,l)
Γ(Nk,l + ck,l + dk,l)
·
Γ(a + b)
Γ(a)Γ(b)
Γ(a + q)Γ(b + ¯q)
Γ(a + b + Q)
·
N∏
i=1
Γ(e + f)
Γ(e)Γ(f)
Γ(e + ri)Γ(f + 1 − ri)
Γ(e + f + 1)
(4)
よって、式 (1) と合わせて、パラメータ Λ, Θ, ϕ の事後分布は以下の通り。
p(Λ, Θ, ϕ|X, Z, R, α, a, b, c, d, e, f) =
p(X, Z, R, Λ, Θ, ϕ|α, a, b, c, d, e, f)
p(X, Z, R|α, a, b, c, d, e, f)
=
N∏
i=1
N∏
j=1
∏
k
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rizi,krj zj,l
N∏
i=1
N∏
j=1
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rirj )
·
N∏
i=1
λri
i (1 − λi)1−ri
·
N∏
i=1
λe−1
i (1 − λi)f−1
·
∏
k
∏
l
θ
ck,l−1
k,l (1 − θk,l)dk,l−1
· ϕa−1
(1 − ϕ)b−1
·
∏
k
∏
l
Γ(Nk,l + ck,l + dk,l)
Γ(nk,l + ck,l)Γ(¯nk,l + dk,l)
·
Γ(a + b + Q)
Γ(a + q)Γ(b + ¯q)
·
N∏
i=1
Γ(e + f + 1)
Γ(e + ri)Γ(f + 1 − ri)
(5)
2
- 3. zi, ri をサンプリングしたいので、その事後分布を求める。
p(zi, ri|X, Zi
, Ri
) =
p(zi, ri, X, Zi
, Ri
)
p(X, Zi
, Ri
)
=
p(X|zi, ri, Zi
, Ri
)p(zi, ri|Zi
, Ri
)p(Zi
, Ri
)
p(X, Zi
, Ri
)
=
p(X+i
|zi, ri, Xi
, Zi
, Ri
)p(Xi
|zi, ri, Zi
, Ri
)p(zi, ri|Zi
, Ri
)p(Zi
, Ri
)
p(X, Zi
, Ri
)
=
p(X+i
|zi, ri, Xi
, Zi
, Ri
)p(Xi
|Zi
, Ri
)p(zi, ri|Zi
, Ri
)p(Zi
, Ri
)
p(X, Zi
, Ri
)
∝ p(X+i
|zi, ri, Xi
, Zi
, Ri
)p(zi, ri|Zi
, Ri
) (6)
式 (6) の前半分、つまり p(X+i
|zi, ri, Xi
, Zi
, Ri
) を求めてみる。
p(X+i
|zi, ri, Xi
, Zi
, Ri
, a, b, c, d)
=
∫
p(X+i
|zi, ri, Θ, ϕ)p(Θ, ϕ|Xi
, Zi
, Ri
, a, b, c, d)dΘdϕ
=
∫ ∏
k
{
θ
xi,i
k,k (1 − θk,k)1−xi,i
}rizi,k
{
ϕxi,i
(1 − ϕ)1−xi,i
}(1−ri)
·
∏
j̸=i
∏
k
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rizi,krj zj,l
∏
j̸=i
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rirj )
·
∏
j̸=i
∏
k
∏
l
{
θ
xj,i
k,l (1 − θk,l)1−xj,i
}rj zj,krizi,l
∏
j̸=i
{
ϕxj,i
(1 − ϕ)1−xj,i
}(1−rj ri)
·
∏
i′̸=i
∏
j̸=i
∏
k
∏
l
{
θ
xi′,j
k,l (1 − θk,l)1−xi′,j
}ri′ zi′,krj zj,l
∏
i′̸=i
∏
j̸=i
{
ϕxi′,j (1 − ϕ)1−xi′,j
}(1−ri′ rj )
·
∏
k
∏
l
θ
ck,l−1
k,l (1 − θk,l)dk,l−1
· ϕa−1
(1 − ϕ)b−1
·
∏
k
∏
l
Γ(N
i
k,l + ck,l + dk,l)
Γ(n
i
k,l + ck,l)Γ(¯n
i
k,l + dk,l)
·
Γ(a + b + Qi
)
Γ(a + qi)Γ(b + ¯qi)
dΘdϕ (7)
上で Λ は関係しないことに注意。
ここで場合分け。zi = 0, ri = 0 のとき。
p(X+i
|zi = 0, ri = 0, Xi
, Zi
, Ri
)
=
∫
ϕxi,i
(1 − ϕ)1−xi,i
·
∏
j̸=i
ϕxi,j
(1 − ϕ)1−xi,j
·
∏
j̸=i
ϕxj,i
(1 − ϕ)1−xj,i
·
∏
i′̸=i
∏
j̸=i
∏
k
∏
l
{
θ
xi′,j
k,l (1 − θk,l)1−xi′,j
}ri′ zi′,krj zj,l
∏
i′̸=i
∏
j̸=i
{
ϕxi′,j (1 − ϕ)1−xi′,j
}(1−ri′ rj )
·
∏
k
∏
l
θ
ck,l−1
k,l (1 − θk,l)dk,l−1
· ϕa−1
(1 − ϕ)b−1
·
∏
k
∏
l
Γ(N
i
k,l + ck,l + dk,l)
Γ(n
i
k,l + ck,l)Γ(¯n
i
k,l + dk,l)
·
Γ(a + b + Qi
)
Γ(a + qi)Γ(b + ¯qi)
dΘdϕ
=
Γ(a + qi
+ xi,i +
∑
j̸=i(xi,j + xj,i))Γ(b + ¯qi
+ 1 − xi,i +
∑
j̸=i(2 − xi,j − xj,i))
Γ(a + b + Qi + 2N − 1)
Γ(a + b + Qi
)
Γ(a + qi)Γ(b + ¯qi)
(8)
3
- 4. zi = k, ri = 1 のとき。
p(X+i
|zi = k, ri = 1, Xi
, Zi
, Ri
)
=
∫
θ
xi,i
k,k (1 − θk,k)1−xi,i
·
∏
j̸=i
∏
l
{
θ
xi,j
k,l (1 − θk,l)1−xi,j
}rj zj,l
∏
j̸=i
{
ϕxi,j
(1 − ϕ)1−xi,j
}(1−rj )
·
∏
j̸=i
∏
l
{
θ
xj,i
l,k (1 − θl,k)1−xj,i
}rj zj,l
∏
j̸=i
{
ϕxj,i
(1 − ϕ)1−xj,i
}(1−rj )
·
∏
i′̸=i
∏
j̸=i
∏
k′
∏
l
{
θ
xi′,j
k′,l (1 − θk′,l)1−xi′,j
}ri′ zi′,k′ rj zj,l
∏
i′̸=i
∏
j̸=i
{
ϕxi′,j (1 − ϕ)1−xi′,j
}(1−ri′ rj )
·
∏
k′
∏
l
θ
ck′,l−1
k′,l (1 − θk′,l)dk′,l−1
· ϕa−1
(1 − ϕ)b−1
·
∏
k′
∏
l
Γ(N
i
k′,l + ck′,l + dk′,l)
Γ(n
i
k′,l + ck′,l)Γ(¯n
i
k′,l + dk′,l)
·
Γ(a + b + Qi
)
Γ(a + qi)Γ(b + ¯qi)
dΘdϕ
=
Γ(n
i
k,k + xi,i +
∑
j̸=i(xi,j + xj,i)rjzj,k + ck,k)Γ(¯n
i
k,k + 1 − xi,i +
∑
j̸=i(2 − xi,j − xj,i)rjzj,k + dk,k)
Γ(N
i
k,k + 1 + 2
∑
j̸=i rjzj,k + ck,k + dk,k)
·
∏
l̸=k
Γ(n
i
k,l +
∑
j̸=i xi,jrjzj,l + ck,l)Γ(¯n
i
k,l +
∑
j̸=i(1 − xi,j)rjzj,l + dk,l)
Γ(N
i
k,l +
∑
j̸=i rjzj,l + ck,l + dk,l)
·
∏
l̸=k
Γ(n
i
l,k +
∑
j̸=i xj,irjzj,l + cl,k)Γ(¯n
i
l,k +
∑
j̸=i(1 − xj,i)rjzj,l + dl,k)
Γ(N
i
l,k +
∑
j̸=i rjzj,l + cl,k + dl,k)
·
Γ(N
i
k,k + ck,k + dk,k)
Γ(n
i
k,k + ck,k)Γ(¯n
i
k,k + dk,k)
∏
l̸=k
Γ(N
i
k,l + ck,l + dk,l)
Γ(n
i
k,l + ck,l)Γ(¯n
i
k,l + dk,l)
∏
l̸=k
Γ(N
i
l,k + cl,k + dl,k)
Γ(n
i
l,k + cl,k)Γ(¯n
i
l,k + dl,k)
·
Γ(a + qi
+
∑
j̸=i(xi,j + xj,i)(1 − rj))Γ(b + ¯qi
+
∑
j̸=i(2 − xi,j − xj,i)(1 − rj))
Γ(a + b + Qi + 2
∑
j̸=i(1 − rj))
Γ(a + b + Qi
)
Γ(a + qi)Γ(b + ¯qi)
(9)
式 (6) の後ろ半分 p(zi, ri|Zi
, Ri
) を考える。これは
p(zi, ri|Zi
, Ri
) = p(zi|ri, Zi
, α)p(ri|Ri
, e, f) (10)
と分解できる。p(ri|Ri
) のほうを先に調べておく。まず
p(R|e, f) =
∫
p(R|Λ)p(Λ|e, f)dΛ =
∫ ∏
i
λri
i (1 − λi)1−ri
∏
i
Γ(e + f)
Γ(e)Γ(f)
λe−1
j (1 − λj)f−1
dΛ
=
∫ ∏
i
Γ(e + f)
Γ(e)Γ(f)
λe−1+ri
j (1 − λj)f−1+1−ri
dΛ
=
∏
i
Γ(e + f)
Γ(e)Γ(f)
Γ(e + ri)Γ(f + 1 − ri)
Γ(e + f + 1)
=
∏
i
1
e + f
Γ(e + ri)Γ(f + 1 − ri)
Γ(e)Γ(f)
(11)
よって
p(ri|Ri
, e, f) =
p(R|e, f)
p(Ri
|e, f)
=
1
e + f
Γ(e + ri)Γ(f + 1 − ri)
Γ(e)Γ(f)
(12)
4
- 5. つまり p(ri = 0|Ri
) = f
e+f 、p(ri = 1|Ri
) = e
e+f 。仮にすべての i で共通の λ が使われるとすると
p(R|e, f) =
∫
p(R|λ)p(λ|e, f)dλ =
∫ ∏
i
λri
(1 − λ)1−ri
Γ(e + f)
Γ(e)Γ(f)
λe−1
(1 − λ)f−1
dλ
=
∫
Γ(e + f)
Γ(e)Γ(f)
λe−1+
∑
i ri
(1 − λ)f−1+
∑
i(1−ri)
dλ
=
Γ(e + f)
Γ(e)Γ(f)
Γ(e +
∑
i ri)Γ(f +
∑
i(1 − ri))
Γ(e + f + N)
(13)
よって
p(ri|Ri
, e, f) =
p(R|e, f)
p(Ri
|e, f)
=
1
e + f + N − 1
Γ(e +
∑
i ri)Γ(f +
∑
i(1 − ri))
Γ(e +
∑
j̸=i rj)Γ(f +
∑
j̸=i(1 − rj))
(14)
論文はこちらに合っているので、λi と添え字が付けられているが、すべての i に共通の λ が使われていると
思われる。式 (5) も適宜変更する。以下もこの仮定のもとで話を進める。
ri = 0 のとき、
p(zi, ri = 0|Zi
, Ri
) = p(zi|ri = 0, Zi
)p(ri = 0|Ri
) (15)
zi = 0 以外は確率ゼロ。よって
p(zi = 0, ri = 0|Zi
, Ri
) = p(ri = 0|Ri
) =
f +
∑
j̸=i(1 − rj)
e + f + N − 1
(16)
ri = 1 のとき、
p(zi, ri = 1|Zi
, Ri
) = p(zi|ri = 1, Zi
, α)p(ri = 1|Ri
) =
p(Z|ri = 1, α)
p(Zi
|ri = 1, α)
p(ri = 1|Ri
) (17)
後ろ半分、つまり p(ri = 1|Ri
) については
p(ri = 1|Ri
) =
e +
∑
j̸=i rj
e + f + N − 1
(18)
前半分、つまり p(zi|ri = 1, Zi
, α) = p(Z|ri=1,α)
p(Zi|ri=1,α)
については場合分け。
z = k ∈ {1, . . . , K} のとき、つまり、すでにあるトピックのいずれかひとつになるとき。
p(zi|ri = 1, Zi
, Ri
) =
αK
∏K
l=1(m
i
l + I(l = k) − 1)!
∏1+
∑
l m
j
l
j=1 (α + j − 1)
∏∑
l m
j
l
j=1 (α + j − 1)
αK
∏K
l=1(m
i
k − 1)!
=
m
i
k
α +
∑
l m
i
l
(19)
z = K + 1 のとき、つまり、新しいトピックになるとき。
p(zi|ri = 1, Zi
, Ri
) =
αK+1
∏K+1
l=1 (m
i
l + I(l = K + 1) − 1)!
∏1+
∑
l m
j
l
j=1 (α + j − 1)
∏∑
l m
j
l
j=1 (α + j − 1)
αK
∏K
l=1(m
i
k − 1)!
=
α
α +
∑
l m
i
l
(20)
5