LSA and PLSA笔记文档格式.docx
《LSA and PLSA笔记文档格式.docx》由会员分享,可在线阅读,更多相关《LSA and PLSA笔记文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
在BOW模型中引入Topic的因素,成为了大家研究的方向,这就是我们要讲的LatentSemanticAnalysis(LSA)和probabilitisticLatentSemanticAnalysis(pLSA),至于更复杂的LDA和众多其他的TopicModels,以后再详细研究。
2.LSA简介
已知一个文档数据集D={d1,d2,...,dN}及相应的词典W={w1,w2,...,wM},采用BOW模型假设,我们可以将数据集表示为一个N?
W的共生矩阵,N=(n(di,wj))i,j,其中,n(di,wj)表示词典中的第j个单词在第i个文档中出现的次数。
LSA的基本思想就是,将document从稀疏的高维Vocabulary空间映射到一个低维的向量空间,我们称之为隐含语义空间(LatentSemanticSpace).
如何得到这个低维空间呢,和PCA采用特征值分解的思想类似,作者采用了奇异值分解(SingularValueDecomposition)的方式来求解LatentSemanticSpace。
标准的SVD可以写为:
N=UΣVt
其中,U和V均为正交矩阵,有UtU=VtV=I,Σ是包含N所有奇异值的对角矩阵。
LSA降维的方式就是只取Σ中最大的K个奇异值,而其他置为0,得到Σ的近似矩阵Σ?
,于是得到了共生矩阵的近似:
N?
=UΣ?
Vt
注意到如果我们利用内积来计算文档与文档之间的的相似度,即N的自相关矩阵,可以得到:
t=UΣ?
2Ut。
于是,我们可以把UΣ?
解释为文档样本在Latent
Space上的坐标,而Vt则是两个空间之间的变换矩阵。
下图形象的展示了LSA的过程:
由LSA在训练集合上得到的参数,当一个新的文档向量x?
test到来时,我们可以利用下式将其原始term
space映射到latentspace:
x?
?
=Σ?
?
1Vtx?
testLSA的优点
低维空间表示可以刻画同义词,同义词会对应着相同或相似的主题;
降维可去除部分噪声,是特征更鲁棒;
充分利用冗余数据;
无监督/完全自动化;
与语言无关;
LSA的不足
没有刻画term出现次数的概率模型;
无法解决多义词的问题;
SVD的优化目标基于L-2norm或者是FrobeniusNorm的,这相当于隐含了对数据的高斯噪声假设。
而term出现的次数是非负的,这明显不符合Gaussian假设,而更接近Multi-nomial分布;
对于countvectors而言,欧式距离表达是不合适的(重建时会产生负数);
特征向量的方向没有对应的物理解释;
SVD的计算复杂度很高,而且当有新的文档来到时,若要更新模型需重新训练;
维数的选择是ad-hoc的;
3.pLSA
类似于LSA的思想,在pLSA中也引入了一个Latentclass,但这次要用概率模型的方式来表达LSA的问题,如下图:
在这个probabilitistic模型中,我们引入一个Latentvariablezk∈{z1,z2,...,zK},这对应着一个潜在的语义层。
于是,完整的模型为:
p(di)代表文档在数据集中出现的概率;
p(wj|zk)代表当确定了语义zk时,相关的term(word)出现的机会分别是多少;
p(zk|di)表示一个文档中语义分布的情况。
利用以上这些定义,我们就可以一个生成式模型(generative
model),利用它产生新的数据:
首先根据分布p(di)随机抽样选择一个文档di;
选定文档后,根据p(zk|di)抽样选择文档表达的语义zk;
选定语义后,根据p(wj|zk)选择文档的用词;
这样,我们得到了一个观测对(di,wj),多次重复这一过程我们就得到了一个类似N的共生矩阵,而潜在的语义zk在观测值中并没有表现出来。
为了刻画(di,wj)的联合分布,我们可得到以下公式:
p(di,wj)=p(di)p(wj|di),p(wj|di)=∑Kk=1p(wj|zk)p(zk|di)
用图模型来表示以上公式如Figure3中的(a),而(b)是pLSA模型的另外一种等价形式,公式可写作:
p(di,wj)=∑Kk=1p(wj|zk)p(zk)p(di|zk)
模型确定好了,已知的数据集N,我们可以利用MaximumLikelihood准则来确定模型的参数,目标函数可写作:
L=∑Ni=1∑Mj=1n(di,wj)logp(di,wj)
=∑Ni=1n(di){logp(di)+∑Mj=1n(di,wj)n(di)log∑Kk=1p(wj|zk)p(zk|di)}此目标函数也可以解释为使p(wj|di)与n(di,wj)n(di)两个分布之间的K-L
Divergence最小,即p(wj|di)更好的刻画共生矩阵的实际分布。
EM求解
在似然值L的表达式中存在对数内部的加运算,所以球pLSA最大似然解的问题没有闭式解,我们只能求助于EM算法,下面我们从最简单的启发式的角度推导出pLSA的求解过程。
既然似然值L无法直接求解最大值,那么我们转而优化其下界F,并通过迭代不断的将此下界提高,那么最终得到的解即为L近似最大解,
当然,此过程中寻求的下界F要求尽量紧确。
因为:
0&
lt;
p(zk|di,wj)&
1,∑Kk=1p(zk|di,wj)=1利用琴生不等式和概率小于1的性质,我们可以得到如下推导:
=∑Ni=1∑Mj=1n(di,wj)log(∑Kk=1p(wj|zk)p(zk)p(di|zk))
&
gt;
∑Ni=1∑Mj=1n(di,wj)log(∑Kk=1p(zk|di,wj)p(wj|zk)p(zk)p(di|zk))
≥∑Ni=1∑Mj=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=1∑Mj=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)∝∑d∑wn(di,wj)p(zk|di,wj)
而EM算法中的E-step也就是求已知di,wj时隐含变量zk的后验概率:
p(zk|di,wj)=p(wj|zk)p(zk)p(di|zk)∑k′p(wj|zk′)p(zk′)p(di|zk′)
观察可以得到,E-step与M-step互相依赖,可以证明每一步都使得下界F的期望值提高,通过不断的迭代求解即可最后求得原问题的近似最大似然解。
pLSA与LSA的关系
由Figure4可以看到pLSA与LSA之间的对应关系。
其中p(z)刻画了Latent
Space也即topicspace的信息;
p(w|z)刻画了topic
space与termspace之间的关系,对应着LSA中的正交基V;
在文档分类是,这两部分也就是我们在模型训练结束需要保存的信息,当一个新的文档的到来时,
我们可以再次利用EM算法得到新的文档与主题的对应关系p(d|z),并由此得到文档在topic空间上的表示p(z|d)。
pLSA的优势
定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释;
相比于LSA隐含了高斯分布假设,pLSA隐含的Multi-nomial分布假设更符合文本特性;
pLSA的优化目标是是KL-divergence最小,而不是依赖于最小均方误差等准则;
可以利用各种modelselection和complexitycontrol准则来确定topic的维数;
pLSA的不足
概率模型不够完备:
在document层面上没有提供合适的概率模型,使得pLSA并不是完备的生成式模型,而必须在确定documenti的情况下才能对模型进行随机抽样;
随着document和term个数的增加,pLSA模型也线性增加,变得越来越庞大;
当一个新的document来到时,没有一个好的方式得到$p(d_i)$;
EM算法需要反复的迭代,需要很大计算量;
针对pLSA的不足,研究者们又提出了各种各样的topicbasedmodel,其中包括大名鼎鼎的LatentDirichletAllocation(LDA),在此就不再多说了。
4.参考文献
ThomasHofmann,“UnsupervisedLearningbyProbabilisticLatentSemanticAnalysis,”MachineLearning42,no.1(January1,2001):
177-196.