sirm(subset infinite relational models)の式導出の解説
TRANSCRIPT
![Page 1: SIRM(Subset Infinite Relational Models)の式導出の解説](https://reader036.vdocuments.us/reader036/viewer/2022082811/558c56bdd8b42a800e8b456c/html5/thumbnails/1.jpg)
解説: 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,krjzj,lN∏i=1
N∏j=1
{ϕxi,j (1− ϕ)1−xi,j
}(1−rirj)
· αK
∏Kk=1(mk − 1)!∏Mi=1(α+ i− 1)
·N∏i=1
λrii (1− λi)
1−ri ·N∏i=1
Γ(e+ f)
Γ(e)Γ(f)λe−1i (1− λi)
f−1
·∏k
∏l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)θck,l−1k,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
(θrirjzi,zjϕ
1−rirj)xi,j
(1− θrirjzi,zjϕ
1−rirj)1−xi,j
(2)
この式では rirjが 1か 0かによって θzi,zj か ϕかのいずれか一方だけが有効になる(他方は 1になる)。よって
p(X;Z,R,Θ, ϕ)
=
N∏i=1
N∏j=1
θrirjxi,jzi,zj ϕ(1−rirj)xi,j (1− θzi,zj )
rirj(1−xi,j)(1− ϕ)(1−rirj)(1−xi,j)
=N∏i=1
N∏j=1
θrirjxi,jzi,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,krjzj,lxi,j
k,l (1− θk,l)rizi,krjzj,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,krjzj,lN∏i=1
N∏j=1
{ϕxi,j (1− ϕ)1−xi,j
}(1−rirj)(3)
以下、ハイパーパラメータ α, a, b, c, d, e, f は必要に応じて書いたり書かなかったりする。
1
![Page 2: SIRM(Subset Infinite Relational Models)の式導出の解説](https://reader036.vdocuments.us/reader036/viewer/2022082811/558c56bdd8b42a800e8b456c/html5/thumbnails/2.jpg)
ここでは 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
∏Kk=1(mk − 1)!∏Mi=1(α+ i− 1)
∫ N∏i=1
N∏j=1
∏k
∏l
{θxi,j
k,l (1− θk,l)1−xi,j
}rizi,krjzj,lN∏i=1
N∏j=1
{ϕxi,j (1− ϕ)1−xi,j
}(1−rirj)
·N∏i=1
λrii (1− λi)
1−ri ·N∏i=1
Γ(e+ f)
Γ(e)Γ(f)λe−1i (1− λi)
f−1
·∏k
∏l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)θck,l−1k,l (1− θk,l)
dk,l−1 · Γ(a+ b)
Γ(a)Γ(b)ϕa−1(1− ϕ)b−1dΛdΘdϕ
= αK
∏Kk=1(mk − 1)!∏Mi=1(α+ i− 1)
∫ ∏k
∏l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)θck,l−1+
∑i
∑j xi,jrizi,krjzj,l
k,l (1− θk,l)dk,l−1+
∑i
∑j(1−xi,j)rizi,krjzj,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+rii (1− λi)
f−1+1−ridΛdΘdϕ
= αK
∏Kk=1(mk − 1)!∏Mi=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+n̄k,l
· Γ(a+ b)
Γ(a)Γ(b)ϕa−1+q(1− ϕ)b−1+q̄ ·
N∏i=1
Γ(e+ f)
Γ(e)Γ(f)λe−1+rii (1− λi)
f−1+1−ridΛdΘdϕ
= αK
∏Kk=1(mk − 1)!∏Mi=1(α+ i− 1)
·∏k
∏l
Γ(ck,l + dk,l)
Γ(ck,l)Γ(dk,l)
Γ(nk,l + ck,l)Γ(n̄k,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,krjzj,lN∏i=1
N∏j=1
{ϕxi,j (1− ϕ)1−xi,j
}(1−rirj)
·N∏i=1
λrii (1− λi)
1−ri ·N∏i=1
λe−1i (1− λi)
f−1 ·∏k
∏l
θck,l−1k,l (1− θk,l)
dk,l−1 · ϕa−1(1− ϕ)b−1
·∏k
∏l
Γ(Nk,l + ck,l + dk,l)
Γ(nk,l + ck,l)Γ(n̄k,l + dk,l)· Γ(a+ b+Q)
Γ(a+ q)Γ(b+ q̄)·
N∏i=1
Γ(e+ f + 1)
Γ(e+ ri)Γ(f + 1− ri)(5)
2
![Page 3: SIRM(Subset Infinite Relational Models)の式導出の解説](https://reader036.vdocuments.us/reader036/viewer/2022082811/558c56bdd8b42a800e8b456c/html5/thumbnails/3.jpg)
zi, ri をサンプリングしたいので、その事後分布を求める。
p(zi, ri|X,Z\i,R\i) =p(zi, ri,X,Z\i,R\i)
p(X,Z\i,R\i)
=p(X|zi, ri,Z\i,R\i)p(zi, ri|Z\i,R\i)p(Z\i,R\i)
p(X,Z\i,R\i)
=p(X+i|zi, ri,X\i,Z\i,R\i)p(X\i|zi, ri,Z\i,R\i)p(zi, ri|Z\i,R\i)p(Z\i,R\i)
p(X,Z\i,R\i)
=p(X+i|zi, ri,X\i,Z\i,R\i)p(X\i|Z\i,R\i)p(zi, ri|Z\i,R\i)p(Z\i,R\i)
p(X,Z\i,R\i)
∝ p(X+i|zi, ri,X\i,Z\i,R\i)p(zi, ri|Z\i,R\i) (6)
式 (6)の前半分、つまり p(X+i|zi, ri,X\i,Z\i,R\i)を求めてみる。
p(X+i|zi, ri,X\i,Z\i,R\i, a, b, c, d)
=
∫p(X+i|zi, ri,Θ, ϕ)p(Θ, ϕ|X\i,Z\i,R\i, 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,krjzj,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
}rjzj,krizi,l∏j ̸=i
{ϕxj,i(1− ϕ)1−xj,i
}(1−rjri)
·∏i′ ̸=i
∏j ̸=i
∏k
∏l
{θxi′,jk,l (1− θk,l)
1−xi′,j}ri′zi′,krjzj,l
∏i′ ̸=i
∏j ̸=i
{ϕxi′,j (1− ϕ)1−xi′,j
}(1−ri′rj)
·∏k
∏l
θck,l−1k,l (1− θk,l)
dk,l−1 · ϕa−1(1− ϕ)b−1
·∏k
∏l
Γ(N\ik,l + ck,l + dk,l)
Γ(n\ik,l + ck,l)Γ(n̄
\ik,l + dk,l)
· Γ(a+ b+Q\i)
Γ(a+ q\i)Γ(b+ q̄\i)dΘdϕ (7)
上でΛは関係しないことに注意。
ここで場合分け。zi = 0, ri = 0のとき。
p(X+i|zi = 0, ri = 0,X\i,Z\i,R\i)
=
∫ϕ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′,jk,l (1− θk,l)
1−xi′,j}ri′zi′,krjzj,l
∏i′ ̸=i
∏j ̸=i
{ϕxi′,j (1− ϕ)1−xi′,j
}(1−ri′rj)
·∏k
∏l
θck,l−1k,l (1− θk,l)
dk,l−1 · ϕa−1(1− ϕ)b−1
·∏k
∏l
Γ(N\ik,l + ck,l + dk,l)
Γ(n\ik,l + ck,l)Γ(n̄
\ik,l + dk,l)
· Γ(a+ b+Q\i)
Γ(a+ q\i)Γ(b+ q̄\i)dΘdϕ
=Γ(a+ q\i + xi,i +
∑j ̸=i(xi,j + xj,i))Γ(b+ q̄\i + 1− xi,i +
∑j ̸=i(2− xi,j − xj,i))
Γ(a+ b+Q\i + 2N − 1)
Γ(a+ b+Q\i)
Γ(a+ q\i)Γ(b+ q̄\i)
(8)
3
![Page 4: SIRM(Subset Infinite Relational Models)の式導出の解説](https://reader036.vdocuments.us/reader036/viewer/2022082811/558c56bdd8b42a800e8b456c/html5/thumbnails/4.jpg)
zi = k, ri = 1のとき。
p(X+i|zi = k, ri = 1,X\i,Z\i,R\i)
=
∫θxi,i
k,k (1− θk,k)1−xi,i
·∏j ̸=i
∏l
{θxi,j
k,l (1− θk,l)1−xi,j
}rjzj,l∏j ̸=i
{ϕxi,j (1− ϕ)1−xi,j
}(1−rj)
·∏j ̸=i
∏l
{θxj,i
l,k (1− θl,k)1−xj,i
}rjzj,l∏j ̸=i
{ϕxj,i(1− ϕ)1−xj,i
}(1−rj)
·∏i′ ̸=i
∏j ̸=i
∏k′
∏l
{θxi′,jk′,l (1− θk′,l)
1−xi′,j}ri′zi′,k′rjzj,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\ik′,l + ck′,l + dk′,l)
Γ(n\ik′,l + ck′,l)Γ(n̄
\ik′,l + dk′,l)
· Γ(a+ b+Q\i)
Γ(a+ q\i)Γ(b+ q̄\i)dΘdϕ
=Γ(n
\ik,k + xi,i +
∑j ̸=i(xi,j + xj,i)rjzj,k + ck,k)Γ(n̄
\ik,k + 1− xi,i +
∑j ̸=i(2− xi,j − xj,i)rjzj,k + dk,k)
Γ(N\ik,k + 1 + 2
∑j ̸=i rjzj,k + ck,k + dk,k)
·∏l ̸=k
Γ(n\ik,l +
∑j ̸=i xi,jrjzj,l + ck,l)Γ(n̄
\ik,l +
∑j ̸=i(1− xi,j)rjzj,l + dk,l)
Γ(N\ik,l +
∑j ̸=i rjzj,l + ck,l + dk,l)
·∏l ̸=k
Γ(n\il,k +
∑j ̸=i xj,irjzj,l + cl,k)Γ(n̄
\il,k +
∑j ̸=i(1− xj,i)rjzj,l + dl,k)
Γ(N\il,k +
∑j ̸=i rjzj,l + cl,k + dl,k)
·Γ(N
\ik,k + ck,k + dk,k)
Γ(n\ik,k + ck,k)Γ(n̄
\ik,k + dk,k)
∏l ̸=k
Γ(N\ik,l + ck,l + dk,l)
Γ(n\ik,l + ck,l)Γ(n̄
\ik,l + dk,l)
∏l ̸=k
Γ(N\il,k + cl,k + dl,k)
Γ(n\il,k + cl,k)Γ(n̄
\il,k + dl,k)
·Γ(a+ q\i +
∑j ̸=i(xi,j + xj,i)(1− rj))Γ(b+ q̄\i +
∑j ̸=i(2− xi,j − xj,i)(1− rj))
Γ(a+ b+Q\i + 2∑
j ̸=i(1− rj))
Γ(a+ b+Q\i)
Γ(a+ q\i)Γ(b+ q̄\i)
(9)
式 (6)の後ろ半分 p(zi, ri|Z\i,R\i)を考える。これは
p(zi, ri|Z\i,R\i) = p(zi|ri,Z\i, α)p(ri|R\i, e, f) (10)
と分解できる。p(ri|R\i)のほうを先に調べておく。まず
p(R|e, f) =∫
p(R|Λ)p(Λ|e, f)dΛ =
∫ ∏i
λrii (1− λi)
1−ri∏i
Γ(e+ f)
Γ(e)Γ(f)λe−1j (1− λj)
f−1dΛ
=
∫ ∏i
Γ(e+ f)
Γ(e)Γ(f)λe−1+rij (1− λj)
f−1+1−ridΛ
=∏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|R\i, e, f) =p(R|e, f)p(R\i|e, f)
=1
e+ f
Γ(e+ ri)Γ(f + 1− ri)
Γ(e)Γ(f)(12)
4
![Page 5: SIRM(Subset Infinite Relational Models)の式導出の解説](https://reader036.vdocuments.us/reader036/viewer/2022082811/558c56bdd8b42a800e8b456c/html5/thumbnails/5.jpg)
つまり p(ri = 0|R\i) = fe+f、p(ri = 1|R\i) = 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−1dλ
=
∫Γ(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|R\i, e, f) =p(R|e, f)p(R\i|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|Z\i,R\i) = p(zi|ri = 0,Z\i)p(ri = 0|R\i) (15)
zi = 0以外は確率ゼロ。よって
p(zi = 0, ri = 0|Z\i,R\i) = p(ri = 0|R\i) =f +
∑j ̸=i(1− rj)
e+ f +N − 1(16)
ri = 1のとき、
p(zi, ri = 1|Z\i,R\i) = p(zi|ri = 1,Z\i, α)p(ri = 1|R\i) =p(Z|ri = 1, α)
p(Z\i|ri = 1, α)p(ri = 1|R\i) (17)
後ろ半分、つまり p(ri = 1|R\i)については
p(ri = 1|R\i) =e+
∑j ̸=i rj
e+ f +N − 1(18)
前半分、つまり p(zi|ri = 1,Z\i, α) = p(Z|ri=1,α)
p(Z\i|ri=1,α)については場合分け。
z = k ∈ {1, . . . ,K}のとき、つまり、すでにあるトピックのいずれかひとつになるとき。
p(zi|ri = 1,Z\i,R\i) =αK
∏Kl=1(m
\il + I(l = k)− 1)!∏1+
∑l m
\jl
j=1 (α+ j − 1)
∏∑l m
\jl
j=1 (α+ j − 1)
αK∏K
l=1(m\ik − 1)!
=m
\ik
α+∑
l m\il
(19)
z = K + 1のとき、つまり、新しいトピックになるとき。
p(zi|ri = 1,Z\i,R\i) =αK+1
∏K+1l=1 (m
\il + I(l = K + 1)− 1)!∏1+
∑l m
\jl
j=1 (α+ j − 1)
∏∑l m
\jl
j=1 (α+ j − 1)
αK∏K
l=1(m\ik − 1)!
=α
α+∑
l m\il
(20)
5