赞
踩
哈尔滨工程大学-537
LDA(Latent Dirichlet Allocation)中文翻译为:潜在狄利克雷分布。LDA主题模型是一种文档生成模型,是一种非监督机器学习技术。它认为一篇文档是有多个主题的,而每个主题又对应着不同的词。一篇文档的构造过程,首先是以一定的概率选择某个主题,然后再在这个主题下以一定的概率选出某一个词,这样就生成了这篇文档的第一个词。不断重复这个过程,就生成了整篇文章(当然这里假定词与词之间是没有顺序的,即所有词无序的堆放在一个大袋子中,称之为词袋,这种方式可以使算法相对简化一些)。
LDA的使用是上述文档生成过程的逆过程,即根据一篇得到的文档,去寻找出这篇文档的主题,以及这些主题所对应的词。
白话解释:比如document1的内容为:[自从乔布斯去世之后,iPhone再难以产生革命性的创新了]
通过上述的方法,document1将对应两个主题topic1,topic2,进而,主题topic1会对应一些词:[苹果创始人][苹果手机],主题topic2会对应一些词:[重大革新][技术突破]。于是LDA模型的好处显而易见,就是可以挖掘文档中的潜在词或者找到两篇没有相同词的文档之间的联系。
(超详细,超通俗易懂,逻辑脉络超清晰)
我们以文档集合D中的文档d为例,文档d中包含单词序列<script type="math/tex" id="MathJax-Element-59">
</script>,
文档集合D中出现的全部词组成
首先将文档d作为算法的输入,并输入主题数K,此时d对应到各个主题的概率为
此时输入到算法中的只有文档d和主题数K,那么
我们首先人为设置文档d中对应主题
那么如何将超参数
这里我们引入狄利克雷分布函数:
它所表达的含义简单来说就是,已知
那么我们将上述的三维
至此,我们通过输入超参数
同理,我们可以将任一主题
此时我们已经得到了文档d对应各个主题的概率分布的分布(即狄利克雷分布)
换句大家熟悉的话来说就是:已知第i个词
这就等同于我们熟知的一共有n个球,且已知红球、黄球、绿球的概率分别为
那么如何通过文档d对应各个主题的分布
首先我们引入十分熟悉的多项式分布:
那么同样将其扩展为K维,将
于是,非常值得庆幸,我们通过文档d对应各个主题的概率
白话举例:文档d对应主题
对文档d中的每个词都执行此操作,(假设文档中只有两个词)词
于是,我们最终得到了文档d对应各个主题的词的个数的更新值:记作向量
有了以上的经验,主题
得到了收敛的
++++++++++++++++++++++++++++++++++++++++
个人整理,水平有限,可能存在很多错误,希望大家一起探讨研究,还有关于为什么选用狄利克雷分布以及狄利克雷分布和多项式分布之间的关系、先验概率后验概率等内容并没有仔细探讨,作者现在已经生不如死了,先休息休息,过几天再补充吧!!
++++++++++++++++++++++++++++++++++++++++
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。