plsa java_LSA vs PLSA及EM求解

本文对比了LSA与pLSA在文本处理中的应用,介绍了LSA利用奇异值分解降低维度的方法及其优缺点。接着,详细阐述了pLSA的概率模型,通过EM算法求解pLSA参数的过程,并分析了pLSA的优势和不足。
摘要由CSDN通过智能技术生成

文本处理中经典的LSA与PLSA 对比,EM算法,EM算法求解PLSA

主要参考:

1. 引子

Bag-of-Words 模型是NLP和IR领域中的一个基本假设。在这个模型中,一个文档(document)被表示为一组单词(word/term)的无序组合,而忽略了语法或者词序的部分。BOW在传统NLP领域取得了巨大的成功,在计算机视觉领域(Computer Vision)也开始崭露头角,但在实际应用过程中,它却有一些不可避免的缺陷,比如:

稀疏性(Sparseness): 对于大词典,尤其是包括了生僻字的词典,文档稀疏性不可避免;

多义词(Polysem): 一词多义在文档中是常见的现象,BOW模型只统计单词出现的次数,而忽略了他们之间的区别;

同义词(Synonym): 同样的,在不同的文档中,或者在相同的文档中,可以有多个单词表示同一个意思;

从同义词和多义词问题我们可以看到,单词也许不是文档的最基本组成元素,在单词与文档之间还有一层隐含的关系,我们称之为主题(Topic)。我们在写文章时,首先想到的是文章的主题,然后才根据主题选择合适的单词来表达自己的观点。在BOW模型中引入Topic的因素,成为了大家研究的方向,这就是我们要讲的Latent Semantic Analysis (LSA) 和 probabilitistic Latent Semantic Analysis (pLSA),至于更复杂的LDA和众多其他的Topic Models,以后再详细研究。

2. LSA简介

176e67fec97d0c14a01024cfbaf8c2b9.jpg

SA的基本思想就是,将document从稀疏的高维Vocabulary空间映射到一个低维的向量空间,我们称之为隐含语义空间(Latent Semantic Space).

如何得到这个低维空间呢,和PCA采用特征值分解的思想类似,作者采用了奇异值分解(Singular Value Decomposition)的方式来求解Latent Semantic Space。标准的SVD可以写为:

d4870c9b2c0d50861ec37dab87b1662c.jpg

fec69e6776e4a8db1893e14b0417ac40.jpg

3d78229dbb85341960436c6e9bef1824.jpg

LSA的优点

低维空间表示可以刻画同义词,同义词会对应着相同或相似的主题;

降维可去除部分噪声,是特征更鲁棒;

充分利用冗余数据;

无监督/完全自动化;

与语言无关;

LSA的不足

没有刻画term出现次数的概率模型;

SVD的优化目标基于L-2 norm 或者是 Frobenius Norm的,这相当于隐含了对数据的高斯噪声假设。而term出现的次数是非负的,这明显不符合Gaussian假设,而更接近Multi-nomial分布;

对于count vectors 而言,欧式距离表达是不合适的(重建时会产生负数);

特征向量的方向没有对应的物理解释;

SVD的计算复杂度很高,而且当有新的文档来到时,若要更新模型需重新训练;

维数的选择是ad-hoc的;

3. pLSA

类似于LSA的思想,在pLSA中也引入了一个Latent class,但这次要用概率模型的方式来表达LSA的问题,如下图:

0773e8450f19974578e8cf989067297a.jpg

d1128e49f62802db4510381c291e9c2a.jpg

8f0624748114101f4f9e541b8a6c1539.jpg

用图模型表示如上图所示,d和w表示观测变量,z是隐藏变量,M,N表示重复次数。

我们可以观察到的数据就是

df51e3174c9c993f39ccdb6709de218d.gif 对,而

df51e3174c9c993f39ccdb6709de218d.gif 是隐含变量。

df51e3174c9c993f39ccdb6709de218d.gif 的联合分布为

df51e3174c9c993f39ccdb6709de218d.gif

df51e3174c9c993f39ccdb6709de218d.gif

df51e3174c9c993f39ccdb6709de218d.gif 分布对应了两组 Multinomial 分布, 我们需要估计这两组分布的参数。由于词和词之间是互相独立的,于是可以得到整篇文档的词的分布;并且文档和文档也是互相独立的,于是我们可以得到整个样本的词的分布:

5273496dd49f47fd50a676456b930e31.jpg

其中

