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 ...
随机推荐
- wcf 由 http 更改为 https 返回404,没有终结点在侦听可以接受消息的
首先wcf项目在使用http时是没问题的. WCF有http更改为https之后,返回 没有终结点在侦听可以接受消息 需要修改wcf服务端及客户端 服务端更改代码 <binding maxRec ...
- 随部分div增高总的div也随着增高
实现效果: 随着尺码框选项变多,高度也就增加,上边总体的大框高度也增加,简单的样式代码如下 代码: <div style=“height: auto; overflow: hidden;”> ...
- 架设Web服务器
服务器是网站的灵魂,是打开网站的必要载体.按照体系架构来区分,服务器主要分为非X86服务器.x86服务器.非X86服务器使用RISC(精简指令集)或EPIC(并行指令代码)处理器:X86服务器又称CI ...
- net TreeView 递归
1.显示效果 2.数据insert脚本 insert into CITY(id,text,pid) values('1','城市',null)insert into CITY(id,text,pid ...
- 如何查看SharePoint未知错误的详细信息
在sharepoint 开发的时候,需要查看具体的sharepoint报错信息需要在配置文件中配置如下 通过下面方法就可以直接在出错页面查看错误信息.修改Web应用程序根目录上的Web.config文 ...
- [linux] 结构化命令-for
1 for命令 # for:迭代循环:默认空格为分隔符 for var in list do commands done 1.1 读取列表中的值 #!usr/bin/bash for test in ...
- 通过viewmodel找到view
如何通过viewmodel找到view? 之前的做法是,在view加载时(Loaded),将view保存到viewmodel中,后来想想Caliburn-Micro,自带方法可以通过viewmodel ...
- python中几个常见的“黑盒子”之 列表list
python常见的数据类型有:字符串,布尔类型,整数,浮点数,数字,日期,列表,元祖,字典.相信前面6个大家都非常的熟悉,但是对于python的列表,元祖,字典我有时候一直在想其内部的实现是怎么样子的 ...
- Hibernate简介
Hibernate是一个面向JAVA环境的对象/关系数据库映射工具,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去 ,Hibernate的目标主要是为了释放开发者通常的数据持久化相关的 ...
- Rails中的content_tag与concat用法,可以连接任意html元素
想输出如下html <% if user.present? %> <li> <a href="<%= user_info_url(user.id) %&g ...