文本主题模型LDA(二)求解之Gibbs采样算法

在第一篇文本主题模型LDA(一)之基础知识一文中已经详细讲解了LDA模型的基本原理过程,本小节将继续讲解LDA模型的基于Gibbs采样的参数求解过程,不了解Gibbs采样过程的可先阅读一下之前写的蒙特卡洛之Gibbs采样

Gibbs采样算法求解LDA的思路

首先,回顾LDA的模型图如下在这里插入图片描述
在Gibbs采样算法求解LDA的方法中,我们的 α , β \alpha,\beta α,β是已知的先验输入,我们的目标是得到各个 z d n , w k n z_{dn},w_{kn} zdn,wkn对应的整体 z ⃗ , w ⃗ \vec{z},\vec{w} z ,w 的概率分布,即文档主题的分布和主题词的分布。由于我们是采用Gibbs采样法,则对于要求的目标分布,我们需要得到对应分布各个特征维度的条件概率分布。

具体到我们的问题,我们的所有文档联合起来形成的词向量 w ⃗ \vec{w} w 是已知的数据,不知道的是语料库主题 z ⃗ \vec{z} z 的分布。假如我们可以先求出 w , z w,z w,z的联合分布 p ( w ⃗ , z ⃗ ) p(\vec{w},\vec{z}) p(w ,z ),进而可以求出某一个词 w i w_i wi对应主题特征 z i z_i zi的条件概率分布 p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) p(z_i=k| \vec w,\vec z_{\neg i}) p(zi=kw ,z ¬i),其中, z ⃗ ¬ i \vec z_{\neg i} z ¬i代表去掉下标为 i i i的词后的主题分布。有了条件概率分布 p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) p(z_i=k| \vec w,\vec z_{\neg i}) p(zi=kw ,z ¬i),我们就可以进行Gibbs采样,最终在Gibbs采样收敛后得到第i个词的主题。

如果我们通过采样得到了所有词的主题,那么通过统计所有词的主题计数,就可以得到各个主题的词分布。接着统计各个文档对应词的主题计数,就可以得到各个文档的主题分布。
以上就是Gibbs采样算法求解LDA的思路。

主题和词的联合分布与条件分布的求解

