得到LDA算法Dirichlet分布的两个参数alpha和beta,怎么得到所有文档在所有主题中分布? 举报 理由 举报 取消 LDA 主题模型 文本聚类 2017年8月21日 2 条回复 498 次浏览 LDA,数据挖掘
回复 ( 2 )
LDA模型在吉布斯采样完毕后,可以计算得到theta和phi,theta就是题主要的文档-主题分布,alpha和beta通常设置为常量吧,具体请参考LDA数学八卦.pdf和这两篇文档。
除了Gibbs采样的方法,还可以从变分推导的过程来学习参数:
从LDA的图模型上我们可以看到alpha和beta是两个超参,分别用以生成文档的主题分布theta和主题的词分布phi,这两个超参是自己指定的。
根据图模型我们可以写出他的联合分布p(w,theta,z,phi | alpha,beta)
进一步可以写出ln p(w,theta,z,phi | alpha,beta) = L(q(theta,phi,z)) + KL(q||p) 准备用平均场变分的方法来解
利用mean field写出q分布的表达形式,可以假设隐变量:
theta~Dirichlet(gamma)
phi~Diriclet(lambda)
z~Multinormial(kappa)
最小化KL divergence相当于最大化ELBO,所以写出L(q)的表达式之后,对每个变分参数gamma,lambda,kappa求偏导得到每个参数学习过程中的更新形式,然后迭代更新直到收敛。
得到的gamma参数就是文档的主题分布的期望。