plsa java_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简介

已知一个文档数据集

tex_1dd060ec7aed9e6626bd59fd5280bad3.gif及相应的词典

tex_1d5c8fbf55ee88c14540c60f09c8169c.gif,采用BOW模型假设,我们可以将数据集表示为一个

tex_fc93bece2a9c93fc323e074b5ec0f87e.gif的共生矩阵,

tex_3315edbfad9128f07c4357de9cf6114b.gif,其中,

tex_3aebb671be6c9e301111d5e75107ed37.gif表示词典中的第j个单词在第i个文档中出现的次数。

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

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

tex_21163c082d9483ab00b4d8cbc290b5fb.gif

其中,

tex_4c614360da93c0a041b22e537de151eb.gif

tex_5206560a306a2e085a437fd258eb57ce.gif均为正交矩阵,有

tex_1941e4a93c647be59b1f6e6235fde4d8.gif

tex_025b3f94d79319f2067156076bf05243.gif是包含

tex_8d9c307cb7f3c4a32822a51922d1ceaa.gif所有奇异值的对角矩阵。LSA降维的方式就是只取

tex_025b3f94d79319f2067156076bf05243.gif中最大的K个奇异值,而其他置为0,得到

tex_025b3f94d79319f2067156076bf05243.gif的近似矩阵

tex_39c710fb3c97e8459dbe5917e7277555.gif,于是得到了共生矩阵的近似:

tex_3bd0a88f4a4fb75957c8b493ba45e44b.gif

注意到如果我们利用内积来计算文档与文档之间的的相似度,即

tex_8d9c307cb7f3c4a32822a51922d1ceaa.gif的自相关矩阵,可以得到:

tex_272a67aca26d1276dba9ca57174316e6.gif。于是,我们可以把

tex_2837316356dd851a2190ddf6807426cb.gif解释为文档样本在Latent Space上的坐标,而

tex_16fd674f362dd2565cd8a4081def03b3.gif则是两个空间之间的变换矩阵。下图形象的展示了LSA的过程:

image_thumb.png

由LSA在训练集合上得到的参数,当一个新的文档向量

tex_0ab6cc29b55ed4b99e1ec478d8246afb.gif到来时,我们可以利用下式将其原始term space映射到latent space:

tex_6a0a91e4d15c230a3b93dd86dc972a49.gif

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的问题,如下图:

image_thumb1.png

在这个probabilitistic模型中,我们引入一个Latent variable

tex_fafbfd9d2875838e8a2008083d30e497.gif,这对应着一个潜在的语义层。于是,完整的模型为:

tex_d0a9140fef5def21c5cc73a420877ccc.gif代表文档在数据集中出现的概率;

tex_b5e864f1bba5118e4ce1acbbd3f48245.gif代表当确定了语义

tex_d07d279eb93bd454926dc7edd51be217.gif时,相关的term(word)出现的机会分别是多少;

tex_37b4cc0e276f47bbba42be53a95f88b7.gif 表示一个文档中语义分布的情况。利用以上这些定义,我们就可以一个生成式模型(generative model),利用它产生新的数据:

首先根据分布

tex_d0a9140fef5def21c5cc73a420877ccc.gif随机抽样选择一个文档

tex_d247f594c78d0d2be10fc6d82512cc4e.gif;

选定文档后,根据

tex_a6648b92d9a3e62b9406c65d9dac6a55.gif抽样选择文档表达的语义

tex_d07d279eb93bd454926dc7edd51be217.gif

选定语义后,根据

tex_b5e864f1bba5118e4ce1acbbd3f48245.gif选择文档的用词;

image_thumb2.png

这样,我们得到了一个观测对

tex_f523b75f1ebf73861c86bf6db3451442.gif,多次重复这一过程我们就得到了一个类似N的共生矩阵,而潜在的语义

tex_d07d279eb93bd454926dc7edd51be217.gif在观测值中并没有表现出来。为了刻画

tex_f523b75f1ebf73861c86bf6db3451442.gif的联合分布,我们可得到以下公式:

