p
(
θ
∣
X
)
=
p
(
X
∣
θ
)
p
(
θ
)
p
(
X
)
p(\theta|X)=\frac{p(X|\theta)p(\theta)}{p(X)}
p(θ∣X)=p(X)p(X∣θ)p(θ)
其中
p
(
θ
)
p(\theta)
p(θ)称为先验,
p
(
X
∣
θ
)
p(X|\theta)
p(X∣θ)称为似然,
p
(
θ
∣
X
)
p(\theta|X)
p(θ∣X)称为后验,
p
(
X
)
p(X)
p(X)称为evidence ,又叫边际似然(marginal likelihood)。
最大似然估计(MLE)是最大化似然函数
p
(
X
∣
θ
)
p(X|\theta)
p(X∣θ)。
最大后验概率(MAP)是最大化
p
(
X
∣
θ
)
p
(
θ
)
p(X|\theta)p(\theta)
p(X∣θ)p(θ)
两者都是点估计。最大后验概率是对参数指定一个先验分布。得到的值介于先验和MLE之间。
贝叶斯估计是基于贝叶斯公式进行求解,它将参数 θ \theta θ也看做随机变量,为 θ \theta θ指定一个先验分布,通过计算得到 p ( θ ∣ X ) p(\theta|X) p(θ∣X)。
共轭
对似然函数,选定一个先验后,得到一个与先验具有相同函数形式的的后验分布(除了系数不同),此时,我们说先验分布和后验分布是共轭的,同时,这个先验是似然的共轭先验。
Conjugate Prior: In Bayesian probability theory, if the posterior distributions p(θ|x) are in the same family as the prior probability distribution p(θ), the prior and posterior are then called conjugate distributions, and the prior is called a conjugate prior for the likelihood. ----from wiki
共轭的好处是计算方便,同时超参数有明确的物理意义,就是伪计数。另外一个好处就是在计算似然函数时可以把似然函数中的参数通过积分给消掉,从而把似然表示为超参数的函数。这个要通过推导才能看出来。
在定义似然函数时,以伯努利分布和二项分布为例,什么时候要在似然函数上加上二项分布的系数,什么时候不加?当我们只是对一系列伯努利实验的结果序列进行建模时不用加系数。当我们对一系列伯努利实验的每个结果的次数进行建模时就要加上系数。
这里的叙述可能有问题,二项分布的似然函数的表达式是 p k ( 1 − p ) n − k p^k(1-p)^{n-k} pk(1−p)n−k
unigram model假设文档之间独立,词之间也独立,那么生成一个文档的过程就是一个多次的多项式分布实验,重复N次就生成了N个单词。这是最简单的模型,其实就是多次的多项式分布实验。
其实也可以给unigram model中的单词被选中的概率一个先验分布,从而使用贝叶斯估计的那一套来进行计算。
贝叶斯网络是一类图模型,用来表示概率分布和条件依赖。
贝叶斯网路是一个有向图,节点表示随机变量,边表示条件关系,其中观测变量和隐含变量的表示又有不同。盘子表示随机变量的多次重复出现,右下角是出现次数。
推导
首先应该了解gamma函数:
gamma函数是阶乘函数在实数与复数上的扩展,定义为:
Γ
(
x
)
=
∫
0
∞
t
x
−
1
e
t
d
t
\Gamma(x)=\int_0^\infty\frac{t^x-1}{e^t}dt
Γ(x)=∫0∞ettx−1dt
如果x为正整数,有如下性质:
Γ
(
n
)
=
n
!
\Gamma(n)=n!
Γ(n)=n!
同时有如下递推公式:
Γ ( x + 1 ) = x Γ ( x ) \Gamma(x+1)=x\Gamma(x) Γ(x+1)=xΓ(x)
下面是Dirichlet分布,该分布是Beta分布从二维到K维的推广。
该分布的概率密度函数为:
f
(
p
,
α
)
=
Γ
(
∑
k
=
1
K
α
k
)
∏
k
=
1
K
Γ
(
α
k
)
∏
k
=
1
K
p
k
α
k
−
1
=
1
Δ
(
α
)
∏
k
=
1
K
p
k
α
k
−
1
1
Δ
(
α
)
=
Γ
(
∑
k
=
1
K
α
k
)
∏
k
=
1
K
Γ
(
α
k
)
α
=
(
α
1
,
α
2
,
.
.
.
,
α
k
)
p
=
(
p
1
,
p
2
,
.
.
.
,
p
k
)
f(p,\alpha)=\frac{\Gamma(\sum_{k=1}^K\alpha_k)}{\prod_{k=1}^{K}\Gamma(\alpha_k)}\prod_{k=1}^Kp_k^{\alpha_k-1}\\ =\frac{1}{\Delta(\alpha)}\prod_{k=1}^Kp_k^{\alpha_k-1}\\ \frac{1}{\Delta(\alpha)}=\frac{\Gamma(\sum_{k=1}^K\alpha_k)}{\prod_{k=1}^{K}\Gamma(\alpha_k)}\\ \alpha=(\alpha_1,\alpha_2, ...,\alpha_k)\\ p=(p_1,p_2,...,p_k)
f(p,α)=∏k=1KΓ(αk)Γ(∑k=1Kαk)k=1∏Kpkαk−1=Δ(α)1k=1∏Kpkαk−1Δ(α)1=∏k=1KΓ(αk)Γ(∑k=1Kαk)α=(α1,α2,...,αk)p=(p1,p2,...,pk)
根据概率分布的定义:
∑
k
=
1
K
f
(
p
k
,
α
)
=
1
\sum_{k=1}^Kf(p_k,\alpha)=1
k=1∑Kf(pk,α)=1
有
Δ
(
α
)
=
∫
∏
k
=
1
K
p
k
α
k
−
1
d
p
\Delta(\alpha)=\int \prod_{k=1}^Kp_k^{\alpha_k-1}dp
Δ(α)=∫k=1∏Kpkαk−1dp
上面的式子在LDA的推导中会一直用到。
collapsed LDA推导
先约定下各个符号的含义。
M:文档数
K:主题数
V:词汇表大小
α
⃗
\vec\alpha
α:文档的主题分布的先验分布的超参数
β
⃗
\vec\beta
β:主题的单词分布的先验分布的超参数
θ
⃗
m
\vec\theta_m
θm:表示p(z|d=m),文档m的主题分布,每个文档一个向量,构成矩阵
Θ
=
{
θ
⃗
m
}
m
=
1
M
(
M
∗
K
)
\Theta=\{\vec\theta_m\}_{m=1}^M(M*K)
Θ={θm}m=1M(M∗K)
φ
⃗
k
\vec\varphi_k
φk表示p(t|z=k),主题k的单词分布,每个主题一个,构成矩阵
Φ
=
{
φ
⃗
k
}
k
=
1
K
(
k
∗
V
)
\Phi=\{\vec\varphi_k\}_{k=1}^K(k*V)
Φ={φk}k=1K(k∗V)
在LDA中隐含变量是每个单词的主题
z
m
,
n
z_{m,n}
zm,n
collapsed的意思是把某些参数通过积分的形式给去掉。在LDA中就是把
Θ
\Theta
Θ和
Φ
\Phi
Φ 给积掉。
我们推断的目标是 p ( z ∣ w ) p(z|w) p(z∣w),即主题关于单词的后验分布。
p
(
z
∣
w
)
=
p
(
z
,
w
)
p
(
w
)
=
∏
i
=
1
W
p
(
z
i
,
w
i
)
∏
i
=
1
W
∑
k
=
1
K
p
(
z
i
=
k
,
w
i
)
p(z|w)=\frac{p(z,w)}{p(w)}=\frac{\prod_{i=1}^Wp(z_i,w_i)}{{\prod_{i=1}^W\sum_{k=1}^Kp(z_i=k,w_i)}}
p(z∣w)=p(w)p(z,w)=∏i=1W∑k=1Kp(zi=k,wi)∏i=1Wp(zi,wi)
W
W
W表示词汇表的大小
由于分母难以计算,我们使用gibbs抽样,通过计算full conditional
p
(
z
i
∣
z
⃗
¬
i
,
w
⃗
)
p(z_i|\vec{z}_{\neg i},\vec{w})
p(zi∣z¬i,w)来模拟
p
(
z
∣
w
)
p(z|w)
p(z∣w),而full conditional可以通过下式计算
p
(
z
i
∣
z
⃗
¬
i
,
w
⃗
)
=
p
(
z
⃗
,
w
⃗
)
p
(
z
⃗
¬
i
,
w
⃗
)
=
p
(
z
⃗
,
w
⃗
)
∫
Z
p
(
z
⃗
,
x
⃗
)
d
z
i
p(z_i|\vec{z}_{\neg i},\vec{w})=\frac{ p(\vec{z},\vec{w} ) } { p(\vec{z}_{\neg i},\vec{w}) } \\ =\frac{p(\vec{z},\vec{w} )}{\int_Zp(\vec{z},\vec{x})dz_i}
p(zi∣z¬i,w)=p(z¬i,w)p(z,w)=∫Zp(z,x)dzip(z,w)
我们先求分子的联合分布。
p
(
w
⃗
,
z
⃗
∣
α
⃗
,
β
⃗
)
=
p
(
w
⃗
∣
z
⃗
,
β
⃗
)
p
(
z
⃗
∣
α
⃗
)
p(\vec{w},\vec{z}|\vec{\alpha},\vec{\beta})=p(\vec{w}|\vec{z},\vec{\beta})p(\vec{z}|\vec{\alpha})
p(w,z∣α,β)=p(w∣z,β)p(z∣α)
下面我们对两个概率分布分开处理
p
(
w
⃗
∣
z
⃗
,
β
⃗
)
=
∫
p
(
w
⃗
,
∣
z
⃗
,
Φ
)
p
(
Φ
∣
β
⃗
)
d
Φ
p(\vec{w}|\vec{z},\vec{\beta})=\int p(\vec{w},|\vec{z},\Phi)p(\Phi|\vec{\beta})d\Phi
p(w∣z,β)=∫p(w,∣z,Φ)p(Φ∣β)dΦ
p
(
w
⃗
∣
z
⃗
,
Φ
)
=
∏
i
=
1
W
p
(
w
i
∣
z
i
)
=
∏
i
=
1
W
φ
z
i
,
w
i
=
∏
k
=
1
K
∏
i
:
z
i
=
k
p
(
w
i
=
t
∣
z
i
=
k
)
=
∏
k
=
1
K
∏
t
=
1
V
φ
k
,
t
n
k
(
t
)
p(\vec{w}|\vec{z},\Phi) \\ =\prod_{i=1}^Wp(w_i|z_i) \\ =\prod_{i=1}^W\varphi_{z_i,w_i} \\ =\prod_{k=1}^K\prod_{i:z_i=k}p(w_i=t|z_i=k) \\ =\prod^K_{k=1}\prod^V_{t=1} \varphi_{k,t}^{n_k^{(t)}}
p(w∣z,Φ)=i=1∏Wp(wi∣zi)=i=1∏Wφzi,wi=k=1∏Ki:zi=k∏p(wi=t∣zi=k)=k=1∏Kt=1∏Vφk,tnk(t)
n k ( t ) n_k^{(t)} nk(t)表示单词t在主题k中出现的次数。
p ( Φ ∣ β ⃗ ) = ∏ k = 1 K p ( φ ⃗ k ∣ β ⃗ ) = ∏ k = 1 K 1 Δ ( β ⃗ ) ∏ t = 1 V φ k , t β t − 1 p(\Phi|\vec\beta)=\prod_{k=1}^Kp(\vec\varphi_k|\vec\beta)\\ =\prod_{k=1}^K\frac{1}{\Delta(\vec\beta)}\prod_{t=1}^V\varphi_{k,t}^{\beta_t-1} p(Φ∣β)=k=1∏Kp(φk∣β)=k=1∏KΔ(β)1t=1∏Vφk,tβt−1
β ⃗ \vec\beta β是一个V维的向量。
p ( w ⃗ ∣ z ⃗ , β ⃗ ) = ∫ p ( w ⃗ , ∣ z ⃗ , Φ ) p ( Φ ∣ β ⃗ ) d Φ = ∫ ∏ k = 1 K ∏ t = 1 V φ k , t n k ( t ) ∏ k = 1 K 1 Δ ( β ⃗ ) ∏ t = 1 V φ k , t β t − 1 d φ k ⃗ = ∫ ∏ k = 1 k 1 Δ ( β ⃗ ) ∏ t = 1 V φ k , t n k ( t ) + β t − 1 d φ k ⃗ = ∏ k = 1 k 1 Δ ( β ⃗ ) ∫ ∏ t = 1 V φ k , t n k ( t ) + β t − 1 d φ k ⃗ = ∏ k = 1 K Δ ( n k ⃗ + β ⃗ ) Δ ( β ⃗ ) n k ⃗ = { n k ( t ) } t = 1 V p(\vec{w}|\vec{z},\vec{\beta})=\int p(\vec{w},|\vec{z},\Phi)p(\Phi|\vec{\beta})d\Phi \\ =\int \prod^K_{k=1}\prod^V_{t=1} \varphi_{k,t}^{n_k^{(t)}} \prod_{k=1}^K\frac{1}{\Delta(\vec{\beta})}\prod_{t=1}^V\varphi_{k,t}^{\beta_t-1}d\vec{\varphi_k}\\ =\int\prod_{k=1}^k\frac{1}{\Delta{(\vec{\beta})}}\prod^V_{t=1} \varphi_{k,t}^{n_k^{(t)}+\beta_t-1}d\vec{\varphi_k}\\ =\prod_{k=1}^k\frac{1}{\Delta{(\vec{\beta})}}\int\prod^V_{t=1} \varphi_{k,t}^{n_k^{(t)}+\beta_t-1}d\vec{\varphi_k}\\ =\prod_{k=1}^K\frac{\Delta(\vec{n_k} +\vec{\beta} ) }{\Delta(\vec{\beta})}\\ \vec{n_k}=\{n_k^{(t)}\}_{t=1}^V p(w∣z,β)=∫p(w,∣z,Φ)p(Φ∣β)dΦ=∫k=1∏Kt=1∏Vφk,tnk(t)k=1∏KΔ(β)1t=1∏Vφk,tβt−1dφk=∫k=1∏kΔ(β)1t=1∏Vφk,tnk(t)+βt−1dφk=k=1∏kΔ(β)1∫t=1∏Vφk,tnk(t)+βt−1dφk=k=1∏KΔ(β)Δ(nk+β)nk={nk(t)}t=1V
n k ( t ) n_k^{(t)} nk(t)是一个K*V的矩阵,表示主题k中单词t出现的次数。符号表示不准确。
下面求 p ( z ⃗ ∣ α ⃗ ) p(\vec{z}|\vec{\alpha}) p(z∣α)
p
(
z
⃗
∣
α
⃗
)
=
∫
p
(
z
⃗
∣
Θ
)
p
(
Θ
∣
α
⃗
)
d
Θ
p(\vec{z}|\vec{\alpha})=\int p(\vec{z}|\Theta)p(\Theta|\vec{\alpha})d\Theta\\
p(z∣α)=∫p(z∣Θ)p(Θ∣α)dΘ
类似地
p ( z ⃗ ∣ Θ ‾ ) = ∏ i = 1 W p ( z i ∣ d i ) = ∏ m = 1 M ∏ k = 1 K p ( z i = k ∣ d i = m ) = ∏ m = 1 M ∏ k = 1 K θ m , k n m ( k ) p(\vec{z}|\underline{\Theta})=\prod^W_{i=1}p(z_i|d_i)=\prod^M_{m=1}\prod^K_{k=1}p(z_i=k|d_i=m)=\prod^M_{m=1}\prod^K_{k=1}\theta^{n^{(k)}_m}_{m,k} p(z∣Θ)=i=1∏Wp(zi∣di)=m=1∏Mk=1∏Kp(zi=k∣di=m)=m=1∏Mk=1∏Kθm,knm(k)
p ( Θ ∣ α ⃗ ) = ∏ m = 1 M p ( θ ⃗ m ∣ α ⃗ ) = ∏ m = 1 M 1 Δ ( α ⃗ ) ∏ k = 1 K θ m , k α k − 1 p(\Theta|\vec\alpha)=\prod_{m=1}^Mp(\vec\theta_m|\vec\alpha)\\ =\prod_{m=1}^M\frac{1}{ \Delta(\vec\alpha) }\prod_{k=1}^K\theta_{m,k}^{\alpha_k-1} p(Θ∣α)=m=1∏Mp(θm∣α)=m=1∏MΔ(α)1k=1∏Kθm,kαk−1
d
i
d_i
di表示单词i所属的文档。
n
m
k
n_m^k
nmk表示文档m中主题k出现的次数。
同样,我们把
Θ
\Theta
Θ给积分掉。
p
(
z
⃗
∣
α
⃗
)
=
∫
p
(
z
⃗
∣
Θ
)
p
(
Θ
∣
α
⃗
)
d
Θ
=
∫
∏
m
=
1
M
∏
k
=
1
K
θ
m
,
k
n
m
(
k
)
∏
m
=
1
M
1
Δ
(
α
⃗
)
∏
k
=
1
K
θ
m
,
k
α
k
−
1
d
θ
m
⃗
=
∫
∏
m
=
1
M
1
Δ
(
α
⃗
)
∏
k
=
1
K
θ
m
,
k
n
m
(
k
)
+
α
k
−
1
d
θ
m
⃗
=
∏
m
=
1
M
1
Δ
(
α
⃗
)
∫
∏
k
=
1
K
θ
m
,
k
n
m
(
k
)
+
α
k
−
1
d
θ
m
⃗
=
∏
m
=
1
M
Δ
(
n
m
⃗
+
α
⃗
)
Δ
(
α
⃗
)
n
m
⃗
=
{
n
m
k
}
k
=
1
K
p(\vec{z}|\vec{\alpha})=\int p(\vec{z}|\Theta)p(\Theta|\vec{\alpha})d\Theta\\ =\int \prod_{m=1}^M\prod^K_{k=1}\theta^{n^{(k)}_m}_{m,k}\prod_{m=1}^M\frac{1}{\Delta(\vec{\alpha})}\prod_{k=1}^K\theta_{m,k}^{\alpha_k-1}d\vec{\theta_m}\\ =\int \prod_{m=1}^M\frac{1}{\Delta(\vec{\alpha})}\prod_{k=1}^K\theta_{m,k}^{n^{(k)}_m+\alpha_k-1}d\vec{\theta_m}\\ =\prod_{m=1}^M\frac{1}{\Delta(\vec{\alpha})}\int \prod_{k=1}^K\theta_{m,k}^{n^{(k)}_m+\alpha_k-1}d\vec{\theta_m}\\ =\prod_{m=1}^M\frac{\Delta(\vec{n_m}+\vec{\alpha})}{\Delta(\vec{\alpha})}\\ \vec{n_m}=\{{n_m^{k}\}}_{k=1}^K
p(z∣α)=∫p(z∣Θ)p(Θ∣α)dΘ=∫m=1∏Mk=1∏Kθm,knm(k)m=1∏MΔ(α)1k=1∏Kθm,kαk−1dθm=∫m=1∏MΔ(α)1k=1∏Kθm,knm(k)+αk−1dθm=m=1∏MΔ(α)1∫k=1∏Kθm,knm(k)+αk−1dθm=m=1∏MΔ(α)Δ(nm+α)nm={nmk}k=1K
所以:
p ( z ⃗ , w ⃗ ∣ α ⃗ , β ⃗ ) = ∏ k = 1 K Δ ( n k ⃗ + β ⃗ ) Δ ( β ⃗ ) ⋅ ∏ m = 1 M Δ ( n m ⃗ + α ⃗ ) Δ ( α ⃗ ) p(\vec{z},\vec{w}|\vec{\alpha},\vec{\beta})=\prod^K_{k=1}\frac{\Delta(\vec{n_k}+\vec{\beta})}{\Delta(\vec{\beta})}\cdot\prod^M_{m=1}\frac{\Delta(\vec{n_m}+\vec{\alpha})}{\Delta(\vec{\alpha})} p(z,w∣α,β)=k=1∏KΔ(β)Δ(nk+β)⋅m=1∏MΔ(α)Δ(nm+α)
有了上面的联合分布,我们可以求单词w(m,n)的full conditional
有了这个联合分布,我们就可以使用gibbs 抽样对这个分布进行采样,因为w是观测到的已知数据,只有z是隐含变量,所以我们实际上真正需要采样的分布是
p
(
z
∣
w
)
p(z|w)
p(z∣w)。
p
(
z
i
=
k
∣
z
⃗
¬
i
,
w
⃗
)
=
p
(
z
⃗
,
w
⃗
)
p
(
z
⃗
¬
i
,
w
⃗
)
=
p
(
w
⃗
∣
z
⃗
)
p
(
w
⃗
¬
i
∣
z
⃗
¬
i
)
p
(
w
i
)
p
(
z
⃗
)
p
(
z
⃗
¬
i
)
=
∏
k
=
1
K
Δ
(
n
k
⃗
+
β
⃗
)
Δ
(
β
⃗
)
⋅
∏
m
=
1
M
Δ
(
n
m
⃗
+
α
⃗
)
Δ
(
α
⃗
)
∏
k
=
1
K
Δ
(
n
k
,
¬
i
⃗
+
β
⃗
)
Δ
(
β
⃗
)
⋅
∏
m
=
1
M
Δ
(
n
m
,
¬
i
⃗
+
α
⃗
)
Δ
(
α
⃗
)
≈
Δ
(
n
k
⃗
+
β
⃗
)
Δ
(
n
k
,
¬
i
⃗
+
β
⃗
)
Δ
(
n
m
⃗
+
α
⃗
)
Δ
(
n
m
,
¬
i
⃗
+
α
⃗
)
=
∏
t
=
1
V
Γ
(
n
k
(
t
)
+
β
t
)
Γ
(
∑
t
=
1
V
n
k
(
t
)
+
β
t
)
∏
t
=
1
V
Γ
(
n
k
,
¬
i
(
t
)
+
β
t
)
Γ
(
∑
t
=
1
V
n
k
,
¬
i
(
t
)
+
β
t
)
∏
k
=
1
K
Γ
(
n
m
(
k
)
+
α
k
)
Γ
(
∑
k
=
1
K
n
m
(
k
)
+
α
k
)
∏
k
=
1
K
Γ
(
n
m
,
¬
i
(
k
)
+
α
k
)
Γ
(
∑
k
=
1
K
n
m
,
¬
i
(
k
)
+
α
k
)
=
Γ
(
n
k
(
t
)
+
β
t
)
Γ
(
∑
t
=
1
V
n
k
,
¬
i
(
t
)
+
β
t
)
Γ
(
n
k
,
¬
i
(
t
)
+
β
t
)
Γ
(
∑
t
=
1
V
(
n
k
(
t
)
+
β
t
)
)
Γ
(
n
m
(
k
)
+
α
k
)
Γ
(
∑
k
=
1
K
n
m
,
¬
i
(
k
)
+
α
k
)
Γ
(
n
m
,
¬
i
(
k
)
+
α
k
)
Γ
(
∑
k
=
1
K
n
m
(
k
)
+
α
k
)
=
n
k
,
¬
i
(
i
)
+
β
t
∑
t
=
1
V
n
k
,
¬
i
(
i
)
+
β
t
n
m
,
¬
i
(
k
)
+
α
k
[
∑
k
=
1
K
n
m
(
k
)
+
α
k
]
−
1
p(z_i=k|\vec{z}_{\neg i},\vec{w})=\frac{ p(\vec{z},\vec{w} ) } { p(\vec{z}_{\neg i},\vec{w}) } \\ =\frac{p(\vec{w}|\vec{z}) }{p(\vec{w}_{\neg i} |\vec{z}_{\neg i} ) p(w_i)} \frac{ p(\vec{z}) }{p(\vec{z}_{\neg i})} \\ = \frac{ \prod^K_{k=1}\frac{\Delta(\vec{n_k}+\vec{\beta})}{\Delta(\vec{\beta})}\cdot\prod^M_{m=1}\frac{\Delta(\vec{n_m}+\vec{\alpha})}{\Delta(\vec{\alpha})} } { \prod^K_{k=1}\frac{\Delta(\vec{n_{k,\neg i}}+\vec{\beta})}{\Delta(\vec{\beta})}\cdot\prod^M_{m=1}\frac{\Delta(\vec{n_{m,\neg i}}+\vec{\alpha})}{\Delta(\vec{\alpha})} } \\ \approx \frac{ \Delta(\vec{n_k} +\vec{\beta} ) }{ \Delta(\vec{n_{k,\neg i } } +\vec{\beta} ) } \frac{ \Delta(\vec{n_m}+\vec{\alpha}) }{ \Delta(\vec{n_{m,\neg i}}+\vec{\alpha}) } \\ = \frac{ \frac{\prod_{t=1}^V \Gamma(n_k^{(t)}+\beta_t ) }{\Gamma({\sum_{t=1}^V n_k^{(t)}+\beta_t } ) } } {\frac{\prod_{t=1}^V \Gamma(n_{k,\neg i}^{(t)}+\beta_t ) }{\Gamma({\sum_{t=1}^V n_{k,\neg i}^{(t)}+\beta_t } ) } } \frac{ \frac{\prod_{k=1}^K \Gamma(n_m^{(k)}+\alpha_k ) }{\Gamma({\sum_{k=1}^K n_m^{(k)}+\alpha_k } ) } } { \frac{\prod_{k=1}^K \Gamma(n_{m,\neg i}^{(k)}+\alpha_k ) }{\Gamma({\sum_{k=1}^K n_{m,\neg i}^{(k)}+\alpha_k } ) } }\\ =\frac{ \Gamma(n_k^{(t)} +\beta_t)\Gamma(\sum_{t=1}^V n_{k,\neg i}^{(t)} +\beta_t) } { \Gamma ( n_{k,\neg i}^{(t)} +\beta_t )\Gamma(\sum_{t=1}^V ( n_k^{(t)} +\beta_t) ) } \frac{ \Gamma(n_m^{(k)}+\alpha_k ) \Gamma( \sum_{k=1}^K n_{m,\neg i}^{(k)} +\alpha_k ) } {\Gamma(n_{m,\neg i}^{(k)} +\alpha_k )\Gamma( \sum_{k=1}^K n_m^{(k)}+\alpha_k )}\\ =\frac{ n_{k,\neg i}^{(i)} +\beta_t }{ \sum_{t=1}^V n_{k,\neg i}^{(i)} +\beta_t } \frac{ n_{m,\neg i}^{(k)} +\alpha_k }{ [\sum_{k=1}^K n_m^{(k)}+\alpha_k ]-1 }
p(zi=k∣z¬i,w)=p(z¬i,w)p(z,w)=p(w¬i∣z¬i)p(wi)p(w∣z)p(z¬i)p(z)=∏k=1KΔ(β)Δ(nk,¬i+β)⋅∏m=1MΔ(α)Δ(nm,¬i+α)∏k=1KΔ(β)Δ(nk+β)⋅∏m=1MΔ(α)Δ(nm+α)≈Δ(nk,¬i+β)Δ(nk+β)Δ(nm,¬i+α)Δ(nm+α)=Γ(∑t=1Vnk,¬i(t)+βt)∏t=1VΓ(nk,¬i(t)+βt)Γ(∑t=1Vnk(t)+βt)∏t=1VΓ(nk(t)+βt)Γ(∑k=1Knm,¬i(k)+αk)∏k=1KΓ(nm,¬i(k)+αk)Γ(∑k=1Knm(k)+αk)∏k=1KΓ(nm(k)+αk)=Γ(nk,¬i(t)+βt)Γ(∑t=1V(nk(t)+βt))Γ(nk(t)+βt)Γ(∑t=1Vnk,¬i(t)+βt)Γ(nm,¬i(k)+αk)Γ(∑k=1Knm(k)+αk)Γ(nm(k)+αk)Γ(∑k=1Knm,¬i(k)+αk)=∑t=1Vnk,¬i(i)+βtnk,¬i(i)+βt[∑k=1Knm(k)+αk]−1nm,¬i(k)+αk
有如下关系式。
∑
t
=
1
V
(
n
k
(
t
)
+
β
t
)
=
∑
t
=
1
V
(
n
k
,
¬
i
(
t
)
+
β
t
)
+
1
\sum_{t=1}^V ( n_k^{(t)} +\beta_t) =\sum_{t=1}^V (n_{k,\neg i}^{(t)} +\beta_t ) +1
t=1∑V(nk(t)+βt)=t=1∑V(nk,¬i(t)+βt)+1
∑
k
=
1
K
n
m
(
k
)
+
α
k
=
∑
k
=
1
K
(
n
m
,
¬
i
(
k
)
+
α
k
)
+
1
\sum_{k=1}^K n_m^{(k)}+\alpha_k =\sum_{k=1}^K (n_{m,\neg i}^{(k)} +\alpha_k )+1
k=1∑Knm(k)+αk=k=1∑K(nm,¬i(k)+αk)+1
n
k
(
t
)
+
β
t
=
n
k
,
¬
i
(
t
)
+
β
t
+
1
n
m
(
k
)
+
α
k
=
n
m
,
¬
i
(
k
)
+
α
k
+
1
n_k^{(t)} +\beta_t=n_{k,\neg i}^{(t)} +\beta_t+1 \\ n_m^{(k)}+\alpha_k=n_{m,\neg i}^{(k)} +\alpha_k +1
nk(t)+βt=nk,¬i(t)+βt+1nm(k)+αk=nm,¬i(k)+αk+1
而gamma函数又有如下性质:
Γ
(
x
+
1
)
=
x
Γ
(
x
)
\Gamma(x+1)=x\Gamma(x)
Γ(x+1)=xΓ(x)
下面求两个参数集合
利用贝叶斯公式
p
(
θ
m
⃗
∣
M
,
α
⃗
)
=
1
Z
θ
m
∏
n
=
1
N
m
p
(
z
m
,
n
∣
θ
m
⃗
)
p
(
θ
m
⃗
∣
α
⃗
)
=
D
i
r
(
θ
m
⃗
∣
n
m
⃗
+
α
⃗
)
p(\vec{\theta_m}|M,\vec{\alpha})\\ =\frac{ 1}{ Z_{\theta_m}}\prod_{n=1}^{N_m} p(z_{m,n}|\vec{\theta_m} )p( \vec{\theta_m}|\vec{\alpha}) \\ =Dir(\vec{\theta_m}|\vec{n_m}+\vec{\alpha})
p(θm∣M,α)=Zθm1n=1∏Nmp(zm,n∣θm)p(θm∣α)=Dir(θm∣nm+α)
p ( φ k ⃗ ∣ M , β ⃗ ) = 1 Z φ k ∏ i : z i = k p ( w i ∣ φ ⃗ k ) p ( φ ⃗ k ∣ β ⃗ ) = D i r ( φ ⃗ k ∣ n ⃗ k + β ⃗ ) p(\vec{\varphi_k}|M, \vec\beta)=\\ \frac{1}{Z_{\varphi_k}}\prod_{i:z_i=k}p(w_i|\vec\varphi_k)p(\vec\varphi_k|\vec\beta)\\ =Dir(\vec\varphi_k|\vec n_k +\vec\beta) p(φk∣M,β)=Zφk1i:zi=k∏p(wi∣φk)p(φk∣β)=Dir(φk∣nk+β)
如何预测新的文档的主题分布?
在训练中得到了主题关于单词的概率分布,在预测时我们认为这个概率分布式固定的,只需要预测新文档的主题分布就可以了。
分为如下几步:
1.首先,随机初始化新文档的每个单词的主题
2.按照gibbs抽样规则,对每个词的主题进行抽样,
3.重复2,直到gibbs sampling收敛。
4.统计新文档的主题分布。
参考:
1.https://zh.wikipedia.org/wiki/%CE%93%E5%87%BD%E6%95%B0
2.https://zh.wikipedia.org/wiki/%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%83
3.https://cxwangyi.files.wordpress.com/2012/01/llt.pdf
4.LDA八卦