机器学习:主题模型:PLSA

原创 2016年05月31日 14:39:13

http://blog.csdn.net/pipisorry/article/details/42560877
* 概率潜在语义分析简称pLSA(Probabilisticlatent semantic analysis)
* 概率潜在语义分析与标准潜在语义分析的不同是,标准潜在语义分析是以共现表(就是共现的矩阵)的奇异值分解的形式表现的,而概率潜在语义分析却是基于派生自LCM的混合矩阵分解。考虑到word和doc共现形式,概率潜在语义分析基于多项式分布和条件分布的混合来建模共现的概率。所谓共现其实就是W和D的一个矩阵,所谓双模式就是在W和D上同时进行考虑。基于概率统计的PLSA模型,用EM算法学习模型参数。


PLSA的推导

这里写图片描述

  • D是文档;Z代表主题;W代表观察到的单词
  • p(di) 是单词出现的在文档di 的概率
  • p(zk|di) 是文档di中出现主题zk的概率
  • p(wj|zk)是给定主题词zk出现单词 wj的概率
    (每个主题在所有词项上服从Multinomial分布,每个文档在所有文档上服从Multinomial分布)
  • 文档的生成过程:
    1. p(di)的概率选择文档di
    2. p(zk|di)的概率选择主题
    3. p(wj|zk)的概率产生一个单词

观察到的数据是:(dj,wj)

p(di,wj)=p(di)d(wj|di)
p(wj|di)=Kk=1p(wj|zk)p(zk|di)

其中:p(zk|di)p(wj|zk)分别对应了两组Multinomial分布,需要去估计参数


PLSA的EM算法估计参数

  • 需要去估计的参数是:p(zk|di)p(wj|zk)

直接使用MLE估算参数

L=Ni=1Mj=1p(di,wj)
=ijp(di,wj)n(di,wj) ……..(n(di,wj))是单词 wj出现在文档di的次数
l=Ni=1Mj=1n(di,wj)logp(di,wj)
=ijn(di,wj)logp(di,wj)
=ijn(di,wj)logp(wj|di)p(di)
=ijn(di,wj)log(Kk=1p(wj|zk)p(zk|dj)p(di))

上式是关于p(zk|di)p(wj|zk)的函数;对于上述包括隐变量或者是缺失数据的公式采用EM算法

EM算法求解步骤

PLSA中,incomplete data是观察到的(di,wj),隐含主题是zk,完整的数据是(dj,wj,zk)

(1)E步骤:求含隐变量Givern当前估计的参数条件下的后验概率。
(2)M步骤:最大化Complete data对数似然函数的期望,此时使用E步骤计算隐含变量的后验概率,得到新的参数
两部迭代直到收敛

  • E步骤:假设 p(zk|dj),p(wj|zk)已知,初始化时随机赋值

p(zk|di,wj)=p(wj|zk)p(zk|di)kl=1p(wj|zl)p(zl|di)

  • M步骤:最大化 Complete data对数似然函数的期望

l=ijn(di,wj)
=ijn(di,wj)log(p(wj|di)p(di))
=ijn(di,wj)(logp(wj|di)+logp(di))
=(ijn(di,wj)logp(wj|di))+(ijn(di,w+j)logp(di))
=>
lnew=(ijn(di,wj)logp(wj|di))
E(lnew=ijn(di,wj)Kk=1p(zk|di,wj)logp(wj,zk|di)
=ijn(di,wj)Kk=1p(zk|di,wj)logp(wj,zk)p(zk,di)


目标函数的建立

关于参数p(zk|di),p(wj|zk)的函数E,且其约束:
Mj=1p(wj|zk)=1
Kk=1p(zk|di)=1

E=ijn(di,wj)Kk=1p(zk|di,wj)logp(wj,zk)p(zk,di)

转换为:求等式约束的极值。


结论

M步:

p(wj|zk)=in(di,wj)p(zk|di,wj)Mm=1n(di,wj)p(zk|di,wj)

p(zk|di)=jn(di,wj)p(zk|di,wj)Kk=1jn(di,wj)p(zk|di,wj)

E步骤:

p(zk|di,wj)=p(wj|zk)p(zk|di)Kl=1p(wj|zl)p(zl|di)

版权声明:本文为博主原创文章,未经博主允许不得转载。

主题模型

(一)概念 1.LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构;所谓生成模型,就是说,我们认为一篇文章...
  • dream_catcher_10
  • dream_catcher_10
  • 2016年03月06日 11:13
  • 1831

【机器学习】主题模型(二):pLSA和LDA

一、pLSA(概率潜在语义分析)   pLSA:    -------有过拟合问题,就是求D, Z, W   pLSA由LSA发展过来,而早期LSA的实现主要是通过SVD分解。pLSA的模型图...
  • DianaCody
  • DianaCody
  • 2014年11月04日 14:47
  • 2963

主题模型介绍

  • 2013年11月29日 09:23
  • 600KB
  • 下载

[学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)

from: http://www.hxxiaopei.com/?p=71 读了著名的【Google News Personalization Scalable Online CF】,提及到针...
  • hxxiaopei
  • hxxiaopei
  • 2012年05月30日 21:09
  • 62175

Probability Latent Semantic Analysis (PLSA) 模型 学习笔记

PLSA是前面LSA的兄弟版,相比于LSA而言,PLSA定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释了。这篇博文我们分三部分来说PLSA:基本思想,EM算法推导,以及...
  • puqutogether
  • puqutogether
  • 2014年12月04日 10:00
  • 4890

PLSA隐变量主题模型的公式推导解惑

PLSA隐变量主题模型,公式推导网上也好,还是书上也好,都属于从略。 但是无论对于新手来说,还是老手,从略是不合适的,这不是一个科学对待的态度。机器学习就这么几个模型,从略是不是也对不起自己了 好...
  • sunquan_ok
  • sunquan_ok
  • 2016年08月04日 14:58
  • 286

PLSA主题模型的EM算法推导

看论文顺便粗略学习了EM算法和PLSA主题模型,鉴于刚入门,本文不对其原理进行深入探讨,主要针对其中的公式推导详细说明一下。PLSA主题模型:Probabilitic Latent Sematic A...
  • Bahuia
  • Bahuia
  • 2017年07月17日 22:15
  • 313

深入浅出讲解LDA主题模型(一)

最近总是遇到主题模型LDA(Latent Dirichlet Allocation),网上的博客写的天花乱坠而不知所以然,无奈看了最厚的《LDA数学八卦》,观完略通一二,记录于此~顺便放两张遇到的图,...
  • Love_wanling
  • Love_wanling
  • 2017年06月13日 11:01
  • 1098

主题模型分析模型——pLSA

基于概率统计的pLSA模型(probabilistic Latent Semantic Analysis,概率隐语义分析),增加了主题模型,形成简单的贝叶斯网络,可以使用EM算法学习模型参数。 pLS...
  • American199062
  • American199062
  • 2016年05月25日 23:12
  • 811

主题模型TopicModel:Unigram、LSA、PLSA模型

http://blog.csdn.net/pipisorry/article/details/42560693主题模型历史Papadimitriou、Raghavan、Tamaki和Vempala在1...
  • pipisorry
  • pipisorry
  • 2015年01月09日 20:49
  • 10979
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习:主题模型:PLSA
举报原因:
原因补充:

(最多只允许输入30个字)