PLSA主题模型
主题模型
主题模型这样理解一篇文章的生成过程:
1、 确定文章的K个主题。
2、 重复选择K个主题之一,按主题-词语概率生成词语。
3、 所有词语组成文章。
这里可以看到,主题模型仅仅考虑词语的数量,不考虑词语的顺序,所以主题模型是词袋模型。
主题模型有两个关键的过程:
1、 doc -> topic
2、 topic -> word
其中topic -> word是定值,doc -> topic是随机值。这是显而易见的,对于不同的文章,它的主题不尽相同,但是对于同一个主题,它的词语概率应该是一致的。好比记者写了一篇科技新闻和一篇金融新闻,两篇新闻的主题分布必然不同,但是这两篇文章都包含数学主题,那么对于数学主题出现的词语应该大致相同。
主题模型的关键就是要计算出topic -> word过程,也就是topic-word概率分布。对于一篇新的文章,我们已知它的词语数量分布,又训练出了topic-word概率分布,则可以使用最优化方法分析出文章对应的K个最大似然主题。
PLSA
PSLA主题模型正是上述思想的直接体现,文章生成过程如下

PLSA主题模型图形化过程如下

我们考虑第m篇文档的生成过程,其中涉及1个doc-topic骰子,K个topic-word骰子。记第m篇文档为
,第m篇文章出现第z个主题的概率为
,第z个主题生成词语w的概率为
(这里
与文档有关系,
与文档没有关系)。对于某个词语的生成概率,即投掷一次doc-topic骰子与一次topic-word骰子生成词语w的概率为

于是第m篇文档的n个词语生成概率为

如果我们有M篇文档,考虑到文档之间独立,则所有词语生成的概率为M个
的乘积。
PLSA模型最优化包含两个参数求解,可以使用EM算法计算。读者有兴趣可以参考前面的文章。
参考:《LDA数学八卦》
PLSA主题模型的更多相关文章
- 主题模型(概率潜语义分析PLSA、隐含狄利克雷分布LDA)
一.pLSA模型 1.朴素贝叶斯的分析 (1)可以胜任许多文本分类问题.(2)无法解决语料中一词多义和多词一义的问题--它更像是词法分析,而非语义分析.(3)如果使用词向量作为文档的特征,一词多义和多 ...
- 【机器学习】主题模型(二):pLSA和LDA
-----pLSA概率潜在语义分析.LDA潜在狄瑞雷克模型 一.pLSA(概率潜在语义分析) pLSA: -------有过拟合问题,就是求D, Z, W pLSA由LSA发展过来,而早期L ...
- LDA( Latent Dirichlet Allocation)主题模型 学习报告
1 问题描述 LDA由Blei, David M..Ng, Andrew Y..Jordan于2003年提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一 ...
- [综] Latent Dirichlet Allocation(LDA)主题模型算法
多项分布 http://szjc.math168.com/book/ebookdetail.aspx?cateid=1&§ionid=983 二项分布和多项分布 http:// ...
- Latent Dirichlet Allocation 文本分类主题模型
文本提取特征常用的模型有:1.Bag-of-words:最原始的特征集,一个单词/分词就是一个特征.往往一个数据集就会有上万个特征:有一些简单的指标可以帮助筛选掉一些对分类没帮助的词语,例如去停词,计 ...
- 主题模型-LDA浅析
(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似 ...
- LDA主题模型
(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似 ...
- 文本主题模型之非负矩阵分解(NMF)
在文本主题模型之潜在语义索引(LSI)中,我们讲到LSI主题模型使用了奇异值分解,面临着高维度计算量太大的问题.这里我们就介绍另一种基于矩阵分解的主题模型:非负矩阵分解(NMF),它同样使用了矩阵分解 ...
- 文本主题模型之潜在语义索引(LSI)
在文本挖掘中,主题模型是比较特殊的一块,它的思想不同于我们常用的机器学习算法,因此这里我们需要专门来总结文本主题模型的算法.本文关注于潜在语义索引算法(LSI)的原理. 1. 文本主题模型的问题特点 ...
随机推荐
- kvo观察实例变量
// 手动设定KVO - (void)setAge:(NSString *)age { [self willChangeValueForKey:@"age"]; _age = ag ...
- Visual Studio 10.0设置引用HalconDotNet.dll
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u010435562/article/details/8858638 開始做Halcon的上位机.选用 ...
- FTP文件传输
FTP项目作业要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在ftp server上随意切换目 ...
- Cartographer源码阅读(1):程序入口
带着几个思考问题: (1)IMU数据的使用,如何融合,Kalman滤波? (2)图优化的具体实现,闭环检测的策略? (3)3D激光的接入和闭环策略? 1. 安装Kdevelop工具: http://b ...
- 基于nodejs的 本地文件夹http服务器:http-server
请记住,是文件夹服务器 $ npm install http-server -g $ cd /tmp && http-server 或: $ http-server /tmp
- [py][mx]django处理登录逻辑
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- syslog-ng内容讲解
一.基础syslog-ng作为syslog的替代工具,可以完全替代syslog的服务,并且通过定义规则,实现更好的过滤功能.系统自带版本: 引用 # rpm -qa|grep syslog-ngsys ...
- [LeetCode] 876. Middle of the Linked List_Easy tag: Linked List ** slow, fast pointers
Given a non-empty, singly linked list with head node head, return a middle node of linked list. If t ...
- [LeetCode] 824. Goat Latin_Easy
A sentence S is given, composed of words separated by spaces. Each word consists of lowercase and up ...
- sql server相关
sql server nolock 在sqlserver 中with(nolock)详解 所有Select加 With (NoLock)解决阻塞死锁 在查询语句中使用 NOLOCK 和 READP ...