未知类C={c1, c2,,,,ck}
token W={w1, w2, ,,, wm}
doc D={d1, d2, ,,, dn}
1)选择文档d的概率是p(d)
2)文档d时, 为类z的概率是p(z|d)
3)类z中包含w的概率是 p(w|z)
P(w,d) = | ∑ | P(c)P(d | c)P(w | c) = P(d) | ∑ | P(c | d)P(w | c) |
c | c |
EM
1)E: 在当前参数估计值的情况下, 基于潜在变量的先验概率计算后验概率
2)M: 利用得到的后验值, 重新计算各参数的似然值。 最大化似然值,重新得到新的参数估计值
如下图:
z是潜在变量
p(w|z), p(d|z), p(z)是参数
=============================================================================
转载 http://www.cnblogs.com/25-to-life/archive/2011/03/05/1971492.html
磨了我一个星期, 断断续续的看, 断断续续的想。 早上上厕所的时候,终于想通了。或许是对英文理解能力差吧, 发觉其实挺简单的。
LSA对于许多搞IR和NLP的来说应该不陌生吧,LSA用SVD降维,然后来根据word distribution,来分类文档
而LSA的劣势在于,没有比较好的统计基础,这个和当前流行趋势是不相符的。
所以PLSA,用概率模型来做文档分类,或者词聚类。等
要求你有个word dictionary.假设为SETWord ={w1,w2,w3..}
事前定义好的几个分类,例如: SetTopic = {t1, t2, t3...}
最后是一个分类未知的杂合文档集, SetDoc = {d1,d2,d3...}
可以试想,一个作者在写关于某个文档时候的思路
1. 确定要写的一个topic, P(t)
2. 选择一系列的词,这些词要和当前topic t相关的,所以为P(w|t).
3. 用这些词组成一个文档, P(d|w)。
这个是顺德思路。
那么当我们已经得到一堆文档的情况下。我们要反过来想,这个就是PLSI的三步走
1. 在文档集中挑选一篇文档d的概率, P(d)
2. 这篇文档描述内容是关于topic-t的概率: P(t|d)
3. 这个topic中,包含了文档当前内容w的概率: P(w|t)
当然, 可以明显看出最后一条原本应该是:P(w|t,d),而这就是PLSI的假设:文档中字和具体某个文档无关。所以P(w|t,d)==》P(w|t)
那么由于是无监督学习分类过程
p(d,w) = p(d)p(w|d)
p(w|d) = ∑p(w|t)p(t|d) (t∈T)
合并两个方程式,得
p(d,w) = p(d)*∑p(w|t)p(t|d) = ∑p(w|t)p(t|d)p(d)
p(t|d)p(d) = p(t,d) = p(d|t)p(t)
再得p(d,w) = p(d)*∑p(w|t)p(t|d) = ∑p(w|t)p(d|t)p(t) (t∈T)
我们要去求的结果是p(w|t)和p(d|t)..
E-STEP: p(t|d,w) = p(w|t)p(d|t)p(t)/∑( p(w|t')p(d|t')p(t'))
M-STEP:
p(w|t) = ∑(n(d,w)*p(t|d,w))【 - 对于所有的d都计算】/ ∑(n(d,w)*p(t|d,w))【 - 对于所有的 变d, 定w 都计算】
同理p(d|t) = ∑(n(d,w)*p(t|d,w))【 - 对于所有的w都计算】/ ∑(n(d,w)*p(t|d,w))【 - 对于所有的 定d, 变w都计算】
p(z) = ∑(n(d,w)p(z|w,d)),所有的属于z的时候的统计/∑n(d,w)(所有文档,所有分类综合.
直观而言, PLSI输出是两个matrix 和 一个vector
matrix:
p(w|t) 定义了在topic下的一个词的分布。
p(d|t)定义了各个文档在此topic下的分布。
可惜, 当前课题太bt了, 我想plsi只适合大众的,频繁出现的词聚类效果还好, 对于一些古文等, 就力不从心了,因为没有数据、文档。叹口气,继续。 倒了研二,压力好大好大好大好大,求毕业。
=====================================================
转自 http://tech.bobgo.net/?tag=plsa
1. 引子
Bag-of-Words 模型是NLP和IR领域中的一个基本假设。在这个模型中,一个文档(document)被表示为一组单词(word/term)的无序组合,而忽略了语法或者词序的部分。BOW在传统NLP领域取得了巨大的成功,在计算机视觉领域(Computer Vision)也开始崭露头角,但在实际应用过程中,它却有一些不可避免的缺陷,比如:
从同义词和多义词问题我们可以看到,单词也许不是文档的最基本组成元素,在单词与文档之间还有一层隐含的关系,我们称之为主题(Topic)。我们在写文章时,首先想到的是文章的主题,然后才根据主题选择合适的单词来表达自己的观点。在BOW模型中引入Topic的因素,成为了大家研究的方向,这就是我们要讲的Latent Semantic Analysis (LSA) 和 probabilitistic Latent Semantic Analysis (pLSA),至于更复杂的LDA和众多其他的Topic Models,以后再详细研究。
2. LSA简介
已知一个文档数据集及相应的词典,采用BOW模型假设,我们可以将数据集表示为一个的共生矩阵,,其中,表示词典中的第j个单词在第i个文档中出现的次数。
LSA的基本思想就是,将document从稀疏的高维Vocabulary空间映射到一个低维的向量空间,我们称之为隐含语义空间(Latent Semantic Space).
如何得到这个低维空间呢,和PCA采用特征值分解的思想类似,作者采用了奇异值分解(Singular Value Decomposition)的方式来求解Latent Semantic Space。标准的SVD可以写为:
其中,和均为正交矩阵,有,是包含所有奇异值的对角矩阵。LSA降维的方式就是只取中最大的K个奇异值,而其他置为0,得到的近似矩阵,于是得到了共生矩阵的近似:
注意到如果我们利用内积来计算文档与文档之间的的相似度,即的自相关矩阵,可以得到:。于是,我们可以把解释为文档样本在Latent Space上的坐标,而则是两个空间之间的变换矩阵。下图形象的展示了LSA的过程:
由LSA在训练集合上得到的参数,当一个新的文档向量到来时,我们可以利用下式将其原始term space映射到latent space:
LSA的优点
LSA的不足
3. pLSA
类似于LSA的思想,在pLSA中也引入了一个Latent class,但这次要用概率模型的方式来表达LSA的问题,如下图:
在这个probabilitistic模型中,我们引入一个Latent variable ,这对应着一个潜在的语义层。于是,完整的模型为:代表文档在数据集中出现的概率;代表当确定了语义时,相关的term(word)出现的机会分别是多少; 表示一个文档中语义分布的情况。利用以上这些定义,我们就可以一个生成式模型(generative model),利用它产生新的数据:
这样,我们得到了一个观测对,多次重复这一过程我们就得到了一个类似N的共生矩阵,而潜在的语义在观测值中并没有表现出来。为了刻画的联合分布,我们可得到以下公式:
用图模型来表示以上公式如Figure3中的(a),而(b)是pLSA模型的另外一种等价形式,公式可写作:
模型确定好了,已知的数据集N,我们可以利用Maximum Likelihood准则来确定模型的参数,目标函数可写作:
此目标函数也可以解释为使与两个分布之间的K-L Divergence最小,即更好的刻画共生矩阵的实际分布。
EM求解
在似然值的表达式中存在对数内部的加运算,所以球pLSA最大似然解的问题没有闭式解,我们只能求助于EM算法,下面我们从最简单的启发式的角度推导出pLSA的求解过程。
既然似然值无法直接求解最大值,那么我们转而优化其下界,并通过迭代不断的将此下界提高,那么最终得到的解即为近似最大解, 当然,此过程中寻求的下界要求尽量紧确。利用琴生不等式和概率小于1的性质,我们可以得到如下推导:
这样,我们就把拿到了外面来,接下来我们就可以对直接求解了。注意这个最大化问题的约束条件是:
利用拉格朗日法,我们可以得到优化目标:
对此目标函数求导,我们可以得到EM算法中的M-step:
而EM算法中的E-step也就是求已知时隐含变量的后验概率:
观察可以得到,E-step与M-step互相依赖,可以证明每一步都使得下界的期望值提高,通过不断的迭代求解即可最后求得原问题的近似最大似然解。
pLSA与LSA的关系
由Figure4可以看到pLSA与LSA之间的对应关系。其中刻画了Latent Space也即topic space的信息;刻画了topic space与term space之间的关系,对应着LSA中的正交基;在文档分类是,这两部分也就是我们在模型训练结束需要保存的信息,当一个新的文档的到来时, 我们可以再次利用EM算法得到新的文档与主题的对应关系,并由此得到文档在topic空间上的表示。
pLSA的优势
pLSA的不足
针对pLSA的不足,研究者们又提出了各种各样的topic based model, 其中包括大名鼎鼎的Latent Dirichlet Allocation (LDA),在此就不再多说了。
====================================================
转自 http://hi.baidu.com/megachan/blog/item/325a351814ebfe5343a9ad33.html
PLSA是更为先进的方法。他解决了同义词和多义词的问题,利用了强化的期望最大化算法(EM)来训练隐含类(潜在类)。而且相对了LSA,有了坚实的统计学基础。
PLSA的建模——层面模型
层面模型就是关联于潜在类Z的共现表的潜在可变模型。在层面模型中,文档被视为潜在的K个层面的混合。每一个层面就是word对于z(潜在类)的概率分布。
PLSA的建模——数据的共现
对于每一组(w,d)都使之与潜在变量z关联。
PLSA的建模——预测words
已经的是文档的概率,首先要计算潜在类Z根据条件概率D,生成单词W根据条件概率Z。
PLSA的公式:
P(w,d) =∑P(c)P(d | c)P(w | c) = P(d)∑P(c | d)P(w | c)
注:这里的C和上面说的Z是一样的。
公式解析:第一个公式是对称公式,在这个公式中,W和D都是以相同的方式(都用了W和D基于C的条件概率)通过潜在类C处理的。第二个公式是非对称公式。在这个公式中,对于每一个D,先根据D的条件概率计算C,然后根据C的条件概率计算W。事实上,这个公式可以扩展成计算任何一对离散变量的共现。因为我们的W和D是已知的,但是Z是未知的,所以我们的重心放在求Z上。那么如何求Z呢?
PLSA的缺点:
PLSA有时会出现过拟合的现象。所谓过拟合(Overfit),是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在测试数据集上却不能很好的拟合。此时我们就叫这个假设出现了overfit的现象。出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。
PLSA与LDA最大的区别就在于,doc--topic这一级,PLSA把这一级的所有变量都看作模型的参数,即有多少文档那么就有多少模型的参数;而LDA引入了一个超参数,对doc--topic这一个层级进行model。这样无论文档有多少,那么最外层模型显露出来的(对于doc--topic)就只有一个超参数。
解决办法,要避免过拟合的问题,PLSA使用了一种广泛应用的最大似然估计的方法,期望最大化。PLSA中训练参数的值会随着文档的数目线性递增。PLSA可以生成其所在数据集的的文档的模型,但却不能生成新文档的模型。
强化的期望最大化算法中引入了控制参数beta。
Beta值起始是1,紧着逐渐减少。引入beta的目的就是为了避免过拟合的问题,在beta中,过拟合和不充分拟合的状态被定义。具体的算法是:
让beta的初始值为1,然后根据待训练数据来测试模型,如果成功,则使用该beta,如果不成功,则收敛。收敛的意思就是使得beta = n*beta, n<1。
Whereas pLSA models the probability of each co-occurrence as a mixture of conditionally independent multinomial distributions.
In this model,dare documents,ware words, andzare a set of latent topics which give a distribution over words P(w|z). d and w are observed, but z is a latent (unobserved) variable.
Nis the number of documents in the collection, andWdis the number of words per document.
This model generates documents as: For each document d, we sample a topic according to P(z | d). We then sample a word from that topic according to P(w | z). This is repeated for each word in the document.
In pLSA the goal is to find the topic specific word distributions P(w|z) and corresponding document specific mixing proportions P(z|d) which make up the document specific word distribution P(w|d).