主题模型-LDA

news2025/7/24 2:49:50

目录

一.LDA的应用方向 

二.朴素贝叶斯的分析 

三.Gamma函数

四.Beta分布 

五.Beta分布的期望 

六.LDA涉及的主要问题 

1.共轭先验分布

①.二项分布的最大似然估计 

②.二项分布与先验举例

③.上述过程的理论解释

④.先验概率和后验概率的关系

⑤.伪计数 

⑥.共轭先验的直接推广

2.Dirichlet分布

①.Dirichlet分布的期望 

②.Dirichlet分布分析 

③.对称Dirichlet分布 

④.对称Dirichlet分布的参数分析

⑤.参数α对Dirichlet分布的影响 

3.LDA模型

①.LDA的解释 

②.详细解释

③.参数的学习

④.似然概率

4.Gibbs采样算法学习参数  

①.联合分布 

②.计算因子

③.词分布和主题分布 

七.代码实现

八.三个矩阵和三个向量

九.数据处理流程

十.超参数的确定

十一.一种迭代求超参数的方法 

十二.主题个数的确定 

十三.概率分布的困惑度/复杂度Perplexity 

十四.困惑度Perplexity与主题模型 

十五.PageRank 

十六.TextRank 

十七.LDA总结 


一.LDA的应用方向 

1.信息提取和搜索 
        语义分析 
2.文档分类/聚类、文章摘要、社区挖掘

3.基于内容的图像聚类、目标识别 
        以及其他计算机视觉应用 
4.生物信息数据的应用 

二.朴素贝叶斯的分析 

1.可以胜任许多文本分类问题。 
2.无法解决语料中一词多义和多词一义的问题——它更像是词法分析,而非语义分析。 
3.如果使用词向量作为文档的特征,一词多义和多词一义会造成计算文档间相似度的不准确性。 
4.可以通过增加“主题”的方式,一定程度的解决上述问题: 
        一个词可能被映射到多个主题中 
                ——一词多义 
        多个词可能被映射到某个主题的概率很高 
                ——多词一义 

三.Gamma函数

 

四.Beta分布 

 

五.Beta分布的期望 

 

 

 

六.LDA涉及的主要问题 

1.共轭先验分布

由于x为给定样本,P(x)有时被称为“证据”,仅仅是归一化因子,如果不关心P(θ|x)的具体值,只考察θ取何值时后验概率P(θ|x)最大,则可将分母省去。

在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。  

①.二项分布的最大似然估计 

投硬币试验中,进行N次独立试验,n次朝上,N-n次朝下。 
假定朝上的概率为p,使用对数似然函数作为目标函数: 

②.二项分布与先验举例

在校门口统计一定时间段内出入的男女生数目分别为NB和NG,估算该校男女生比例。若观察到4个女生和1个男生,可以得出该校女生比例是80%吗?

③.上述过程的理论解释

投掷一个非均匀硬币,可以使用参数为θ的伯努利模型,θ为硬币为正面的概率,那么结果x的分布形式为:

两点分布/二项分布的共轭先验是Beta分布,它具有两个参数α和β,Beta分布形式为  

④.先验概率和后验概率的关系

后验概率是参数为(k+α,n-k+β)的Beta分布,即:伯努利分布/二项分布的共轭先验是Beta分布。 

⑤.伪计数 

参数α、β是决定参数θ的参数,即超参数。 
在后验概率的最终表达式中,参数α、β和k、n-k一起作为参数θ的指数——后验概率的参
数为(k+α,n-k+β)。 
根据这个指数的实践意义:投币过程中,正面朝上的次数,α和β先验性的给出了在没有任何实验的前提下,硬币朝上的概率分配;因此,α和β可被称作“伪计数”。  

⑥.共轭先验的直接推广

从2到K:

        二项分布 到 多项分布

        Beta分布 到 Dirichlet分布 

2.Dirichlet分布

①.Dirichlet分布的期望 

 

②.Dirichlet分布分析 

α是参数向量,共K个

定义在x1,x2…xK-1维上

        x1+x2+…+xK-1+xK=1 
        x1,x2…xK-1>0 
        定义在(K-1)维的单纯形上,其他区域的概率密度为0 
α的取值对Dir(p|α)有什么影响?  

③.对称Dirichlet分布 

④.对称Dirichlet分布的参数分析

α=1时

        退化为均匀分布

当α>1时

        p1=p2=…=pk的概率增大

当α<1时

        pi=1,p非i=0的概率增大  