从上一节可以发现,要使用Gibbs采样求解LDA,关键是得到条件概率 p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) p(z_i=k| \vec w,\vec z_{\neg i}) p(zi=kw ,z ¬i)的表达式。那么这一节我们的目标就是求出这个表达式供Gibbs采样使用。
首先我们简化下Dirichlet分布的表达式,其中 △ ( α ) \triangle(\alpha) (α)是归一化参数: D i r i c h l e t ( p ⃗ ∣ α ⃗ ) = Γ ( ∑ k = 1 K α k ) ∏ k = 1 K Γ ( α k ) ∏ k = 1 K p k α k − 1 = 1 △ ( α ⃗ ) ∏ k = 1 K p k α k − 1 Dirichlet(\vec p| \vec \alpha) = \frac{\Gamma(\sum\limits_{k=1}^K\alpha_k)}{\prod_{k=1}^K\Gamma(\alpha_k)}\prod_{k=1}^Kp_k^{\alpha_k-1} = \frac{1}{\triangle( \vec \alpha)}\prod_{k=1}^Kp_k^{\alpha_k-1} Dirichlet(p α )=k=1KΓ(αk)Γ(k=1Kαk)k=1Kpkαk1=(α )1k=1Kpkαk1由于这是一个分布,所以概率积分结果为1: ∫ Γ ( ∑ k = 1 K α k ) ∏ k = 1 K Γ ( α k ) ∏ k = 1 K p k α k − 1 d p = 1 \int\frac{\Gamma(\sum\limits_{k=1}^K\alpha_k)}{\prod_{k=1}^K\Gamma(\alpha_k)}\prod_{k=1}^Kp_k^{\alpha_k-1} dp=1 k=1KΓ(αk)Γ(k=1Kαk)k=1Kpkαk1dp=1那么可以得到: ∫ ∏ k = 1 K p k α k − 1 d p = ∏ k = 1 K Γ ( α k ) Γ ( ∑ k = 1 K α k ) = △ ( α ⃗ ) \int\prod_{k=1}^Kp_k^{\alpha_k-1} dp= \frac{\prod_{k=1}^K\Gamma(\alpha_k)}{\Gamma(\sum\limits_{k=1}^K\alpha_k)} = \triangle( \vec \alpha) k=1Kpkαk1dp=Γ(k=1Kαk)k=1KΓ(αk)=(α )
现在我们先计算下第d个文档的主题的条件分布 p ( z ⃗ d ∣ α ) p(\vec z_d|\alpha) p(z dα)。在上一篇中我们知道, α → θ d → z ⃗ d \alpha \to \theta_d \to \vec z_d αθdz d表示生成第d篇文档中所有词对应的topics,显然 α → θ d \alpha \to \theta_d αθd对应Dirichlet分布, θ d → z ⃗ d \theta_d \to \vec z_d θdz d对应Multinormial分布,所有整体是一个Dirichlet-Multinormial共轭分布,利用这组共轭分布可以计算出 p ( z ⃗ d ∣ α ⃗ ) p(\vec z_d| \vec \alpha) p(z dα )如下: p ( z ⃗ d ∣ α ⃗ ) = ∫ p ( z ⃗ d ∣ θ ⃗ d ) p ( θ d ∣ α ⃗ ) d θ ⃗ d = ∫ ∏ k = 1 K p k n d ( k ) D i r i c h l e t ( α ⃗ ) d θ ⃗ d = ∫ ∏ k = 1 K p k n d ( k ) 1 △ ( α ⃗ ) ∏ k = 1 K p k α k − 1 d θ ⃗ d = 1 △ ( α ⃗ ) ∫ ∏ k = 1 K p k n d ( k ) + α k − 1 d θ ⃗ d = △ ( n ⃗ d + α ⃗ ) △ ( α ⃗ ) \begin{aligned} p(\vec z_d| \vec \alpha) & = \int p(\vec z_d | \vec \theta_d) p(\theta_d | \vec \alpha) d \vec \theta_d \\ & = \int \prod_{k=1}^Kp_k^{n_d^{(k)}} Dirichlet(\vec \alpha) d \vec \theta_d \\ & = \int \prod_{k=1}^Kp_k^{n_d^{(k)}} \frac{1}{\triangle( \vec \alpha)}\prod_{k=1}^Kp_k^{\alpha_k-1}d \vec \theta_d \\ & = \frac{1}{\triangle( \vec \alpha)} \int \prod_{k=1}^Kp_k^{n_d^{(k)} + \alpha_k-1}d \vec \theta_d \\ & = \frac{\triangle(\vec n_d + \vec \alpha)}{\triangle( \vec \alpha)} \end{aligned} p(z dα )=p(z dθ d)p(θdα )dθ d=k=1Kpknd(k)Dirichlet(α )dθ d=k=1Kpknd(k)(α )1k=1Kpkαk1dθ d=(α )1k=1Kpknd(k)+αk1dθ d=(α )(n d+α )其中,在第d个文档中,第k个主题的词的个数表示为: n d ( k ) n_d^{(k)} nd(k), 对应的多项分布的计数可以表示为: n ⃗ d = ( n d ( 1 ) , n d ( 2 ) , . . . n d ( K ) ) \vec n_d = (n_d^{(1)}, n_d^{(2)},...n_d^{(K)}) n d=(nd(1),nd(2),...nd(K))有了单一一个文档的主题条件分布,则可以得到所有文档的主题条件分布为: p ( z ⃗ ∣ α ⃗ ) = ∏ d = 1 M p ( z ⃗ d ∣ α ⃗ ) = ∏ d = 1 M △ ( n ⃗ d + α ⃗ ) △ ( α ⃗ ) p(\vec z|\vec \alpha) = \prod_{d=1}^Mp(\vec z_d|\vec \alpha) = \prod_{d=1}^M \frac{\triangle(\vec n_d + \vec \alpha)}{\triangle( \vec \alpha)} p(z α )=d=1Mp(z dα )=d=1M(α )(n d+α )同样的方法,可以得到,第k个主题对应的词的条件分布 p ( w ⃗ ∣ z ⃗ , η ⃗ ) p(\vec w|\vec z, \vec \eta) p(w z ,η )为: p ( w ⃗ ∣ z ⃗ , η ⃗ ) = ∏ k = 1 K p ( w ⃗ k ∣ z ⃗ , η ⃗ ) = ∏ k = 1 K △ ( n ⃗ k + η ⃗ ) △ ( η ⃗ ) p(\vec w|\vec z, \vec \eta) =\prod_{k=1}^Kp(\vec w_k|\vec z, \vec \eta) =\prod_{k=1}^K \frac{\triangle(\vec n_k + \vec \eta)}{\triangle( \vec \eta)} p(w z ,η )=k=1Kp(w kz ,η )=k=1K(η )(n k+η )其中,第k个主题中,第v个词的个数表示为: n k ( v ) n_k^{(v)} nk(v), 对应的多项分布的计数可以表示为: n ⃗ k = ( n k ( 1 ) , n k ( 2 ) , . . . n k ( V ) ) \vec n_k = (n_k^{(1)}, n_k^{(2)},...n_k^{(V)}) n k=(nk(1),nk(2),...nk(V))最终我们得到主题和词的联合分布 p ( w ⃗ , z ⃗ ∣ α ⃗ , η ⃗ ) p(\vec w, \vec z| \vec \alpha, \vec \eta) p(w ,z α ,η )如下: p ( w ⃗ , z ⃗ ) ∝ p ( w ⃗ , z ⃗ ∣ α ⃗ , η ⃗ ) = p ( z ⃗ ∣ α ⃗ ) p ( w ⃗ ∣ z ⃗ , η ⃗ ) = ∏ d = 1 M △ ( n ⃗ d + α ⃗ ) △ ( α ⃗ ) ∏ k = 1 K △ ( n ⃗ k + η ⃗ ) △ ( η ⃗ ) p(\vec w, \vec z) \propto p(\vec w, \vec z| \vec \alpha, \vec \eta) = p(\vec z|\vec \alpha) p(\vec w|\vec z, \vec \eta) = \prod_{d=1}^M \frac{\triangle(\vec n_d + \vec \alpha)}{\triangle( \vec \alpha)}\prod_{k=1}^K \frac{\triangle(\vec n_k + \vec \eta)}{\triangle( \vec \eta)} p(w ,z )p(w ,z α ,η )=p(z α )p(w z ,η )=d=1M(α )(n d+α )k=1K(η )(n k+η )有了联合分布,现在我们就可以求Gibbs采样需要的条件分布 p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) p(z_i=k| \vec w,\vec z_{\neg i}) p(zi=kw ,z ¬i)了。需要注意的是这里的i是一个二维下标,对应第d篇文档的第n个词。
对于下标 i i i,由于它对应的词 w i w_i wi是可以观察到的,因此我们有: p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) ∝ p ( z i = k , w i = t ∣ w ⃗ ¬ i , z ⃗ ¬ i ) p(z_i=k| \vec w,\vec z_{\neg i}) \propto p(z_i=k, w_i =t| \vec w_{\neg i},\vec z_{\neg i}) p(zi=kw ,z ¬i)p(zi=k,wi=tw ¬i,z ¬i)对于 z i = k , w i = t z_i=k,w_i=t zi=k,wi=t,它只涉及到第d篇文档和第k个主题两个Dirichlet-multi共轭,即: α ⃗ → θ ⃗ d → z ⃗ d \vec \alpha \to \vec \theta_d \to \vec z_d α θ dz d η ⃗ → β ⃗ k → w ⃗ ( k ) \vec \eta \to \vec \beta_k \to \vec w_{(k)} η β kw (k)其余的 M + K − 2 M+K−2 M+K2个Dirichlet-multi共轭和它们这两个共轭是独立的。如果我们在语料库中去掉 z i , w i z_i,w_i zi,wi,并不会改变之前的 M + K M+K M+K个Dirichlet-multi共轭结构,只是向量的某些位置的计数会减少,因此对于 θ ⃗ d , β ⃗ k \vec \theta_d, \vec \beta_k θ d,β k对应的后验分布为: p ( θ ⃗ d ∣ w ⃗ ¬ i , z ⃗ ¬ i ) = D i r i c h l e t ( θ ⃗ d ∣ n ⃗ d , ¬ i + α ⃗ ) p(\vec \theta_d | \vec w_{\neg i},\vec z_{\neg i}) = Dirichlet(\vec \theta_d | \vec n_{d, \neg i} + \vec \alpha) p(θ dw ¬i,z ¬i)=Dirichlet(θ dn d,¬i+α ) p ( β ⃗ k ∣ w ⃗ ¬ i , z ⃗ ¬ i ) = D i r i c h l e t ( β ⃗ k ∣ n ⃗ k , ¬ i + η ⃗ ) p(\vec \beta_k | \vec w_{\neg i},\vec z_{\neg i}) = Dirichlet(\vec \beta_k | \vec n_{k, \neg i} + \vec \eta) p(β kw ¬i,z ¬i)=Dirichlet(β kn k,¬i+η )现在开始计算Gibbs采样需要的条件概率: p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) ∝ p ( z i = k , w i = t ∣ w ⃗ ¬ i , z ⃗ ¬ i ) = ∫ p ( z i = k , w i = t , θ ⃗ d , β ⃗ k ∣ w ⃗ ¬ i , z ⃗ ¬ i ) d θ ⃗ d d β ⃗ k = ∫ p ( z i = k , θ ⃗ d ∣ w ⃗ ¬ i , z ⃗ ¬ i ) p ( w i = t , β ⃗ k ∣ w ⃗ ¬ i , z ⃗ ¬ i ) d θ ⃗ d d β ⃗ k = ∫ p ( z i = k ∣ θ ⃗ d ) p ( θ ⃗ d ∣ w ⃗ ¬ i , z ⃗ ¬ i ) p ( w i = t ∣ β ⃗ k ) p ( β ⃗ k ∣ w ⃗ ¬ i , z ⃗ ¬ i ) d θ ⃗ d d β ⃗ k = ∫ p ( z i = k ∣ θ ⃗ d ) D i r i c h l e t ( θ ⃗ d ∣ n ⃗ d , ¬ i + α ⃗ ) d θ ⃗ d ∗ ∫ p ( w i = t ∣ β ⃗ k ) D i r i c h l e t ( β ⃗ k ∣ n ⃗ k , ¬ i + η ⃗ ) d β ⃗ k = ∫ θ d k D i r i c h l e t ( θ ⃗ d ∣ n ⃗ d , ¬ i + α ⃗ ) d θ ⃗ d ∫ β k t D i r i c h l e t ( β ⃗ k ∣ n ⃗ k , ¬ i + η ⃗ ) d β ⃗ k = E D i r i c h l e t ( θ d ) ( θ d k ) E D i r i c h l e t ( β k ) ( β k t ) \begin{aligned} p(z_i=k| \vec w,\vec z_{\neg i}) & \propto p(z_i=k, w_i =t| \vec w_{\neg i},\vec z_{\neg i}) \\ & = \int p(z_i=k, w_i =t, \vec \theta_d , \vec \beta_k| \vec w_{\neg i},\vec z_{\neg i}) d\vec \theta_d d\vec \beta_k \\ & = \int p(z_i=k, \vec \theta_d | \vec w_{\neg i},\vec z_{\neg i})p(w_i=t, \vec \beta_k | \vec w_{\neg i},\vec z_{\neg i}) d\vec \theta_d d\vec \beta_k \\ & = \int p(z_i=k|\vec \theta_d )p( \vec \theta_d | \vec w_{\neg i},\vec z_{\neg i})p(w_i=t|\vec \beta_k)p(\vec \beta_k | \vec w_{\neg i},\vec z_{\neg i}) d\vec \theta_d d\vec \beta_k \\ & = \int p(z_i=k|\vec \theta_d ) Dirichlet(\vec \theta_d | \vec n_{d, \neg i} + \vec \alpha) d\vec \theta_d \\ & * \int p(w_i=t|\vec \beta_k) Dirichlet(\vec \beta_k | \vec n_{k, \neg i} + \vec \eta) d\vec \beta_k \\ & = \int \theta_{dk} Dirichlet(\vec \theta_d | \vec n_{d, \neg i} + \vec \alpha) d\vec \theta_d \int \beta_{kt} Dirichlet(\vec \beta_k | \vec n_{k, \neg i} + \vec \eta) d\vec \beta_k \\ & = E_{Dirichlet(\theta_d)}(\theta_{dk})E_{Dirichlet(\beta_k)}(\beta_{kt})\end{aligned} p(zi=kw ,z ¬i)p(zi=k,wi=tw ¬i,z ¬i)=p(zi=k,wi=t,θ d,β kw ¬i,z ¬i)dθ ddβ k=p(zi=k,θ dw ¬i,z ¬i)p(wi=t,β kw ¬i,z ¬i)dθ ddβ k=p(zi=kθ d)p(θ dw ¬i,z ¬i)p(wi=tβ k)p(β kw ¬i,z ¬i)dθ ddβ k=p(zi=kθ d)Dirichlet(θ dn d,¬i+α )dθ dp(wi=tβ k)Dirichlet(β kn k,¬i+η )dβ k=θdkDirichlet(θ dn d,¬i+α )dθ dβktDirichlet(β kn k,¬i+η )dβ k=EDirichlet(θd)(θdk)EDirichlet(βk)(βkt)在贝叶斯的框架下,如果我们得到了参数的后验分布,那么应该如何估计参数呢?合理的方式是使用后验分布的极大值点,或者是参数在后验分布下的均值,在这里我们取平均值作为参数的估计值。
在上一篇LDA基础里我们讲到了Dirichlet分布的期望公式,因此我们有: E D i r i c h l e t ( θ d ) ( θ d k ) = n d , ¬ i k + α k ∑ s = 1 K n d , ¬ i s + α s E_{Dirichlet(\theta_d)}(\theta_{dk}) = \frac{n_{d, \neg i}^{k} + \alpha_k}{\sum\limits_{s=1}^Kn_{d, \neg i}^{s} + \alpha_s} EDirichlet(θd)(θdk)=s=1Knd,¬is+αsnd,¬ik+αk E D i r i c h l e t ( β k ) ( β k t ) = n k , ¬ i t + η t ∑ f = 1 V n k , ¬ i f + η f E_{Dirichlet(\beta_k)}(\beta_{kt})= \frac{n_{k, \neg i}^{t} + \eta_t}{\sum\limits_{f=1}^Vn_{k, \neg i}^{f} + \eta_f} EDirichlet(βk)(βkt)=f=1Vnk,¬if+ηfnk,¬it+ηt考虑到 α \alpha α在Dirichlet分布中的物理意义是事件的先验的伪计数,这个估计式子的含义是很直观的:每个参数的估计值是其对应事件的先验的伪计数和数据中的计数的和在整体计数中的比例。

