赞
踩
最近要学这个新模型,所以在这里做点笔记。
LDA(潜在狄利克雷分布,Latent Dirichlet Allocation),在机器学习领域的主题模型中占据十分重要的地位,是一种文档主题生成模型,常用来文本分类。同时也是一个三层贝叶斯概率模型,包含词(Word)、主题(Topic)和文档(Corpus)三层结构。LDA解决的问题就是,分析给定的一篇文章都有什么主题,每个主题出现的占比大小是多少,所以模型拟合的结果将呈现每个话题的核心关键词和具体概率。
LDA涉及到的先验知识有:二项分布、Gamma函数、Beta分布、多项分布、Dirichlet分布、马尔科夫链、MCMC、Gibs Sampling、EM算法等。
LDA是基于贝叶斯模型的:
先验分布 + 数据(似然)= 后验分布
举例:这点其实很好理解,因为这符合人的思维方式,比如对好人和坏人的认知,先验分布为:100个好人和100个的坏人,好人坏人各占一半,现在被2个好人(数据)帮助了和1个坏人骗了,于是得到了新的后验分布为:102个好人和101个的坏人。现在后验分布里面认为好人比坏人多了。这个后验分布接着又变成新的先验分布,当被1个好人(数据)帮助了和3个坏人(数据)骗了后,又更新了你的后验分布为:103个好人和104个的坏人。依次继续更新下去。
LDA模型应用范围很广,如熟知的个性化推荐、商品标签、智能分类等。
值得注意的是:LDA对短文本的主题分类效果比较差。
作为一种非监督机器学习技术,LDA可以用来识别大规模文档集或语料库中潜藏的主题信息。它采用了词袋模型,将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。
所谓词袋模型,是将一篇文档,仅考虑一个词汇是否出现,而不考虑其出现的顺序。在词袋模型中,“我喜欢你”和“你喜欢我”是等价的。与词袋模型相反的一个模型是n-gram,n-gram考虑了词汇出现的先后顺序。
词袋模型没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
整个模型可以抽象成以下几个步骤:
(1)对于语料库中的每篇文档,从主题分布中抽取一个主题;
(2)从上述被抽到的主题所对应的单词分布中,抽取一个单词;
(3)重复上述过程,直至遍历文档中的每一个单词。
在LDA模型中,文档是由词语组成主题,再由主题组成的文章。在主题中,有词语的一个概率分布,概率越高表示与主题的关联性越大。相对的,文档中有一个主题概率分布,概率越高代表与文档的相关性越高。LDA的简化公式如下:
P(词语|文档)=∑P(词语|
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。