⑤.参数α对Dirichlet分布的影响 

 

多项分布的共轭分布是Dirichlet分布  

3.LDA模型

①.LDA的解释 

1.共有m篇文章,一共涉及了K个主题; 
2.每篇文章(长度为Nm)都有各自的主题分布,主题分布是多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为α; 
3.每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从Dirichlet
分布,该Dirichlet分布的参数为β; 
4.对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。 

 

②.详细解释

图中K为主题个数,M为文档总数,Nm是第m个文档的单词总数。β是每个Topic下词的多项分布的Dirichlet先验参数,α是每个文档下Topic的多项分布的Dirichlet先验参数。zmn是第m个文档中第n个词的主题,wmn是m个文档中的第n个词。两个隐含变量θ和φ分别表示第m个文档下的Topic分布和第k个Topic下词的分布,前者是k维(k为Topic总数)向量,后者是v维向量(v为词典中term总数)

③.参数的学习

给定一个文档集合,wmn是可以观察到的已知变量,α和β是根据经验给定的先验参数,其他的变量zmn、θ、φ都是未知的隐含变量,需要根据观察到的变量来学习估计的。根据LDA的图模型,可以写出所有变量的联合分布:

④.似然概率

一个词wmn初始化为一个词t的概率是

每个文档中出现主题k的概率乘以主题k下出现词t的概率,然后枚举所有主题求和得到。整个文档集合的似然函数为: 

  

4.Gibbs采样算法学习参数  

①.联合分布 

 

第一项因子是给定主题采样词的过程 

 

②.计算因子

 

 

 

③.词分布和主题分布 

 

七.代码实现

数目: 
        文档数目:M 
        词数目:V(非重复的,“term”) 
        主题数目:K 
记号: 
        用d表述第几个文档,k表示主题,w表示词汇(term),n表示词(word)  

八.三个矩阵和三个向量

z[d][w]:第d篇文档的第w个词来自哪个主题。M行,X列,X为相应文档长度:即词(可重复)的数目。

nw[w][t]:第w个词是第t个主题的次数。word-topic矩阵,列向量nw[][t]表示主题t的词频数分布;V行K列

nd[d][t]:第d篇文档中第t个主题出现的次数,doc-topic矩阵,行向量nd[d]表示文档d的主题频数分布。M行,K列。

辅助向量: 

        ntSum[t]:第t个主题在所有语料出现的次数,K维 

        ndSum[d]:第d篇文档中词的数目(可重复),M维;

        P[t]:对于当前计算的某词属于主题t的概率,K维。 

九.数据处理流程

1.获取QQ群聊天记录:txt文本格式(图1)

2.整理成“QQ号/时间/留言”的规则形式

        正则表达式 

        清洗特定词:表情、@XX 

        使用停止词库 

        获得csv表格数据(图2) 
3.合并相同QQ号的留言 
        长文档利于计算每人感兴趣话题(图3) 
4.LDA模型计算主题 
        调参与可视化 
5.计算每个QQ号及众人感兴趣话题 

十.超参数的确定

交叉验证 

α表达了不同文档间主题是否鲜明,β度量了有多少近义词能够属于同一个类别。 

主题数目K,词项数目为W,可以使用: 

        α=50/K 

        β=200/W 

        注:不一定普遍适用 

十一.一种迭代求超参数的方法 

十二.主题个数的确定 

相似度最小 

选取初始的主题个数K,训练LDA模型,计算各主题之间的相似度 

增加或减少K的值,重新训练LDA模型,再次计算topic之间的相似度 

选择相似度最小的模型所对应的K作为主题个数。

十三.概率分布的困惑度/复杂度Perplexity 

某离散概率分布p的困惑度为

 

 样本集x1,x2…xn的估计模型q的困惑度为:

十四.困惑度Perplexity与主题模型 

使用训练数据得到无监督模型,在测试数据集中计算所有token似然值几何平均数的倒数 

 

十五.PageRank 

一个网页i的重要度可以使用指向网页i的其他网页j 的重要度加权得到。 
        权值不妨取网页j包含的链接数目。  

参数的意义为: 

 

十六.TextRank 

将PageRank中的“网页”换成“词”,结论仍成立。 

        选择合适的窗口大小,认为窗口内的词相互指向。 

 

句子Si和Sj的相似度: 

 

将PageRank中“网页”换成“句子”,结论仍然基本成立,只需考虑将“链接”加权:

  

十七.LDA总结 