最终我们得到每个词对应主题的Gibbs采样的条件概率公式为: p ( z i = k ∣ w ⃗ , z ⃗ ¬ i ) = n d , ¬ i k + α k ∑ s = 1 K n d , ¬ i s + α s n k , ¬ i t + η t ∑ f = 1 V n k , ¬ i f + η f p(z_i=k| \vec w,\vec z_{\neg i}) = \frac{n_{d, \neg i}^{k} + \alpha_k}{\sum\limits_{s=1}^Kn_{d, \neg i}^{s} + \alpha_s} \frac{n_{k, \neg i}^{t} + \eta_t}{\sum\limits_{f=1}^Vn_{k, \neg i}^{f} + \eta_f} p(zi=kw ,z ¬i)=s=1Knd,¬is+αsnd,¬ik+αkf=1Vnk,¬if+ηfnk,¬it+ηt有了这个公式,我们就可以用Gibbs采样去采样所有词的主题,当Gibbs采样收敛后,即得到所有词的采样主题。利用所有采样得到的词和主题的对应关系,我们就可以得到每个文档词主题的分布 θ d \theta_d θd和每个主题中所有词的分布 β k \beta_k βk

LDA Gibbs采样算法流程总结

(1)选择合适的主题数 K K K, 选择合适的超参数向量 α ⃗ , η ⃗ \vec \alpha,\vec \eta α ,η
(2)对应语料库中每一篇文档的每一个词,随机的赋予一个主题编号 z z z
(3)重新扫描语料库,对于每一个词,利用Gibbs采样公式更新它的topic编号,并在语料库中进行更新;
(4)重复第3步的基于坐标轴轮换的Gibbs采样,直到Gibbs采样收敛;
(5)统计语料库中的各个文档各个词的主题,根据 ( θ d k ) = n d , ¬ i k + α k ∑ s = 1 K n d , ¬ i s + α s (\theta_{dk}) = \frac{n_{d, \neg i}^{k} + \alpha_k}{\sum\limits_{s=1}^Kn_{d, \neg i}^{s} + \alpha_s} (θdk)=s=1Knd,¬is+αsnd,¬ik+αk,得到文档主题分布 θ d \theta_d θd,统计语料库中各个主题词的分布,根据 ( β k t ) = n k , ¬ i t + η t ∑ f = 1 V n k , ¬ i f + η f (\beta_{kt})= \frac{n_{k, \neg i}^{t} + \eta_t}{\sum\limits_{f=1}^Vn_{k, \neg i}^{f} + \eta_f} (βkt)=f=1Vnk,¬if+ηfnk,¬it+ηt,得到LDA的主题与词的分布 β k \beta_k βk

