[自然语言处理] LSA与pLSA(2)

EM求解

在似然值L的表达式中存在对数内部的加运算,所以球pLSA最大似然解的问题没有闭式解,我们只能求助于EM算法,下面我们从最简单的启发式的角度推导出pLSA的求解过程。

既然似然值L无法直接求解最大值,那么我们转而优化其下界F,并通过迭代不断的将此下界提高,那么最终得到的解即为L近似最大解, 当然,此过程中寻求的下界F要求尽量紧确。因为:

0<p(zk|di,wj)<1,Kk=1p(zk|di,wj)=1

利用琴生不等式和概率小于1的性质,我们可以得到如下推导:

L=Ni=1Mj=1n(di,wj)logp(di,wj)


=Ni=1Mj=1n(di,wj)log(Kk=1p(wj|zk)p(zk)p(di|zk))


>Ni=1Mj=1n(di,wj)log(Kk=1p(zk|di,wj)p(wj|zk)p(zk)p(di|zk))


Ni=1Mj=1n(di,wj)Kk=1p(zk|di,wj)log(p(wj|zk)p(zk)p(di|zk))


这样,我们就把拿到了log外面来,接下来我们就可以对F直接求解了。注意这个最大化问题的约束条件是:

p(w|z)=1,p(z)=1,p(d|z)=1


利用拉格朗日法,我们可以得到优化目标:

F=Ni=1Mj=1n(di,wj)Kk=1p(zk|di,wj)log(p(wj|zk)p(zk)p(di|zk))


+Kk=1λk[Ni=1p(di|zk)?1]+Kk=1μk[Mj=1p(wj|zk)?1]+ξ[Kk=1p(zk)?1]

对此目标函数求导,我们可以得到EM算法中的M-step:

p(wj|zk)dn(di,wj)p(zk|di,wj)

            

p(di|zk)wn(di,wj)p(zk|di,wj)

                         

p(zk)dwn(di,wj)p(zk|di,wj)

  而EM算法中的E-step也就是求已知di,wj时隐含变量zk的后验概率:

p(zk|di,wj)=p(wj|zk)p(zk)p(di|zk)kp(wj|zk)p(zk)p(di|zk)


观察可以得到,E-step与M-step互相依赖,可以证明每一步都使得下界F的期望值提高,通过不断的迭代求解即可最后求得原问题的近似最大似然解。

pLSA与LSA的关系

由Figure4可以看到pLSA与LSA之间的对应关系。其中p(z)刻画了Latent Space也即topic space的信息;p(w|z)刻画了topic space与term space之间的关系,对应着LSA中的正交基V;在文档分类是,这两部分也就是我们在模型训练结束需要保存的信息,当一个新的文档的到来时, 我们可以再次利用EM算法得到新的文档与主题的对应关系p(d|z),并由此得到文档在topic空间上的表示p(z|d)


pLSA的优势

  1. 定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释;
  2. 相比于LSA隐含了高斯分布假设,pLSA隐含的Multi-nomial分布假设更符合文本特性;
  3. pLSA的优化目标是是KL-divergence最小,而不是依赖于最小均方误差等准则;
  4. 可以利用各种model selection和complexity control准则来确定topic的维数;

pLSA的不足

  1. 概率模型不够完备:在document层面上没有提供合适的概率模型,使得pLSA并不是完备的生成式模型,而必须在确定document i的情况下才能对模型进行随机抽样;
  2. 随着document和term 个数的增加,pLSA模型也线性增加,变得越来越庞大;
  3. 当一个新的document来到时,没有一个好的方式得到$p(d_i)$;
  4. EM算法需要反复的迭代,需要很大计算量;

针对pLSA的不足,研究者们又提出了各种各样的topic based model, 其中包括大名鼎鼎的Latent Dirichlet Allocation (LDA),在此就不再多说了。

4. 参考文献

  1. Thomas Hofmann, “Unsupervised Learning by Probabilistic Latent Semantic Analysis,” Machine Learning 42, no. 1 (January 1, 2001): 177-196.

没有更多推荐了,返回首页