由于在词和文档之间加入的主题的概念,可以较好的解决一词多义和多词一义的问题。 

在实践中发现,LDA用于短文档往往效果不明显—— 这是可以解释的:因为一个词被分配给某个主题的次数和一个主题包括的词数目尚未敛。往往需要通过其他方案“连接”成长文档。  

LDA可以和其他算法相结合。首先使用LDA将长度为Ni的文档降维到K维(主题的数目),同时给出每个主题的概率(主题分布),从而可以使用if-idf继续分析或者直接作为文档的特征进入聚类或者标签传播算法— —用于社区发现等问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/368414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么品牌的游戏蓝牙耳机比较好?玩游戏延迟低的蓝牙耳机推荐

游戏耳机的出现其实最主要的作用就是让玩家能够更专注的沉浸在游戏世界内&#xff0c;在声音层面去享受游戏的沉浸感&#xff0c;游戏最重要的就是操作灵敏&#xff0c;需要快速通过声音来判断敌人走向&#xff0c;所以小编特意整理了一期玩游戏延迟低的蓝牙耳机。 一、南卡小…

python画图中的几个小技巧

主要解决pandas.DataFrame.plot及matlibplot.pyplot画图中&#xff0c;x轴太稠密及其他设置图中各个组件字体大小等问题&#xff0c;以示例展示为主。import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl pd.set_option(max_col…

扬帆优配|半天翻倍,“蹭热点”翻车,前期“牛股”已近腰斩

周五上午&#xff0c;A股商场整体走低&#xff0c;多数职业板块和个股跌落&#xff0c;军工和核算机等板块逆势上涨&#xff0c;北向资金半天净卖出额约38亿元。 个股方面&#xff0c;昨夜公告被证监会立案查询的奥联电子股价再度大跌&#xff0c;盘中最贱价较近期高位已腰斩。…

174万亿采购,奔向数字化

采购不单纯发生在外部&#xff0c;更发生在内部&#xff0c;只有两者同时进行&#xff0c;才能完成采购中心从成本到利润中心角色的转变。 作者|斗斗 编辑|皮爷 出品|产业家 数字化&#xff0c;让很多企业业务流程发生了质变。 《2022数字化采购发展报告》显示&#x…

怎么从零开始学黑客,黑客零基础怎么自学

很多朋友对成为黑客很感兴趣&#xff0c;很大原因是因为看到电影中黑客的情节觉的特别的酷&#xff0c;看到他们动动手指就能进入任何系统&#xff0c;还有很多走上黑客之路的朋友仅仅是因为自己的qq被盗了&#xff0c;或者游戏里的装备被别人偷了&#xff0c;想要自己盗回来&a…

第十二章 - 条件判断(case when 和 if)和视图

第十二章 - 条件判断&#xff08;case when 和 if&#xff09;&#xff0c;和视图&#xff08;view&#xff09;if 的用法case when 的用法视图&#xff08;view&#xff09;的用法if 的用法 通过使用if函数可以实现数据二分类或者多分类的功能&#xff0c;比如按年龄区分青年…

资源限制类题目七大技巧 解决所有大数据资源限制类问题

有一个无符号整数的文件&#xff0c;数据个数有40亿个&#xff0c;如何通过1G的内存返回出现次数最多的数 1. 对每个数调用哈希函数得到哈希值&#xff0c;将哈希值模上100&#xff0c;进行小文件分类&#xff08;相同的数一定在同一文件&#xff09; 2. 将每个小文件内出现次…

前向传播与反向传播参数的更新方式(附公式代码)

前向传播与反向传播意义及其参数的更新方式 文章目录前向传播与反向传播意义及其参数的更新方式一、前言二、前反向传播的作用三、前向传播四、反向传播代码一、前言 因为本身非科班出身&#xff0c;数学又学的很差&#xff0c;一直都是傻瓜式地用tensorflow和pytorch搭网络。…

「RISC-V Arch」SBI 规范解读(下)

第六章 定时器扩展&#xff08;EID #0x54494D45"TIME"&#xff09; 这个定时器扩展取代了遗留定时器扩展&#xff08;EID #0x00&#xff09;&#xff0c;并遵循 v0.2 中定义的调用规约。 6.1 函数&#xff1a;设置定时器&#xff08;FID #0&#xff09; struct sbi…

同花顺面试(部分)

