LDA:Latent Dirichlet Allocation 是一个很著名的文本模型,最初是在2003年被一群大牛提出的,包括David M.Blei 、Andrew Y.Ng等。和之前的pLSA文本模型相比,LDA算是贝叶斯观点的pLSA,所谓贝叶斯观点,就是什么都是不确定的,不像pLSA中的p(z|d),虽然是个隐变量,但是还是确定的值,然而对于贝叶斯学派观点,其概率是不确定的,该概率符合某种分布,在LDA中是服从Dirichlet分布。在【1】这篇论文中,作者说了pLSA不是well-defined的生成模型(不太理解)。
对于LDA,因为我本身不是搞主题模型的,而是想利用主题模型可以压缩文档特征向量的维度,从而生成文本分类的文档向量。因为个人数学功底不是很扎实,另外作为一个科研能力一般的渣硕,理解LDA确实有难度,这几天参看了 “LDA数学八卦”以及Gibbs采样的一些知识,本来想彻彻底底搞懂的,无奈看了好几天,也只能看出个大概轮廓,本文不打算阐述LDA高深的数学原理,各位可以参看LDA论文原文和下面【2】【3】几个参考文献。
对于LDA,因为各个大神的博客已经很详细了,July大神就专门撰文写过LDA,写的详细深入,对于July博文中间的数学推导,我实在是无爱,不过文末的作者的一句话倒是给我很大的启发:“LDA其实就是贝叶斯观点的pLSA”。对于LDA去粗取精,其实就是这个道理。所以这篇博文主要是讲讲我对LDA的一些思想的体会,而不是着重于具体过程。
众所周知,在这个领域,存在两个学派,频率派和贝叶斯派。频率派认为所有的事情的概率都是确定的(即使未知)。但是对于贝叶斯派,其主要的观点就是所有的事情都不确定,任何事情都存在一个分布。对于LDA,其就认为一篇文档的主题分布是不确定的,其分布符合一个分布,称之为dirichlet分布,同样其认为一个主题下面的词语分布也是不确定的,其分布也符合dirichlet分布。知道了这两点,明白了这两点,LDA模型结构也就基本理解了。看下面的图:
上图是LDA的经典模型,用平白的话说,LDA的一篇文章的生成过程是:
上图是LDA数学八卦中的LDA模型介绍,LDA模型的文档生成过程就是这样。
相比于pLSA,其不过是为p(z|d)和p(w|z)增加了一个Dirichlet分布,但是结果会比pLSA模型强大的多,当然其数学的复杂度也增长了不止一个档次。
LDA虽然推导过程复杂,但是其结果却非常优雅,这也是LDA神奇之处,用最简单的结论打败你。这也是数学的优美之处(虽然我对数学并不是很有感觉)。
【1】Latent Dirichlet Allocation.David M.Blei ,Andrew Y.Ng
【2】LDA数学八卦,靳志辉
【3】Gibbs Sampling for the Uninitiated