赞
踩
转载请注明出处,该文章的官方来源:
LDA | Teaching ML
LDA是一种概率主题模型:隐式狄利克雷分布(Latent Dirichlet Allocation,简称LDA)。LDA是2003年提出的一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出。 通过分析一些文档,我们可以抽取出它们的主题(分布),根据主题(分布)进行主题聚类或文本分类。同时,它是一种典型的词袋模型,即一篇文档是由一组词构成,词与词之间没有先后顺序的关系。一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。
举一个简单的例子,比如假设事先给定了这几个主题:Arts、Budgets、Children、Education,然后通过学习的方式,获取每个主题Topic对应的词语,如下图所示:
然后以一定的概率选取上述某个主题,再以一定的概率选取那个主题下的某个单词,不断的重复这两步,最终生成如下图所示的一篇文章(不同颜色的词语分别表示不同主题)。
我们看到一篇文章后,往往会推测这篇文章是如何生成的,我们通常认为作者会先确定几个主题,然后围绕这几个主题遣词造句写成全文。LDA要干的事情就是根据给定的文档,判断它的主题分布。在LDA模型中,生成文档的过程有如下几步:
LDA的图模型结构如下图所示:
LDA会涉及很多数学知识,后面的章节我会首先介绍LDA涉及的数学知识,然后在这些数学知识的基础上详细讲解LDA的原理。
在高等数学中,有一个长相奇特的Gamma函数
通过分部积分,可以推导gamma函数有如下递归性质
通过该递归性质,我们可以很容易证明,gamma函数可以被当成阶乘在实数集上的延拓,具有如下性质
如下函数被称为Digamma函数,它是Gamma函数对数的一阶导数
这是一个很重要的函数,在涉及Dirichlet分布相关的参数的极大似然估计时,往往需要用到这个函数。Digamma函数具有如下一个漂亮的性质
二项分布是由伯努利分布推出的。伯努利分布,又称两点分布或0-1分布,是一个离散型的随机分布,其中的随机变量只有两类取值,即0或者1。二项分布是重复n次的伯努利试验。简言之,只做一次实验,是伯努利分布,重复做了n次,是二项分布。二项分布的概率密度函数为:
对于k=1,2,...,n,其中C(n,k)是二项式系数(这就是二项分布的名称的由来)
多项分布是二项分布扩展到多维的情况。多项分布是指单次试验中的随机变量的取值不再是0-1,而是有多种离散值可能(1,2,3...,k)。比如投掷6个面的骰子实验,N次实验结果服从K=6的多项分布。其中:
多项分布的概率密度函数为:
首先看下面的问题1(问题1到问题4都取自于文献【1】)。
问题1:
为解决这个问题,可以尝试计算
上述问题可以转换为下述事件E:
对于上述事件E,有:
其中,o(delta x)表示delta x的高阶无穷小。显然,由于不同的排列组合,即n个数中有一个落在[x,x+delta x]区间的有n种取法,余下n−1个数中有k−1个落在[0,x)的有C(n-1,k-1)种组合。所以和事件E等价的事件一共有nC(n-1,k-1)个。
文献【1】中证明,只要落在[x,x+delta x]内的数字超过一个,则对应的事件的概率就是o(delta x)。所以
利用Gamma函数,我们可以将f(x)表示成如下形式:
在上式中,我们用alpha=k,beta=n-k+1替换,可以得到beta分布的概率密度函数
什么是共轭呢?轭的意思是束缚、控制。共轭从字面上理解,则是共同约束,或互相约束。在贝叶斯概率理论中,如果后验概率P(z|x)和先验概率p(z)满足同样的分布,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。
我们在问题1的基础上增加一些观测数据,变成问题2:
第2步的条件可以用另外一句话来表述,即“Yi中有m1个比X(k)小,m2个比X(k)大”,所以X(k)是
根据1.5.1的介绍,我们知道事件p服从beta分布,它的概率密度函数为:
按照贝叶斯推理的逻辑,把以上过程整理如下:
贝叶斯估计的基本过程是:
先验分布 + 数据的知识 = 后验分布
以上贝叶斯分析过程的简单直观的表示就是:
Beta(p|k,n-k+1) + BinomCount(m1,m2) = Beta(p|k+m1,n-k+1+m2)
更一般的,对于非负实数alpha和beta,我们有如下关系
Beta(p|alpha,beta) + BinomCount(m1,m2) = Beta(p|alpha+m1,beta+m2)
针对于这种观测到的数据符合二项分布,参数的先验分布和后验分布都是Beta分布的情况,就是Beta-Binomial共轭。换言之,Beta分布是二项式分布的共轭先验概率分布。二项分布和Beta分布是共轭分布意味着,如果我们为二项分布的参数p选取的先验分布是Beta分布,那么以p为参数的二项分布用贝叶斯估计得到的后验分布仍然服从Beta分布。
Dirichlet分布,是beta分布在高维度上的推广。Dirichlet分布的的密度函数形式跟beta分布的密度函数类似:
其中
至此,我们可以看到二项分布和多项分布很相似,Beta分布和Dirichlet分布很相似。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。