【机器学习课程-华盛顿大学】:4 聚类和检索 4.5 LDA隐Dirichlet模型
之前的软分配的问题:
一个图像只可能是一种类型,但是其实有时候一个图像是多个类型,比如上述中间的,既是world news也是science。
这时我们提出可以进行混合检测的LDA。
1、LDA:一个文档是从一个主题分布中找N个主题,每个主题中再找字
LDA用的是词袋,也就是每个词出现的次数,跟词在文档中的顺序没有关系。
LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。
LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。它采用了词袋(bag of words)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
LDA的输入输出:
2、LDA模型解决方法:Gibbs Sampling
(1)随机分配文档中每个词的主题
迭代的随机硬指派
(2)基于Ziw随机分配文档的主题分布
(3)对所有文档重复(1)(2)
(4)随机分配主题中词的分布
(5)重复步骤(1)-(4),直到达到最大迭代次数
3、Collapsed Gibbs采样LDA举例:
(1)对于doci,有5个单词。分别指定topic为3,2,1,3,1
对其他文档也是:
(2)当前文档topic词分布、所有文档topic的词分布
(3)重新指定doci中单词dynamic所属topic
(4)计算dynamic分配到其他topic的概率
doci中dynamic原来对应的topic2所占比例
所有文档融合后不同主题topic中dynamic所占的比例:
可以看出topic1概率最大:
(5)更新topic中词的个数
如此更新后,增加了dynamic在topic1中的比例;也增加了doci中topic1的比例。
(6)对所有单词,所有文档重复上述步骤