tex_d8ebe430eebc053aab94f4bcb88a3ac0.gif

用图模型来表示以上公式如Figure3中的(a),而(b)是pLSA模型的另外一种等价形式,公式可写作:

tex_695d732e662fc639d26043da90361e88.gif

模型确定好了,已知的数据集N,我们可以利用Maximum Likelihood准则来确定模型的参数,目标函数可写作:

tex_9de76b39f66fa2d9a721c7e86fd4b73e.gif

此目标函数也可以解释为使

tex_deedb8cdac925c333492bf58eabe11e3.gif

tex_0ccf6381895ddb658348e9a228312732.gif两个分布之间的K-L Divergence最小,即

tex_deedb8cdac925c333492bf58eabe11e3.gif更好的刻画共生矩阵的实际分布。

EM求解

在似然值

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

既然似然值

tex_5dcbf640cdb155217ca0c533e1078ff7.gif无法直接求解最大值,那么我们转而优化其下界

tex_a86b476d942a21c30901ddada8bc5f95.gif,并通过迭代不断的将此下界提高,那么最终得到的解即为

tex_5dcbf640cdb155217ca0c533e1078ff7.gif近似最大解, 当然,此过程中寻求的下界

tex_a86b476d942a21c30901ddada8bc5f95.gif要求尽量紧确。利用琴生不等式和概率小于1的性质,我们可以得到如下推导:

tex_575079a8a45ce2ee97924b895d143fdd.gif

tex_5425b63d17615fb9895efdf471690187.gif

tex_1b4acdde268e74999a412951119303a5.gif

>

tex_709450a5762cd8b26e7ba6273292015b.gif

这样,我们就把

tex_7231fa806691800f095133f6fb720d82.gif拿到了

tex_cb139ffd45872a9a5f17ece5cdb1d314.gif外面来,接下来我们就可以对

tex_a86b476d942a21c30901ddada8bc5f95.gif直接求解了。注意这个最大化问题的约束条件是:

tex_35505c475363d14783dd60eae0b837ef.gif

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

tex_709450a5762cd8b26e7ba6273292015b.gif

tex_d45463092a72ca94d498c06cb4d90493.gif

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

tex_f25e25039b4742aa9ed76345e9b3d642.gif

tex_ff8cebbc207ada3d66152a092427b82c.gif

tex_817a5388e87c3a0385fb42d5efcbf31a.gif

而EM算法中的E-step也就是求已知

tex_ddb0a18affed10a3d75c8dc6e0e4c75b.gif时隐含变量

tex_d07d279eb93bd454926dc7edd51be217.gif的后验概率:

tex_0959aa6208c654fc32841c5272ecb6a6.gif

观察可以得到,E-step与M-step互相依赖,可以证明每一步都使得下界

tex_a86b476d942a21c30901ddada8bc5f95.gif的期望值提高,通过不断的迭代求解即可最后求得原问题的近似最大似然解。

pLSA与LSA的关系

由Figure4可以看到pLSA与LSA之间的对应关系。其中

tex_c07f09e1ca3053942a3e035409faa7c0.gif刻画了Latent Space也即topic space的信息;

tex_d2a1a761ca3902b69b7c082c3b802371.gif刻画了topic space与term space之间的关系,对应着LSA中的正交基

tex_5206560a306a2e085a437fd258eb57ce.gif;在文档分类是,这两部分也就是我们在模型训练结束需要保存的信息,当一个新的文档的到来时, 我们可以再次利用EM算法得到新的文档与主题的对应关系

tex_90b5107d373ed47c145936f6242d6d4f.gif,并由此得到文档在topic空间上的表示

tex_7b0f6d752ca10b0e662e18abd6d52dcc.gif

image_thumb3.png

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),在此就不再多说了。

4. 参考文献

Thomas

Hofmann, “Unsupervised Learning by Probabilistic Latent Semantic

Analysis,” Machine Learning 42, no. 1 (January 1, 2001): 177-196

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值