又没录上&#xff0c;只能凭零星记忆来记录了 知识图谱有了解吗&#xff0c;知道用在你们系统哪个环节吗tomcat内存设置的多大。32位系统的话有限制吗&#xff1f;复盘&#xff1a;后面一想&#xff0c;可能是说32位系统地址寻址空间有限&#xff0c;内存最多4Ggprc你们用的序…

消息队列--Kafka

Kafka简介集群部署配置Kafka测试Kafka1.Kafka简介 数据缓冲队列。同时提高了可扩展性。具有峰值处理能力&#xff0c;使用消息队列能够使关键组件顶住突发的访问压力&#xff0c;而不会因为突发的超负荷的请求而完全崩溃。 Kafka是一个分布式、支持分区的&#xff08;partition…

C/C++开发,无可避免的内存管理(篇一)-内存那些事

一、内存管理机制 任何编程语言在访问和操作内存时都会涉及大量的计算工作。但相对其他语言&#xff0c;c/c开发者必须自行采取措施确保所访问的内存是有效的&#xff0c;并且与实际物理存储相对应&#xff0c;以确保正在执行的任务不会访问不应该访问的内存位置。C/C语言及编译…

【Java】volatile

一、volatile volatile是Java虚拟机提供的轻量级的同步机制&#xff0c;它有&#xff13;个特性&#xff1a; &#xff11;&#xff09;保证可见性 &#xff12;&#xff09;不保证原子性 &#xff13;&#xff09;禁止指令重排 当写一个volatile变量时&#xff0c;JMM会把该…

openEuler部署Ceph集群(块存储)

openEuler部署Ceph集群1 目标2 环境2.1 服务器信息2.2 软件信息3 部署流程3.1 获取系统镜像3.2 创建虚拟机3.3 配置虚拟机3.3.1 配置互信3.3.2 关闭防火墙3.3.3 配置免密登录3.3.4 配置NTP3.3.4.1 安装NTP服务3.3.4.2 配置NTP服务端3.3.4.3 配置NTP客户端3.3.4.4 启动NTP服务3.…

pyqt5通过CANoe COM Server来操作CANoe仿真工程

文章目录前言一、COM接口技术二、UI界面设计三、功能实现四、工程运行测试前言 继续学习《CANoe开发从入门到精通》。 今天在《CANoe仿真工程开发》的基础上&#xff0c;开发实现pyqt5应用程序来操控CANoe工程。 一、COM接口技术 COM&#xff08;Component Object Model&…

Linux基础命令-find搜索文件位置

文章目录 find 命令介绍 语法格式 命令基本参数 参考实例 1&#xff09;在root/data目录下搜索*.txt的文件名 2&#xff09;搜索一天以内最后修改时间的文件&#xff1b;并将文件删除 3&#xff09;搜索777权限的文件 4&#xff09;搜索一天之前变动的文件复制到test…

不懂什么是智慧工厂,看这篇文章就够了!

一、智慧工厂是什么&#xff1f; 一直以来&#xff0c;自动化在某种程度上始终是工厂的一部分&#xff0c;甚至高水平的自动化也非新生事物。然而&#xff0c;“自动化”一词通常表示单一且独立的任务或流程的执行。过去&#xff0c;机器自行“决策”的情况往往是以自动化为基…

【基础篇】9 # 排序:冒泡排序(Bubble Sort)、插入排序(Insertion Sort)、选择排序(Selection Sort)

说明 【数据结构与算法之美】专栏学习笔记 如何分析一个排序算法&#xff1f; 1、排序算法的执行效率 最好情况、最坏情况、平均情况时间复杂度时间复杂度的系数、常数 、低阶比较次数和交换&#xff08;或移动&#xff09;次数 2、排序算法的内存消耗 3、排序算法的稳定…

Fabric.js使用说明Part 2

目录一、Fabric.js使用说明Part 1Fabric.js简介 开始方法事件canvas常用属性对象属性图层层级操作复制和粘贴二、Fabric.js使用说明Part 2锁定拖拽和缩放画布分组动画图像滤镜渐变右键菜单删除三、Fabric.js使用说明Part 3自由绘画绘制背景图片绘制文本绘制线和路径一、锁定Fab…

传统豪华品牌引领?智能座舱进入「沉浸式娱乐体验」新周期

智能座舱正在进入硬件定型、软件&#xff08;功能&#xff09;升级以及多应用融合的新周期。 高工智能汽车研究院监测数据显示&#xff0c;2022年中国市场&#xff08;不含进出口&#xff09;乘用车搭载智能数字座舱&#xff08;大屏语音车联网OTA&#xff09;前装标配交付795…