LDA PLSA 比较总结


下面内容总结自博客 http://blog.csdn.net/v_july_v/article/details/41209515 和 http://blog.csdn.net/hxxiaopei/article/details/7617838 以及 百度百科


首先介绍主题模型的概念:

顾名思义,主题模型是对文本隐含主题的建模。PLSA 和 LDA 都是文档主题生成模型,包含词,主题和文档三层结构,该模型可以将文档集中的每篇文档的主题以概率分布的形式给出,后利用这些主题分布进行主题聚类或文本分类。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定的概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到的。文档到主题服从多项式分布,主题到词服从多项式分布。

两者均是非监督机器学习技术,可以用来识别大规模文档集或这语料库中潜藏的主题信息。他们采用了词袋(bag of words)的方法, 这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。


对每一篇文档,生成过程大致如下:

1,对每一篇文档,从主题分布中抽取一个主题

2,  从被抽出的主题所对应的单词分布中抽取一个单词

3,  重复上述过程直至遍历文档中的每一个单词

上述介绍了如何生成一篇文档,然而当我们看到一篇文档后,往往喜欢推测这篇文章是如何生成的,我们认为作者是先确定几个主题,然后围绕这几个主题展开,表达成文。 PLSA 和LDA就是要做这件事:根据给定的一篇文档,推测其主题分布。


两者区别:

对于生成过程:对于PLSA, 生成过程中当选取一篇文档后,该文档的主题分布是确定的,即该文档中每个主题出现的概率是一定的,然而LDA中是不确定的,在选取之前需要利用狄利克雷先验随机确定出主题和词分布。然后再进行其他步骤。

若根据一篇文档的内容来反推该文档的主题,PLSA和LDA的主要区别如下:

PLSA: 因为文档中的每个单词的生成概率可以求出,此处可参考引用博客 http://blog.csdn.net/v_july_v/article/details/41209515 中 每个词语的生成概率公式,剩下的问题就是最大化参数值。这里利用的方法是EM, 即最大期望算法,基本思想:首先随即选择一个值来初始化,然后不断迭代寻找最优数值。

LDA: 是将上述参数弄成随机变量且加入狄利克雷先验.


综上,两者的本质区别就在于它们估计位置参数的思想不同,PLSA利用的是频率派的思想,LDA利用的是贝叶斯派的思想。




你可能感兴趣的:(Machine,learning)