下面我们再来看看当新文档出现时,如何统计该文档的主题。此时我们的模型已定,也就是LDA的各个主题的词分布 β k \beta_k βk已经确定,我们需要得到的是该文档的主题分布。因此在Gibbs采样时,我们的 E D i r i c h l e t ( β k ) ( β k t ) E_{Dirichlet(\beta_k)}(\beta_{kt}) EDirichlet(βk)(βkt)已经固定,只需要对前半部分 E D i r i c h l e t ( θ d ) ( θ d k ) E_{Dirichlet(\theta_d)}(\theta_{dk}) EDirichlet(θd)(θdk)进行采样计算即可。
现在我们总结下LDA Gibbs采样算法的预测流程:
(1)对当前文档的每一个词,随机的赋予一个主题编号 z z z
(2)重新扫描当前文档,对于每一个词,利用Gibbs采样公式更新它的topic编号;
(3)重复第2步的基于坐标轴轮换的Gibbs采样,直到Gibbs采样收敛;
(4)统计文档中各个词的主题,得到该文档主题分布。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LDA模型的理解对很多人是一种挑战,尤其是参数估计部分。本文档详细给出了TOTLDALDA两个主题概率模型的参数估计需要用到的后验概率的推导过程,并采用了两种方法,对主题概率模型研究人员具有很好的启发意义!Gibbs Sampling Derivation for LDA and ToT, Han Xiao, Ping luo Gibbs sampling:为了对x进行佔计,一般我们要从 P(X)≡P 中进行抽样。如果P(X)不易求得,我们可以通过对所有的P(x|X_)进行抽样来近似 其步骤如下 1.随机初始化X0)=(x10,x20)…,x 2.重复进行T轮抽样, 在每轮抽样中,对于=1…N,每个xP从P(xPx9,…2x1,x(+1…,x)抽样 3.当 Burn-in之后,可以通过几轮抽样计算P(X) 为了不失一般性,下面对ToT的 Gibbs sampling过稈进行推导 1.在TOT的 Gibbs sampling中,我们要求 P( zdilw,t,zdt,a,β,V) 然后才能跟据它,对生成wd,td的zd进行抽样估计。因为zd是隐减变量,一旦抽样估计完成,对丁每个wa它生成 自的 topIC就变成已知;对于每个 document,它包含的 topiCS也变成已知。那么对于 document-topics分布0d和 topic-words上的分布中2也就可以非常容易的破拟合出来。 Step1:根据 )=P(z) 和贝叶斯公式可以得到 P(zawt,z_dt,ax,β,V) P(W,tz,c,β,甲)P(w,t,zcB, P(wtzd,a,阝,乎P(w, t, z-dil,β,v 根据 Graphical Model,wda,ta都是由za生成的,如果不考虑zd则无法考虑wd,td。从而得到 P(zdw,t,z_di,x,βv)∝ P(Z,,t]a,B,p) t β,V) 2.由上式可知,在 Gibbs sampling中关键是要求出如下的联合概率 (w,t, zla, B, p) step1:根据 Graphical Model,咯去Φ,6,可以将联合概率拆开 P(w,t,zaB,)=P(w|z,β)P(t平,z)P(za) step2:引入Φ,θ,对Φ,回进行积分。再根据 Graphical Model,可以写出 P(w,t, zla,B,)=P(t!, 2) P(wlz, p)P(pIB)da P(zle)P(ela)do step3:对于整个 corpus,拆开所有黑体和大写,条件概率中的条件,z可以写做ψ;ZΦ写做中 N N plai P(中2|β)d中2 JITE P(zdi led)prelude Z=1 Step4:由于从第zd个 topic中抽去wd是满足多项式分布中2,的,因此 N d i 同理由于从第d个 document中抽取zu也是满足多项分布θa的,因此 P(zdi led) d d=1i=1 d=1z=1 将两式带入(2.3)中可以得到, Gibbs Sampling Derivation for LDa and ToT, Han Xiao, Ping Luo P(中2|β)d ed P(eala)de 7 d=1i=1 d=1z=1 step5:根据 dirichlet的后验分布,可以将P(中2|B)和P(Oda)开,得到 N 心!G T d=1i=1 r(β) 3-1)d中 11(ax)2=5 de step6:由于mCx18)与中无关,C叫2与无关,可以将它们提出,得: N P(tai lvz 2=1pv T r(a 1e()(心!(门 -1 d6, step7:由于不同的 topic的 topic-words分布是独立的(比如φ1与中2是独立的,可以通过d- separation判定),因此 连乘的积分可以写作积分的连乘;同理,不同 document的 document-topics分布也是独立的(01与02是独立的) 因此可以上式可以写为: r:)(21门(÷*a)(U nd, tarded 11(a dz d=11=1 step8:根据欧拉积分 I= r(1a) 对(27)式中后面两项使用欧拉积分可得 D C P(wt,za,β,)= r(nzy+阝) T(ndz +az) Ilv= r(Bv) d=1i=1 r(a)/ir(zv-1nz +Bv)d-r(zI-1ndz+a2) 3.* full conditional probability Step1:将(28)中的式子代入,可以得到 P(zW,ta,B平 t-di|a,阝, D -v=1 r(n2+β)mDT=r(naz+ 2n八(正=1r(民) r(a2) r(Ev=1n,y +Bv d-r(zi=1(nd z +ar)) 四1lepe(tdb)(( r(z=1a2) Iv-r(nz,y+By)rd Ilz-1r(ndz+ Ilv-1r(Bv)(2-1 T, r(a2/ v=tzv +β Σ=(na2+a2) -di step2:此时,要留意所有角标与di有关的nc2和n2x,由于不考虑zd,因此watd不用考虑(因为它们没有被牛成), 也就是说在考虑 topic Z和 word的所有共现次数时(即n2xy),我们忽略了这一次z与w的共现,这仅仅会让nda减 1,而对于其他的n2w并无影响:同样的,这也会使ndx减1,而并不会使其他的n发生改变。注意:MTD的 大小并没有发生改变 将上式拆成3部分来看,可以得到如下式 P(taizu) Gibbs Sampling Derivation for LDA and ToT, Han Xiao, Ping luo v=1 Z=1 Ilv-ir(Bv)/\21r(az ) +0 3) nd, z tuz r(n Step3:关键是对(32.3式的化简),首先看其前一部分的分母 n,, (n2awa+阝wa-1)×m=1IV=r(n2x+B3) rCw=1nx+)T(C=(n+)-1)xr(=(2+B Step4:看前一部分的分子 (n+β) rInza wa d e,V 1r(x-(2+,)T((l2a+.)x(2=1(2+B) step5:(3.4)/(33),借助r(x+1)=xr(x)可以得到 (n2+阝 r(=1(n2+ +阝 ∑=1(n+B)-1 (xy=1(n2+阝 step6:看后一部分的分母 ∏z=1T(n ndg+ d diz )×TB=1I=1r(nd2+a2 Z z(叫2+c)=rCxm(ndna+a)-1)xm出,r(xm=(a+a2) step7:看后一部分的分子 Isr(ndz+ r(nd di, zdi )×[=1m=1r(naz+a2)d (2z_(nd. +a2))r(2z1nduix+ai)xIlad r(2T-(ndz +a2)) step8:(3.7)/(3.6},借助『(x+1)=xr(x)可得 ILs, r(ndz d=Ir(st (ndz+ n dinz di r(ndz ta 1d 1 n Step9:将(3.8)(35)(3.2)代入到(3.1)可得 P(zw,t,z-di,a阝,平)∝ P(z-di, W-di t-di a,B, y)P(tail zd )xyyatBwdi--1 P(Z,w, ta,B, p) =1(na+)-1∑=1(nx+)-1 (1-td) di“dt-1 nz,a, wui nd,ji, z i (nax+阝)-1 其中B(β) r(axr(β) 我们可以利用上式对每个zd进行抽样,当迭代次数足够大时,抽样结果趋丁稳定 r(a+β) LDAGibbs Sampling中P(adw,zd,.,B)+a-1+2(adz+ nu, ldi 对比 LDA Gibbs Sampling发现,模型中加入时间信息后,对zd抽样时依据的概率分布做∫一些改变,相当于在LDA 的基础上增加了一个因子。 Gibbs Sampling Derivation for LDA and TOT, Han Xiao, Ping lut 当对zd的抽样完成后,我们可以方便的根据n2x和naz对中2与04进行计 例如,对于第z个 topIC的 topic-words分布,可以用 中2 n2+阝-1 (n2x+β) 求得中2=( D. Quick Derivation 对于TOT的 Gibbs Sampling,我们要求的是 P(zd1Wtz-dt,,阝平) 根据 Bayes rule,上式可以写作: P(zdi lw, t, z-di, a,B, P(w,tz,ax,阝,) P(wt,Z,a,阝,Y 根据 Graphical Model,wa,t都是山z生成的,如果不考虑za则无法考虑wd,td,因此: P(w,tZ,,β P(wtz|o,阝乎 P(edi lw, t, z-di, a, B,)ople-diw-di, t-di,a,B, y)P(z_di w aul-di/, B,Y) 根据 d-sperate可以判定对于不同的:zd,watd与zd,wd,td在条件a,β甲下是独立的。因此,上式右边可以拆为 各项连乘的形式,分子分母消去公共项,只剩P(zd,wd,tax,B,V),即 P(d|W,tzdi,,β,甲)∝P(ai,wd,tail,阝,甲) 又由于z,wd,td与z,w,td实际上在条件,,a,平下也是独立的,同理可得 P(zd|w,tzd中,,c,β,)∝P(z 中,e,x,β,甲) 根据 Graphical Mode|P(dwa,td|,e,a,,甲)可以写作 P(z 仲中6,,阝,)=P( wailed,中β)P y)P(zdi le, a) 山于抽wd和抽zd都满足多项式分布,批tG满足beta分布,于是有 P(wailed,,β)=、y ∑v=1(n2x+凤 n P(zdi le, a n di P(tai lzdi, p) (1-td B(中-1,中-1) 于是得到P(dw,txd,B甲)a(1t)帅t甲- B(山d-1,a-1)x +radix nd di di 对于LDA,推导过程同上,只是我们无需考虑td,于是P( dili, zdi a,B.甲)=2dym+B=x n Zdi.+Pv E。 References [1D Blei, A Ng, and m. Jordan Latent dirichlet allocation Journal of machine Learning research, 3: 993-1022, 2003 [2 Xuerui Wang, Andrew McCallum. Topics over Time: A Non-Markov Continuous-Time Model of Topical Trends. KDD06 August 20-23, 2006, Philadelphia, Pennsylvania, USA

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值