PLSA模型简介

来源:互联网 发布:禅道bug管理linux 编辑:程序博客网 时间:2024/06/04 18:50

PLSA作为一种主题模型,提供了一种文本语义分析的手段,在自然语言处理中有很多应用,例如广告推荐、文本分类、改善搜索相关性等。关于PLSA的应用场景在下一篇博客中介绍,这里先对模型作一个简单的介绍,也算是对PLSA的推导过程做一个梳理。

PLSA:Probabilistic LatentSemantic Analysis,也即浅层概率语义分析,大体来讲就是通过概率手段计算潜在主题与word、document之间的关系。

传统的bag of words模型,通过word之间的匹配来计算文档之间的距离,对于汉语中的一词多义、同义词现象解决起来相对乏力。主题模型通过引入潜在主题维度,将文档投影到潜在主题上,将字面上不同的文档从语义上进行关联。

P(d):在海量文档中选出文档d的概率

P(z|d):文档d属于主题z的概率

p(w|z):在主题z的中选中单词w的概率

因此可以得出以下等式:

在文档di中选出单词wj的概率:

根据条件概率可以得到:

文档集合被选中的概率:

对p求极大似然估计可得到:

极大似然估计也即要估计出的值,以使L最大,也即是使观测到的状态(文档集合)概率最大。

因此目标函数为:


在目标函数中含有对数加法,所以的似然解问题没有闭式解,但可以采用EM算法,不断迭代逼近最优解。

根据全概率公式可得到:

因此:


根据Jenson不等式可以得到:


可以同步不断的求F的最大值从而来逼近L的最大值。因此该问题转化为了一个约束条件下的最优化问题,约束条件为:


通过拉格朗日函数方法可以得到优化的目标函数为:


注意F’中的变量是,对他们分别求导可以得到:


通过简单的变形可以得到:

     (EM算法中的E步)

(EM算法中的M步)

           (EM算法中的M步)

 

通过给定初始的,从而就可以计算出,然后又可以不同后者再计算出前者,以此不断迭代,从而逼近F的最优解。

至此,最后得到的也即PLSA模型的所求。

原创粉丝点击