得到LDA算法Dirichlet分布的两个参数alpha和beta,怎么得到所有文档在所有主题中分布?

理由
举报 取消

LDA 主题模型 文本聚类

2017年8月21日 2 条回复 498 次浏览

发起人:笑尘 初入职场

回复 ( 2 )

  1. 应律
    理由
    举报 取消

    LDA模型在吉布斯采样完毕后,可以计算得到theta和phi,theta就是题主要的文档-主题分布,alpha和beta通常设置为常量吧,具体请参考LDA数学八卦.pdf这两篇文档。

  2. 孙九爷
    理由
    举报 取消

    除了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参数就是文档的主题分布的期望。

我来回答

Captcha 点击图片更换验证码