关于LDA主题模型的理解

关于LDA主题模型的理解

    前一段时间研究了近一个月的LDA,看了Blei在03写的原作《Latent Dirichlet Allocation》,以及在网上找到的资料《LDA数学八卦》,以及许多的博客资料,算是加深了对它的理解,现将了解到的资料进行整合,希望对大家理解LDA有所帮助。

    1.模型简介

    LDA 主题模型是 Blei在03年 提出的一种对离散数据集(如文档集)建模的概率主题模型,是一种非监督机器学习技术, 可以用来识别大规模文档集或语料库中潜在的主题信息。

    它基于这样一种前提假设:文档是由若干隐含主题构成,而这些主题是由文本中若干个特定词汇构成,忽略文档中的句法结构和词语出现的先后顺序。在统计自然语言处理中,为文本主题建模的方法是视主题为词汇的概率分布,文本为这些主题的随机混合

   2.概率图模型

关于LDA主题模型的理解_第1张图片

    上图图 为 LDA 的概率图模型,其中α 是每篇文档下主题的多项分布的 Dirichlet 先验参数, β 是每个主题下特征词的多项分布的 Dirichlet 先验参数。θmФk是两个隐含变量,分别表示第m 篇文档下的主题分布和第k 个主题下的特征词分布。zm,nm 篇文档下第n 个词的主题,wm,n是第m 篇文档的第n 个词。K 是整个文档集的主题个数,M 是整个文档集所包含的文档数目。Nm是第m 篇文档的单词总数。图中的双圆圈表示“可观测变量”,单圆圈表示“潜在变量”,箭头表示两个变量之间的“条件依赖关系”,方框表示“重复抽样”,每个方框右下角的变量表示“重复抽样次数”。

    3.LDA生成文档的过程

    根据上图我们可以将LDA主题模型生成文档的过程总结如下:

           (1) 从 Dirichlet 分布的先验参数 α 中取样生成文档m 的主题分布θm
          (2) 从主题的多项式分布中取样生成文档m n 个词的主题zm,n
          (3) 从 Dirichlet 分布的先验参数β 中取样生成主题zm,n对应的特征词分布Фk
          (4) 从特征词的多项式分布Фk中采样最终生成特征词wm,n

    该模型有两个重要的参数需要推导,即文档--主题的概率分布θ和主题--词汇的概率分布Фk 。比较常用的推导方法主要有变分贝叶斯推理、期望传播算法和Gibbs抽样等,align: -webkit-auto; text-indent: 0px;基于 Gibbs 抽样的参数推理方法容易理解且实现简单, 能够非常有效地从大规模文档集中抽取主题, 因此, Gibbs 抽样算法成为当前最流行的 LDA模型参数估计算法。

   4.Gibbs抽样

    Gibbs 抽样是一种马尔科夫链蒙特卡洛方法(Markov chain Monte Carlo, MCMC), MCMC 提供了从复杂的概率分布抽取样本值的近似迭代方法,Gibbs 抽样是 MCMC 的一种简单实现方法。其目的是构造收敛于某目标概率分布的 Markov 链,并从链中抽取被认为接近该概率分布值的样本,因此构造目标概率分布函数成为使用 Gibbs 抽样的关键问题。

   Gibbs 抽样通过求解出主题分布和词分布的后验分布,从而成功解决主题分布和特征词分布这两参数未知的问题。它可以看成是文本生成过程的逆过程, 即在已知文档集的情况下, 通过参数估计来得到参数值。

    Gibbs抽样的更新规则如下:

   


    这个规则主要是用来求得每个词汇隐含的主题标号,一旦获得每个单词的主题标号,需要的两个多项式分布参数的估计值可以由下面的公式获得:

   关于LDA主题模型的理解_第2张图片

   公式的推导和解释可以参考文献:“Parameter Estimation for Text Analysis”,里面有详细的解释和推导过程,也可以参考《LDA数学八卦》一文,它是中文的相对来说比较好理解,且里面有一些小游戏来帮助理解。
    最后摘抄一个《LDA数学八卦》里的小游戏来加深对LDA过程的理解:

     关于LDA主题模型的理解_第3张图片

   第一次写博客,有什么不足之处,欢迎批评指正。

你可能感兴趣的:(机器学习,信息检索,数据挖掘)