简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)相关的知识,希望对你有一定的参考价值。
引言
LDA(Latent Dirichlet Allocation)称为潜在狄利克雷分布,是文本语义分析中比较重要的一个模型,同时,LDA模型中使用到了贝叶斯思维的一些知识,这些知识是统计机器学习的基础。为了能够对LDA原理有清晰的认识,也为了能够对贝叶斯思维有全面的了解,在这里对基本知识以及LDA的相关知识进行阐述,本系列包括两个部分:
- Latent Dirichlet Allocation——理论篇
- Latent Dirichlet Allocation——实践篇
在理论篇中将重点阐述贝叶斯相关的知识和LDA的基本思想,基本的知识点包括Gamma函数和分布,Beta函数和分布,Dirichlet函数和分布,贝叶斯定理,Gibbs采样等等。在接下来的文章,我们通过以下几个方面具体介绍LDA的核心思想:
- 基础知识:二项分布,多项式分布,Gamma分布,Beta分布,Dirichlet分布,贝叶斯定理,共轭分布
- 文本建模:Unigram Model,概率主题模型,Gibbs采样以及贝叶斯推理
一、基础知识
在贝叶斯思维以及LDA中需要使用到一些概率的知识,下面我们罗列下会使用到的一些基本知识。
1、二项分布
二项分布是概率分布里面最简单也是最基本的分布,要理解二项分布,我们首先得定义n次独立重复试验的概念:n次独立重复试验是指在相同的条件下,重复做的n次试验称为n次独立重复试验。
假设对于一个事件A,在一次试验中,其发生的概率为p,那么其不发生的概率为1?p,那么在n次独立重复试验中事件A恰好发生k次的概率为:
在这里,参数k是一个随机变量,便称这样的随机变量k服从二项分布,记为:k~B(n,p)。
可以验证下式成立:
2、多项式分布
多项式分布是二项分布的一个推广形式,在二项分布中,事件A的取值可能只能是发生或者是没有发生,而在多项式分布中事件A的取值可能有k种,取每一种可能的概率为pi,其中pi满足:
多项式分布的概率形式为:
3、Gamma分布
Gamma函数的具体形式如下:
其中,x>0。Gamma函数的图像如下所示:
Gamma函数Γ(x)具有如下的一些性质:
- 性质1:
这个性质可以通过分部积分的方法得到证明,证明如下:
- 性质2:
- 性质3:
4、Beta分布
Beta函数的具体形式如下:
其中,a>0,b>0。Beta函数有如下的一个性质:
上述的关于Beta函数的性质将Beta函数与Gamma函数联系起来,对于该性质的证明如下所示:
此时,令z=u+v,t=uu+v,上式可转化为:
由此可知:Beta(a,b)=Γ(a)Γ(b)Γ(a+b)。
5、Dirichlet分布
Dirichlet函数的基本形式为:
其中,x1?xk?0,∑ki=1xi=1。而Dirichlet分布的概率密度函数为:
其中,0?x1?xn?1,且∑ki=1xk=1,D(a1,?,ak)的形式为:
注意到Beta分布是特殊的Dirichlet分布,即k=2时的Dirichlet分布。
6、贝叶斯定理
贝叶斯定理中牵涉到概率的一些基本知识,包括:
- 条件概率
- 联合概率
- 边缘概率
条件概率的表达形式为:P(A∣B),其表示的含义是事件A在事件B发生的条件下发生的概率。
联合概率的表达形式为:P(A,B),其表示的含义是事件A和事件B同时发生的概率。
事件A的边缘概率的表达形式为:P(A),其表示的含义是事件A发生的概率。
有了以上的定义,贝叶斯定理可以通过如下的贝叶斯公式表示:
对于上述的贝叶斯公式,P(B)称为先验概率,即在得到新的数据前某一假设的概率;P(B∣A)称为后验概率,即在得到了新的数据后,对原假设的修正;P(A)称为标准化常量;P(A∣B)称为似然度。
对于两个相互独立的事件的联合概率有如下的性质:
7、共轭分布
有了如上的贝叶斯定理,对于贝叶斯派而言,有如下的思考方式:
先验分布+样本信息?后验分布
上述的形式定义是贝叶斯派的思维方式,人们对于事物都会存在着最初的认识(先验分布),随着收集到越来越多的样本信息,新观察到的样本信息会不断修正人们对事物的最初的认识,最终得到对事物较为正确的认识(后验分布)。若这样的后验概率P(θ∣x)和先验概率P(x)满足同样的分布,那么先验分布和后验分布被称为共轭分布,同时,先验分布叫做似然函数的共轭先验分布。
有了如上的的共轭先验分布的定义,有如下的两个性质:
1、Beta分布是二项分布的共轭先验分布,即:
Beta(p∣α,β)+Count(m1,m2)=Beta(p∣α+m1,β+m2)
对于上式,对于事件A,假设其发生的概率为p,不发生的概率为1?p,发生的次数为m1,不发生的概率为m2,且有m1+m2=n。则对于参数m1,则有:
而对于参数p,则是服从参数为α和β的Beta分布:
已知在贝叶斯定理中有如下的公式成立:
则对于上述的后验概率,即为:
由上可知,Beta分布是二项分布的共轭先验分布。
2、Dirichlet分布是多项式分布的共轭先验分布,即:
Dir(p? ∣α? )+MultCount(m? )=Dir(p? ∣α? +m? )
我们对上式采用与Beta分布同样的证明方式,对于多项式分布,有下式成立:
然而概率p? 服从的参数为α? 的Dirichlet分布,即:
由贝叶斯定理可知: