今天来啃硬骨头了,说说LDA主题模型。本文言简意赅,没有太多的数学公式。
学习也不要太多的陷入算法的细枝末节之中,学习复杂的事物,需要从整体去把握。
先列出本文的讲解顺序。
- 什么是LDA模型
2.
3.共轭先验分布
4.二项分布与多项分布
5.Beta分布与Dirichlet分布
6. LDA的解释
...
相关参考文章:
我是这样一步步理解--主题模型(Topic Model)、LDA(案例代码)
如何通俗理解 beta 分布?
把LDA主题模型作为自己的硕士课题,有什么可以做的?
NLP系列(三)LDA主题模型
通俗理解LDA主题模型
1.什么是LDA模型
将文档集中的每篇文档的主题以概率分布的形式给出,即将文档转化为基于主题的数值向量,每个维度上的主题概率取值就是对特定主题的聚类中心的隶属度。
然后我们看百度百科中关于LDA主题模型的解释:
LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。
论文给出了文档生成模型的例子:
比如事先确定了Arts, Budget, Children, Education这几个主题,每个主题下对应了多个词。
然后文档中每个词的生成:以一定的概率选取上述某个主题,再以一定的概率选取那个主题下的某个单词,不断的重复这两步,最终生成如下图所示的一篇文章。不同颜色表示不同主题。
2.
首先来看
Beta函数:
关于Beta分布的理解可以参考这篇:如何通俗理解 beta 分布? - 小杰的回答 - 知乎
总而言之,beta分布可以看作一个概率的概率分布,当你不知道一个东西的具体概率是多少时,它可以给出了所有概率出现的可能性大小。
Beta分布的概率密度:
其中系数B为:
Beta函数就是先验分布,加上实验结果得到后验分布。
Beta分布的期望是
3.共轭先验分布
朴素贝叶斯分类的公式:
如果后验分布
二项分布的共轭先验分布是Beta分布.
多项分布的共轭先验分布是Dirichlet分布.
4.二项分布与多项分布
伯努利分布:又称为两点分布,或者0-1分布,伯努利实验室单次随机实验,只有0和1两种实验结果,记为1的概率为p,为0的概率为1-p. 比如抛硬币1次.
二项分布:二项分布是进行n次伯努利实验,为1的概率为p,为0的概率为1-p.
比如抛硬币n次.
多项式分布:多项式分布是二项式分布的推广。进行n次实验,每次实验的可能结果有m个。比如掷骰子多次。
5.Beta分布与Dirichlet分布
Beta分布推广到多项,即Dirichlet分布。
Beta分布:
其中:
Beta分布的期望为:
Dirichlet分布:
其中:
Dirichlet分布的期望为:
Dirichlet分布的特殊情况为对称Dirichlet分布,即组成
6.LDA的解释
- 共有m篇文章,一共涉及了K个主题
- 每篇文章(长度为 )都有各自的主题分布,主题分布是多项式分布,该多项式分布的参数服从Dirichlet分布,该Dirichlet分布的参数为
- 每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为
- 对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不但重复这个随机生成过程,知道m篇文章全部完成上述过程。