LDA Gibbs Sampling(LDA的吉布斯抽样)
最近因为论文需要用到LDA方法,这个方法需要的数学知识比较多,查了些资料,根据自己的理解先从Gibbs Sampling开始。
1.什么是随机模拟(统计模拟,蒙特卡洛方法)
随机模拟的重要问题是给定一个概率分布p(x),在计算机中生成它的样本,比如利用计算机生成随机数来作为均与分布的样本。但是有些概率分布p(x)的的样本难以生成,这时就需要一些更复杂的随机模拟的方法来生成样本了。这就是下面要介绍的MCMC(马尔科夫蒙特卡洛)和Gibbs Sampling(吉布斯抽样)了。
2.MCMC(马尔科夫蒙特卡洛)方法
之所以叫马尔科夫蒙特卡洛方法,是因为它利用了马尔科夫链的重要性质——平稳分布。给定初始随机变量X0的概率分布P0(x),在马氏链上做状态转移一定次数i后,此时状态转移矩阵的i次方得到的矩阵每列都是相同的,所以随机变量Xi的概率分布Pi(x)不再变化。
因此马尔科夫蒙特卡洛方法的核心是构造一个转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是来生成样本的概率分布P(x),那么我们从任何一个初始样本x0出发,n步后马氏链收敛,此时n+1步就是我们需要的概率分布P(x)的样本了。
最后,Gibbs Sampling(吉布斯抽样)的核心思想就是MCMC(马尔科夫蒙特卡洛)方法。
3.PLA的Gibbs Sampling(吉布斯抽样)应用
为什么要在PLA中使用Gibbs?由于在LDA中我们关注三个参数z,theta和phi。其中z是语料中每一个word对应的隐变量(主题),theta是语料中每一个文档的主题分布,phi是每一个主题的term分布。其实只要求得z,其他两个可以通过简单的似然估计得到。于是需要将LDA的概率公式P(w,z,theta,phi | alpha,beta)通过积分的方法把theta和phi积掉,剩下P(w,z | alpha,beta)。然后求解P(z|w,alpha,beta) = P(w,z | alpha,beta) / P(w | alpha,beta),由于分母要对K的n次方个项求和因此直接求不可行(其中K是主题数,n是词汇表的长度),即概率分布P(z|w,alpha,beta)的样本难以生成。Gibbs抽样就是要完成对P(z|w,alpha,beta)的抽样,利用抽样结果通过简单的似然估计求得theta和phi。
参考文献:1.靳志辉 《LDA数学八卦》
2.http://hi.baidu.com/a17509/item/70b5eae2b72babb8c10d75ca
3.http://cos.name/2010/10/lda_topic_model/