原文来自师兄的博客:http://blog.csdn.net/wjj5881005/article/details/53320577
1.关于经典LDA的 θ
自从David Blei 2003的一篇Latent Dirichlet Allocation文章横空出世之后,LDA模型就火遍全球了,无数的博士生就靠修改这个模型的图模型毕业了,呵呵,当然也包括我在内。在经典的LDA模型中,设置文档的主题分布是服从狄利克雷分布,即
θ∼Dir(α)
。这么做的主要原因是为了推导的方便,我们知道主题z是服从多项式分布的,即
z∼Mult(θ)
,此时狄利克雷分布就和多项式构成了共轭分布。为什么便于推导,我们可以感受一下文献[1]中给出的关于
p(z⃗ |α)
。
上式中,很明显看到两个中括号中的形式非常相似,右边的中括号里的是狄利克雷分布,左边中括号里的是似然函数,是由多项式分布组织起来。这就是共轭分布的好处, 推理简单。然而,我们令 θ 服从狄利克雷分布的一个缺陷就是,不能建模各个主题的关系,这是由狄利克雷分布的性质导致的。下面我们我们介绍David Blei在2006年提出的一个新的模型Correlated Topic model。
2.Correlated Topic Model中的 θ
在实际中,主题之间并不是不相关的。例如一篇文档中如果有跟遗传学(genetics)有关的主题,那么非常有可能该篇文档也会涉及健康(health)以及疾病(disease)主题。而经典LDA中的狄利克雷分布,由于该分布自身的局限性,并不能很好的建模topics之间的correlation。为了解决这个问题,David Blei在2006年提出了Correlated Topic model(简称CTM)[2],该模型为了考虑主题之间的关系,摒弃了标准LDA模型中的先验狄利克雷分布,而是使logistic Normal分布,使用正态分布中的协方差矩阵
Σ
建模各个主题之间的关系。具体地一篇文档
d
的生成过程如下:
在文中,作者指出,该模型比LDA模型更具有表现力(expressive)。然而,问题来了,此时的先验与多项式分布并不是共轭分布,因此这会给模型求解带来了更大的困难(呵呵,这个世界总是不完美的)。Blei在文中使用的是近似推理(approximate techniques),也就是依赖于unwarranted mean-field assumptions的变分推理(variational inference)。此时,如果mean-field假设做的不好的话,那么近似的结果可能会令人unsatisfactory[3]。因此,近年来,有多位学者试图使用Gibbs sampling的方法来求解CTM模型。代表做有文献[3][4]。文献[4]中的作者还强调了:Gibbs sampling is more accurate than variational inference and better supports the construction of composite models。关于and后面一句我的理解是:我们如果对LDA模型进行各种改进,使用Gibbs sampling的话求解不会困难太多,但是如果使用变分的话,推理起来可能就难度特别大。本文主要参考文献[3]介绍一下,CTM模型的吉布斯抽样方法。
3. CTM的Gibbs sampling
首先我们给出标准LDA模型中关于主题
z
的抽样公式:
3.1 CTM中关于主题 z 的采样
按照文献[3],我们直接给出CTM模型中关于主题
对比公式(1)和公式(2),我们发现区别就在于等式右边的第二项,二者都表示文档 d 中主题
3.2 CTM中关于文档主题分布参数 η 的后验分布
在文档
d
中观测到主题
很明显,在给定 Z 的情况下,这是一个多项式逻辑回归,
加上先验, η 的后验分布为:
公式(5)就是一个贝叶斯逻辑回归模型。因此我们可以在现有文献中寻找求解多项式逻辑回归模型的方法来抽样 eta ,例如文献[4]中提出可以参考文献[5]中的方法。本文主要介绍文献[3]中年给出的方法。这里为了方便描述,我们只考虑文档 d (事实上,在给定
其中 ρkd=ηkd−ζkd ; ζkd=log(∑j≠keηjd) ;并且 Ckd=∑Ndn=1zkdn 表示文档 d 中属于主题
其中 μkd=μk−Λ−1kkΛk,−k(η−kd−μ−k) 以及 σ2k=Λ−1kk 。 Λ=Σ−1 是正态分布的precision matrix。
3.3 CTM中关于文档主题分布参数 η 的Gibbs sampling
上一小节给出了文档主题分布参数 ηkd 的后验分布。因为非共轭性,导致我们无法直接根据后验分布形式进行采样。一般情况下,我们可以采用MH(Metropolis-Hastings)算法对参数 ηkd 进行采样,但是MH算法会存在两个问题:一个是我们需要指定一个合理建议分布(proposal distribution),这个不太好办;另一个就是接受率的问题,如果接受率过低会导致最终的采样非常缓慢。另一个种根据此后验分布进行采样的思路就是使用Data augmentation技术。例如文献[4]中使用的数据增加方法使得我们可以截断高斯分布中进行采样,但是文献[3]指出,该方法依然涉及到复杂的accept/reject strategies。本文介绍文献[3]中提出的方法,它是一个不需要指定建议分布并且简单精确地抽样方法,方法核心是参考文献[7]。首先根据文献[7]我们可以给出如下定理。
定理1(Scale Mixture Representation).似然函数 L(ηkd|η−kd,Z) 可以表示为
(eρkd)Ckd(1+eρkd)Nd=12Ndeκkdρkd∫∞0e−λkd(ρkd)22p(λkd|Nd,0)dλkd
其中 κkd=Ckd−Nd/2 并且 p(λkd|Nd,0) 是Polya-Gamma分布 PG(Nd,0)
其中是
λkd
辅助变量。从该定理中,我们很容易可以发现
p(ηkd|η−kd,Z,W)
是公式(8)联合分布
p(ηkd,λkd|η−kd,Z,W)
的边缘分布。
基于公式(8),我们就可以交替采样 ηkd 和 λkd 。在给定 λkd 的情况下(即discarding辅助变量),我们就可以根据后验分布 p(ηkd|η−kd,Z,W) 得到采样样本。具体地, 对于 ηkd ,有:
其中后验均值为 μkd=(τkd)2(σ−2kμkd+κkd+λkdζkd) 并且后验分布的方差为 (τkd)2=(σ−2k+λkd)−1 。这时候,从一元正态分布中进行采样就变得极其简单了,一般都有现成的采样代码。
对于 λkd ,有:
可以很容易看出, λkd 的后验分布依然是ploya-Gamma分布。剩下的就是关于如何从PG分布中进行采样了。文献[7]中给出了一种从PG中进行采样的方法。
定理2(PG分布的可加性)假如 xi∼PG(1,ρ) 并且 y=∑ni=1xi ,那么有 y∼PG(n,ρ)
因此从
PG(Nd,ρkd)
中采样就是从
PG(1,ρkd)
抽样
Nd
个样本然后想加就是我们需要的
λkd
。
Nd
一般是文档
d
中单词的数量。因为
虽然文献[7]中的方法已经很赞,但是这里我们要介绍的文献[3]中的方法更加地赞。根据中心极限定理,当
Nd
足够大时,
y
服从正态分布。即有:
文献[8]中给出了 PG(a,c) 分布的矩母函数为
因此我们可以根据矩母函数求解 PG(a,c) 分布的均值和方差,并将此均值方差当做正态分布的均值和方差。
根据 Var(λkd)=E[(λkd)2]−E[λkd]2 就可以求得正态分布的近似方差。到这里,整个CTM的Gibbs推导就介绍完了,再下一小节我们介绍如何采样 η 的先验正态分布中的参数。
3.4 CTM中对先验分布 μ 和 Σ 的采样
我们将
μ
和
Σ
也看成是随机变量,并且再上面加共轭的Normal-Inverse-Wishart先验,即
π(μ,Σ)=NIW(μ0,ρ,κ,W)
,具体为:
根据观测到的 η 和 Z ,我们可以求得
具体地参数更新公式为: μ′0=ρρ+Dμ0+Dρ+Dη¯ , ρ′=ρ+D , κ′=κ+D 并且 W′=W+Q+ρDρ+D(η¯−μ0)(η¯−μ0)T ,其中 η¯=1D∑dηd 以及 Q=∑d(ηd−η¯)(ηd−η¯)T 。
关于这四个参数的初始化可以设: ρ=κ=0.01D,μ0=0,andW=κI 。
全文终。
[1] Gregor Heinrich, Parameter estimation for text analysis
[2] David Blei, Correlated Topic Models
[3] Jianfei Chen, Jun Zhu, et al., Scalable Inference for Logistic-Normal Topic Models
[4] David Mimno et al., Gibbs Sampling for Logistic Normal Topic Models with Graph-Based Priors
[5] P. C. Groenewald & L. Mokgatlhe. Bayesian computation for logistic regression
[6] C. Holmes and L. Held. Bayesian auxiliary variable models for binary and multinomial regression
[7] N. G. Polson, J. G. Scott, and J. Windle. Bayesian inference for logistic models using Polya-Gamma latent variables
[8] N. G. Polson and J. G. Scott. Default bayesian analysis for multi-way tables:
a data-augmentation approach