LDA的概率图如下图1所示:
参数的意思如图2所示:
根据模型,文章m的第n个词为t的概率为:
如果我们写出complete-data的联合分布,那么式子就是这样的:
通过对 ϑm→ (文章的topic分布)和 Φ−− (topic的词分布)积分以及 zm,n 求和,我们可以求得 wm→ 的边缘分布:
因为一个语料库有很多篇文章,而且文章之间都是相互独立的,所以整个语料库的似然为
虽然LDA(latent Dirichlet allocation)是个相对简单的模型,对它直接推断一般也是不可行的,所以我们要采用近似推断的方法,比如Gibbs sampling。
Gibbs sampling
Gibbs sampling是MCMC(Markov-chain Monte Carlo)算法的一种特殊情况,经常用于处理高维模型的近似推断。MCMC方法可以通过马尔科夫链的平稳分布模拟高维的概率分布 p(x⃗ ) 。当马尔科夫链经过了burn-in阶段,消除了初始参数的影响,进入平稳状态之后,它的每次转移都能生成一个 p(x⃗ ) 的样本。Gibbs samppling 是MCMC的特殊情况,它每次固定一个维度的 xi ,然后通过其他维度的数据( x⃗ ¬i) 生成这个维度的样本。算法如下:
- choose dimension i(random by permutation)。
- sample xi from p(xi|x⃗ ¬i) 。
为了构造Gibbs抽样,我们必须知道条件概率 p(xi|x⃗ ¬i) ,这个概率可以通过以下公式获得:
对于那些含有隐藏变量 z⃗ 的模型来说,通常需要求得他们的后验概率 p(z⃗ |x⃗ ) ,对于这样的模型,Gibbs sampler的式子如下:
当样本 zr→~,r∈[1,R] 的数量足够多时,隐藏变量的后验概率可以用以下式子来估计:
其中Kronecker delta δ(u⃗ )={1 if u⃗ =0;0 otherwise } 。
为了构造LDA的采样器,我们首先确定模型中的隐含变量为 zm,n 。而参数 Θ−− 和 Φ−− 都可以用观察到的 wm,n 和对应的 zm,n 求积分得到。贝叶斯推断的目标是分布 p(z⃗ |w⃗ ) ,它与联合分布成正比:
这里忽略了超参数(hyperparameter)。可以看到分母部分十分难求,它包括了 KW 个项的求和。所以我们使用Gibbs Sample方法,通过全部的条件分布 p(zi|z⃗ ¬i,w⃗ ) 来模拟得到 p(z⃗ |w⃗ ) 。
LDA的联合分布
LDA的联合分布可以写成如下的式子:
因为式子中的第一部分与 α 独立,第二部分与 β 独立,所以两个式子可以分别处理。先看第一个分布 p(w⃗ |z⃗ ) ,可以从观察到的词以及其主题的多项分布中生成:
意思是,语料中的 W 个词是根据主题 zi 观察到的独立多项分布。(我们把每个词看做独立的多项分布产生的结果,忽略顺序因素,所以没有多项分布的系数)。 φzi,wi 是一个 K∗V 的矩阵,把词划分成主题和词汇表,公式如下:
n(t)k 代表了主题 k 下词 t 出现的次数。目标分布 p(w⃗ |z⃗ ,β⃗ ) 可以通过对 Φ−− 求狄利克雷积分得到:
类似地,主体分布 p(z⃗ |a⃗ ) 也可以通过这种方法产生, Θ−− 为 D∗K 的矩阵,公式如下:
n(k)m 代表了文章 m 下主题 k 出现的次数。对 Θ−− 求积分,我们得到:
然后联合分布就变成了
完全条件分布(full conditional)
我们令 i=(m,n) 代表第 m 篇文章中的第 n 个词, ¬i 代表除去这个词之后剩下的其他词,令 w⃗ ={wi=t,w⃗ ¬i} , z⃗ ={zi=k,z⃗ ¬i} ,我们求得
这个式子需要注意的:
- 因为忽略了 p(wi) 这个常数,所以后来的式子是 ∝ 成正比。
- 对于第 m 篇文章中的第 n 个词,其主题为 k , n(t)k=n(t)k,¬i+1,n(k)m=n(k)m,¬i+1 ,对于其他文档和其他主题都没有影响。
这个公式很漂亮,右边是 p(topic|doc)⋅p(word|topic) ,这个概率其实就是 doc→topic→word 的路径概率,所以Gibbs Sampling 公式的物理意义就是在K条路径中采样。(图)
多项分布参数
根据图3和图4的Dirichlet-Multinomial结构,我们知道 θm→ 和 ϕk→ 的后验概率为:(令 M={w⃗ ,z⃗ } )(备注1):
最后,根据狄利克雷分布的期望 <Dir(a⃗ )>=ai/∑iai (备注2),我们得到
最后,整个LDA算法的流程图为
备注:
1.狄利克雷分布的后验概率公式:
2.由于狄利克雷分布为:
对于 p⃗ 中一项 pi 的期望为:
参考文献:
1.主要来自《Parameter estimation for text analysis》
2.《LDA数学八卦》