df51e3174c9c993f39ccdb6709de218d.gif 是term

df51e3174c9c993f39ccdb6709de218d.gif 出现在文档

df51e3174c9c993f39ccdb6709de218d.gif 中的次数

直接用MLE来估计参数,就会得到似然函数

b999d2235085c1caf01438a270f94da6.jpg

其中

df51e3174c9c993f39ccdb6709de218d.gif 可以认为是每个文档都一样,是常数,则

df51e3174c9c993f39ccdb6709de218d.gif

df51e3174c9c993f39ccdb6709de218d.gif 是要求的参数,一共有N*K + M*K个自变量,如果直接对这些自变量求偏导数,我们会发现由于自变量包含在对数和中,这个方程的求解很困难。因此我们采用EM算法。

下面给出用EM算法估计PLSA参数的详细推导过程。

(1) EM算法

EM算法主要解决的问题是:

我们有model:

1734.html ,但是我们只观察到x,z是隐变量,

1734.html 是参数, 想要极大化似然函数

b5c5abace74b7008a5abc690ae6d0698.gif   即

9b2fe9c91d2f776185be72e44af4ae08.gif

其中

aad02885f02e115a90658f6f955d9428.gif 是关于z的后验概率分布,Q的求解见Andrew NG 机器学习EM算法讲解。

根据Jensen不等式

56dd114b46672265ef9f3bff6af4a7c2.gif

EM算法具体步骤:

(1)E-step:

Set

aad02885f02e115a90658f6f955d9428.gif

(2)M-step:

68e61e93a85728d5380090c035c30a72.gif

此步中,Q是已知的

EM算法本质是通过构造原问题的一个紧的下界,

d423a260e96ed840002ab6ba9b0a3aa9.gif

然后采用Co-ordinate assent算法不断优化下界,

E-step: fix

1734.html ,  Max J respect to Q

M-step: fix Q, Max J respect to

1734.html

达到最终收敛的目的。

01bdbc443d06b4cabaf5c3786bcd8eff.png

E-step找到跟L(

1734.html )(黑色弧线)交于

1734.html (t)的J(蓝色弧线),M-step得到J取最大值时的

1734.html (t+1),这样下去直到收敛。(此图源于Andrew)

(2) EM算法,求解PLSA

EM算法框架是固定的,直接套用到PLSA中

记得PLSA中似然函数

b999d2235085c1caf01438a270f94da6.jpg

df51e3174c9c993f39ccdb6709de218d.gif 常数,所以

723cb55169b324314df1cbe100ab4611.gif

约束条件

4f3a3f5a20db6cdff784c64db6fce7da.gif

拉格朗日乘子法:

e0f7d3f5c55290e36cb3aa91a1f23886.gif

(1)构造Q

929e1944f4eeb057a6985c274983a26c.jpg

(2)max J respect to

1734.html

df51e3174c9c993f39ccdb6709de218d.gif   和

df51e3174c9c993f39ccdb6709de218d.gif

7cbb506b49699be567c900868d918246.gif

注意到

1734.html   是已知的 ,分别对

df51e3174c9c993f39ccdb6709de218d.gif

df51e3174c9c993f39ccdb6709de218d.gif 求偏导数,我们可以得到

1671d60996f36a4a5ce13de987fc9388.jpg

我们就可以解出M步骤中通过最大化期望估计出的新的参数值

42f59f5c3609e6e964746a72cba72380.jpg

如此不断迭代,直到满足终止条件。

4.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 ) 。

069fcf996d993938cf7ff39b1ecadf47.jpg

pLSA的优势

定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释;

相比于LSA隐含了高斯分布假设,pLSA隐含的Multi-nomial分布假设更符合文本特性;

pLSA的优化目标是是KL-divergence最小,而不是依赖于最小均方误差等准则;

可以利用各种model selection和complexity control准则来确定topic的维数;

pLSA的不足

概率模型不够完备:在document层面上没有提供合适的概率模型,使得pLSA并不是完备的生成式模型,而必须在确定document i的情况下才能对模型进行随机抽样;

随着document和term 个数的增加,pLSA模型也线性增加,变得越来越庞大;

当一个新的document来到时,没有一个好的方式得到$p(d_i)$;

EM算法需要反复的迭代,需要很大计算量;

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

5. 参考文献

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

欢迎加入我爱机器学习QQ14群:336582044

getqrcode.jpg

微信扫一扫,关注我爱机器学习公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值