1.LDA文档生成过程
2.经典的LDA图形表示:
说明:w为词语,可以观察到的值,其它均为隐含变量。图反映了生产一篇文档的过程,对于词语w,首先选定一个主题z,而z服从θ的多项式分布Multinomial(θ);而θ又服从α的Dirichlet(α)的分布。在选定一个主题后,还得确定对应于该主题下词语w的概率,可以从β获得。β为一个K*V的矩阵。其中K代表主题维数,V代表词语维数。
3.LDA的概率模型推导
计算边缘概率,即为:
其中D代表(z,w),即为一个语料库,M代表语料库中文档个数。D相当于一个文档变量,包含内容:主题和词汇。
4.参数估计
通过对LDA生成模型的讨论我们理解到对文本的建模实际上就是要计算α和β两个参数。α和β可以采用极大似然估计,但是这里遇到一个问题,就是似然函数由于α和β的耦合无法直接求出来。可以采用EM算法求出参数。每次E-STEP输入α和β,计算似然函数,也就是variational inference(注:实际上变分推理用一个函数来近似后验分布)的过程,M-STEP最大化这个函数,求出α和β。这样不断迭代知道收敛,就求得了最终的α和β值。变分推理过程中简化的模型如下:这里假设了θ和z相互独立,并丢掉w节点。
对应公式:
5.EM算法
通过如上解释,EM算法就很清晰了。
E-STEP:
对每一篇文档,计算参数γ=f(α,β)和Φ=g(α,β)
M-STEP:
最大化Variational Inference中的下界,求出此时的 α和β
反复迭代,知道参数收敛为止。
6.几个模糊点
(1)EM算法和变分推理算法
参考文献:
Latent dirichlet allocation note By: Zhou Li (smzlkimi@gmail.com)