EM推导PLSA模型
回归EM算法
以上是EM算法的框架,基本思想是:
- E步骤:求当隐变量给定后当前估计的参数条件下的后验概率
- M步骤:最大化complete data对数似然函数的期望,把E步当做是已知值,得到新的参数值
- 不断迭代以上步骤直到收敛。
plsa模型简介
PLSA应用于信息检索、过滤、自然语言处理等领域,考虑到词分布和主题分布,可以看做概率化的矩阵分解,采用EM算法来学习参数。
模型示意图如下:
其中包括的概率有:
- 以 p(di) p ( d i ) 的概率选中文档 di d i
- 以 p(zk|di) p ( z k | d i ) 的概率选中主题 zk z k
- 以 p(wj|zk) p ( w j | z k ) 的概率产生一个词 wj w j
在plsa中, p(di) p ( d i ) 可以事先计算求出, 而 p(wj|zk),p(zk|di) p ( w j | z k ) , p ( z k | d i ) 就是我们需要计算的参数。
根据EM算法:
E步: 求隐变量的后验概率
p(zk|di,wj)=p(wj|zk)p(zk|di)∑Kl=1p(wj|zl)p(zk|di) p ( z k | d i , w j ) = p ( w j | z k ) p ( z k | d i ) ∑ l = 1 K p ( w j | z l ) p ( z k | d i )
M步 完整数据的似然函数的期望
l=∑i∑jn(di,wj)logp(di,wj) l = ∑ i ∑ j n ( d i , w j ) l o g p ( d i , w j )
=∑i∑jn(di,wj)logp(wj|di)p(di) = ∑ i ∑ j n ( d i , w j ) l o g p ( w j | d i ) p ( d i )
=∑i∑jn(di,wj)logp(wj|di)+∑i∑jn(di,wj)logp(di) = ∑ i ∑ j n ( d i , w j ) l o g p ( w