关于LDA模型中超参数的抽样

LDA模型中每个单词的主题 zi 的Gibbs抽样公式

p(zi=k|z⃗ i,wi=t,w⃗ i)=n(t)k,i+βtVt=1[n(t)k,i+βt]n(k)m,i+αk[Kk=1n(k)m+αk]1

其中 n(t)k,i 表示单词t属于主题 k 的次数,n(k)m,i表示文档 m 中属于主题k的单词的数量。具体地可以详细地推导已经变量的含义可以参考 这篇文献[1]。这里我们想介绍的就是如何抽样这里的 αk βt

关于超参数的MH(Metropolis-Hastings)采样

为了使得LDA模型是一个full-Beyasian形式,我们分别给 αk βt 加一个先验,具体为:

αklogN(μα,σ2α)

βtlogN(μβ,σ2β)

那么基于先验分布以及似然函数,我们可以得到如下有关 αk 的抽样公式:
p(αk|α⃗ k,Z,β⃗ ,W)π(αk)p(Z|α)π(αk)d=1DΓ(Kl=1αl)Γ[Kl=1(αl+nld)]Γ(αk+nkd)Γ(αk)=logN(μα,σ2α)d=1DΓ(ΣKl=1αl)Γ[Kl=1(αl+nld)]Γ(αk+nkd)Γ(αk)

同理,我们也可以得到对于 β 的采样公式,如下:
p(βt|β⃗ k,Z,α⃗ ,W)π(βt)p(W|Z,β⃗ )π(βt)k=1KΓ(Vs=1βs)Γ[Vs=1(βs+nsk)]Γ(βt+ntk)Γ(βt)=logN(μβ,σ2β)k=1KΓ(Vs=1βs)Γ[Vs=1(βs+nsk)]Γ(βt+ntk)Γ(βt)

其中 V 表示整个语料中共有多少个不同的单词,一般在文献中表示为Vocabulary Size,D表示语料中文档的数量, K 表示我们初始设置多少个主题。关于p(Z|α)以及 p(W|Z,β) 的推导,可以参考 这篇文献[1]。有了上述的公式,我们就可以采用MH进行模拟采样了。具体地MH算法可以先参考 这里[2]。里面介绍了如何利用MCMC对LDA中的主题z进行抽样,可以参考一下,试着解决 α β 的抽样。

本文的抽样思路是参考文献[3]。

[1] Gregor Heinrich, Parameter estimation for text analysis
[2] 靳志辉,LDA数学八卦
[3] Bruno Jacobs,Model-based Purchase Predictions for Large Assortments Online appendix

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页