LDA和PLSA
看了《LDA数学八卦》和July的博客,里面涉及到好多公式推导。。。感觉好复杂,于是记录一些重点简洁的东西,忽略大批量铺垫,直接回答LDA和PLSA是区别:
在pLSA模型中,我们按照如下的步骤得到“文档-词项”的生成模型(频率派):
- 按照概率
选择一篇文档
- 选定文档
后,确定文章的主题分布
- 从主题分布中按照概率
选择一个隐含的主题类别
- 选定
后,确定主题下的词分布
- 从词分布中按照概率
选择一个词
”
下面,咱们对比下本文开头所述的LDA模型中一篇文档生成的方式是怎样的(贝叶斯派):
- 按照先验概率
选择一篇文档
- 从狄利克雷分布(即Dirichlet分布)
中取样生成文档
的主题分布
,换言之,主题分布
由超参数为
的Dirichlet分布生成
- 从主题的多项式分布
中取样生成文档
第 j 个词的主题
- 从狄利克雷分布(即Dirichlet分布)
中取样生成主题
对应的词语分布
,换言之,词语分布
由参数为
的Dirichlet分布生成
- 从词语的多项式分布
中采样最终生成词语
”
从上面两个过程可以看出,LDA在PLSA的基础上,为主题分布和词分布分别加了两个Dirichlet先验。
这是July在介绍LDA中讲到的,这两个Dirichlet先验主要是加在确定某一文档时,PLSA是直接确定其主题分布,而LDA对主题的分布,也是以一定概率生成的;其次PLSA在依据主题确定词分布时,分布概率也是确定的,而LDA的词分布是由参数为
的Dirichlet分布生成。即PLSA中,文档d产生主题z的概率,主题z产生单词w的概率都是两个固定的值。而LDA中,主题分布(各个主题在文档中出现的概率分布)和词分布(各个词语在某个主题下出现的概率分布)不再是唯一确定的(而是随机变量),而是有很多种可能。但总体还是服从狄利克雷的先验分布的。
LDA和PLSA的更多相关文章
- LDA( Latent Dirichlet Allocation)主题模型 学习报告
1 问题描述 LDA由Blei, David M..Ng, Andrew Y..Jordan于2003年提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一 ...
- LDA
2 Latent Dirichlet Allocation Introduction LDA是给文本建模的一种方法,它属于生成模型.生成模型是指该模型可以随机生成可观测的数据,LDA可以随机生成一篇由 ...
- 贝叶斯网络与LDA
一.一些概念 互信息: 两个随机变量x和Y的互信息,定义X, Y的联合分布和独立分布乘积的相对熵. 贝叶斯公式: 贝叶斯带来的思考: 给定某些样本D,在这些样本中计算某结论出现的概率,即 给定样本D ...
- [IR] Concept Search and PLSA
[Topic Model]主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis) 感觉LDA在实践中的优势其实不大,学好pLSA才是重点 阅读笔记 ...
- LDA(latent dirichlet allocation)的应用
http://www.52ml.net/1917.html 主题模型LDA(latent dirichlet allocation)的应用还是很广泛的,之前我自己在检索.图像分类.文本分类.用户评论的 ...
- 理解 LDA 主题模型
前言 gamma函数 0 整体把握LDA 1 gamma函数 beta分布 1 beta分布 2 Beta-Binomial 共轭 3 共轭先验分布 4 从beta分布推广到Dirichlet 分布 ...
- LDA(Latent Dirichlet allocation)主题模型
LDA是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系.一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成. 它是一种主题模型,它可以将文档 ...
- 文本主题抽取:用gensim训练LDA模型
得知李航老师的<统计学习方法>出了第二版,我第一时间就买了.看了这本书的目录,非常高兴,好家伙,居然把主题模型都写了,还有pagerank.一路看到了马尔科夫蒙特卡罗方法和LDA主题模型这 ...
- 主题模型LDA及在推荐系统中的应用
1 关于主题模型 使用LDA做推荐已经有一段时间了,LDA的推导过程反复看过很多遍,今天有点理顺的感觉,就先写一版. 隐含狄利克雷分布简称LDA(latent dirichlet allocation ...
随机推荐
- JavaWeb 学习001-登录页面
首先实现一个web应用的登录页面 1.遇到的问题: Servlet中 post 或者 get 方式 不能提交? 就是提交后,控制台没有反应,而且浏览器显示如图: 这样应该是不能进行页面的跳转,对这个, ...
- NSArray转json字符串
func arrayToJson(arr:NSArray) -> String { let jsonData: NSData = try! NSJSONSerialization.dataWit ...
- asp.net web api添加统一异常处理
1.自定义异常处理过滤器 /// <summary> /// 自定义异常处理过滤器 /// </summary> public class CustomExceptionFil ...
- memcached 分布式
memcached定义 memcached 是一套分布式的高速缓存系统,被广泛应用于应用系统的缓存层来提升应用程序的访问速度:memcache缺乏认证以及安全管制,这表明应将memcached服务器放 ...
- 取出Object对象里面的字段,
Type s = result.GetType(); bool f = (bool)s.GetField("Succeed").GetValue(result);//Succeed ...
- 解决jquery-ui-autocomplete选择列表被Bootstrap模态窗遮挡的问题
最近在一个ASP.NET MVC5项目中使用Bootstrap的模态窗(弹出层)来让用户填写内容,其中的一个编辑框提供了自动完成功能,用jQuery UI Autocomplete来实现. 因为我是W ...
- 初识nginx
先来一波官方站点关于nginx介绍.nginx相关历史这里不再赘述啦. nginx 是免费,开源,高性能 HTTP 服务器和反向代理服务器,也可作为IMAP/POP3代理服务器.nginx以它的高 ...
- Bash Shell字符串操作
转自:http://my.oschina.net/aiguozhe/blog/41557,并对内容作了验证修改. 1. 取长度 str="abcd" 2.查找子串的位置 貌似也只有 ...
- linux下的redis安装以及php添加redis扩展
一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...
- ubuntu linux mysql 安装 基本操作 命令
mysql --help #如果有信息证明系统已经安装了mysql mysql -V #查看版本号 netstat -tap|grep mysql #检查mysql是否在启动状态 卸载mysql: s ...