0 前言
LDA,可以分为下述5个步骤:
一个函数:gamma函数
四个分布:二项分布、多项分布、beta分布、Dirichlet分布
一个概念和一个理念:共轭先验和贝叶斯框架
两个模型:pLSA、LDA
一个采样:Gibbs采样
1 整体把握LDA
LDA(Latent Dirichlet Allocation)是一种文档生成模型。它认为一篇文章是有多个主题的,而每个主题又对应着不同的词。一篇文章的构造过程,首先是以一定的概率选择某个主题,然后再在这个主题下以一定的概率选出某一个词,这样就生成了这篇文章的第一个词。不断重复这个过程,就生成了整片文章。当然这里假定词与词之间是没顺序的。
LDA的使用是上述文档生成的逆过程,它将根据一篇得到的文章,去寻找出这篇文章的主题,以及这些主题对应的词。
1 一个函数
2 四个分布
2.1 二项分布与多项分布
2.1.1 两点分布
2.1.2二项分布(伯努利分布)
二项分布,即是重复n次两点分布。设随机变量X服从参数为n,p的二项分布。其中,n为重复的次数,p为两点分布中事件A发生的概率。设X=k为n次实验中事件A发生k次的概率。
可以得到X的分布率为:
P
{
X
=
k
}
=
(
n
k
)
p
k
(
1
−
p
)
n
−
k
P\{X = k\} =\begin{pmatrix} n \\ k \end{pmatrix}p^k(1-p)^{n-k}
P{X=k}=(nk)pk(1−p)n−k
2.1.3 多项式分布
2.2 beta分布与Dirichlet分布
2.2.1 beta分布
2.2.2 Dirichlet分布
3 共轭先验和贝叶斯框架
3.1 共轭先验分布
共轭先验分布:先验概率和后验概率有相同形式的概率密度函数
3.2 贝叶斯框架
4 pLSA与LDA
4.1 pLSA
我们有两类筛子,一种是文章->主题筛子,骰子的每面代表一种主题。这里假设我们有3个主题。对应第分布为文档与主题分布
另一种骰子为主题->词,一共有3个,每个有3面,每面代表一个单词。对应的分布为主题和单词的分布
那一篇文章的生产过程可以表示为:
1、抛文章->主题筛子,得到主题变化z
2、选择编号为z的主题筛子,得到词w
3、不断重复步骤一和步骤二
通过以上模型生成的文档和真实的文档是否相符。
4.2 LDA
LDA是pLSA的贝叶斯版本
pLSA选主题的时候,每个主题被选中的概率是一定的,比如0.5,0.2,0.3,而在LDA中概率是不确定,可能第一次是0.7,0.2,0.1,第二次就变成了0.4,0.5,0.1,但是这些参数都是符合狄利克雷分布。