目录

1. 贝叶斯网络

2. 主题模型

2.1 主题模型的直观理解

2.2 共轭先验分布

2.3 二项分布及其共轭先验——Beta分布

2.3.1 Bete分布

2.3.2 二项分布与其先验分布

2.3.3二项分布与先验举例

2.4 共轭先验的直接推广

2.4.1 Dirichlet分布

2.4.2对称Dirichlet分布

2.5 LDA的解释

2.5.1 判别模型和生成模型

2.5.2 LDA的解释

3.LDA总结

4. LDA实现

4.1 手撕LDA

4.2 LDA的其它库实现

5.LDA应用场景

6. 附录

6.1 LDA中参数的学习

6.2超参数的确定

7. 参考文献


1. 贝叶斯网络

以随机变量做节点所形成的有向无环图。

朴素贝叶斯:

  • 可以胜任许多文本分类的问题。
  • 无法解决语料中一词多义多词一义的问题——它更像是词法分析,而非语义分析。
  • 如果使用词向量作为文档的特征,一词多义多词一义会造成计算文档间相似度的不准确性。
  • 可以通过增加“主题”的形式,一定程度的解决上述问题:

一个词可能被映射到多个主题中——一词多义

多个词可能被映射到某个主题的概率很高——多词一义

2. 主题模型

PLSA/PLSI:probabilistic latent semantic analys. 可用EM算法来算(两层的贝叶斯网络)

LSI:Latent Semantic Indexing

SVD:

LDA(Latent Dirichlet Allocation):无监督/降维/聚类(三层的贝叶斯网络)

(注意:区分LDA(Linear Discriminant Analysis)线性判别分析,有监督,有监督方式的降维)

2.1 主题模型的直观理解

2.2 共轭先验分布

2.3 二项分布及其共轭先验——Beta分布

2.3.1 Bete分布

其中,Beta分布具有两个参数αβ

注:Bete期望值和最大值点的位置不一定一样

2.3.2 二项分布与其先验分布

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

2.3.3二项分布与先验举例

2.4 共轭先验的直接推广

2.4.1 Dirichlet分布

2.4.2对称Dirichlet分布

Alpha尽量的不要太大,减少先验的占比

2.5 LDA的解释

2.5.1 判别模型和生成模型

判别模型:线性回归,逻辑回归,决策树,随机森林,SVM,CNN,CRF

生成模型:LDA(Latent Dirichlet Allocation),NB(贝叶斯网络),HMM

2.5.2 LDA的解释

LDA是一个生成模型,大概流程如下:

(1) 共有m篇文档,一共涉及K个主题;

(2) 每篇文章(长度为Nm)都有各自的主题分布,主题分布是多项分布,该多项分布的参数服从对称Dirichlet分布,该对称Dirichlet分布的参数为αk

(3) 每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从对称Dirichlet分布,该对称Dirichlet分布的参数为βk

(4) 对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。

3.LDA总结

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

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

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

4. LDA实现

4.1 手撕LDA

 

4.2 LDA的其它库实现

Genism,开源实现库等

5.LDA应用场景

1. 针对国内某石油企业的例行检查处理结果,试通过主题模型方案,分析例检结果中最突出的问题是什么?

2.聊天记录分析感兴趣话题

数据处理流程:

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

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

  • 正则表达式
  • 清洗特定词:表情,@xx
  • 使用停止词库
  • 获得csv表格数据(图2)

(3)合并相同QQ号的留言

长文档利于计算每人感兴趣话题(图3)

(4)LDA模型计算主题

调参与可视化

(5)计算每个QQ号及众人感兴趣话题

6. 附录

6.1 LDA中参数的学习

 

 

6.2超参数的确定

7. 参考文献

LDA(Latent Dirichlet allocation)相关推荐

  1. 潜在狄利克雷分配(LDA)(latent Dirichlet allocation)

    我们先理解下多项分布.狄利克雷分布.共轭先验的知识,再讲LDA的基本思想,最后简单说一下LDA和PLSA之间的区别.关于LDA的学习过程,比较复杂,就不讲了. 多项分布: 假设重复进行  次独立随机试 ...

  2. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三) 主题演 ...

  3. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二) LDA ...

  4. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一) LDA ...

  5. 潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)

    文章目录 1. 狄利克雷分布 2. 潜在狄利克雷分配模型 3. 学习推理 4. sklearn.decomposition.LatentDirichletAllocation 潜在狄利克雷分配(lat ...

  6. 隐含狄利克雷分布(Latent Dirichlet Allocation)

    隐含狄利克雷分布(Latent Dirichlet Allocation,   注意机器学习还有一个LDA,即线性判别分析(线性判别分析https://blog.csdn.net/qq_3529078 ...

  7. R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)

    文本分析:主题建模 library(tidyverse) theme_set( theme_bw()) 目标 定义主题建模 解释Latent Dirichlet以及此过程的工作原理 演示如何使用LDA ...

  8. 我对隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)的理解

    LDA应用场景 可以做文本内容提取,比如提取"穆斯林的葬礼"的主题,可能会提取出爱情主题,社会悲剧主题,比如提取"大圣归来影评"的主题,可能提取出怀旧主题,制作 ...

  9. 隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)

    https://baike.baidu.com/item/%E9%9A%90%E5%90%AB%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%8 ...

最新文章

  1. MFC的类层次结构图
  2. 关于UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa6 in position 9737: 的解决
  3. vector邻接表建图+DFS+BFS
  4. 使用vue 刷新页面后state数据被清空的问题(刷新总是跳转到登陆页面)
  5. git 安装 on centos7
  6. cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析...
  7. Hosts文件与钓鱼网站
  8. 软件开发相关书籍看这些就够了
  9. Js 把html字符串显示,js Html结构转字符串形式显示代码
  10. todotree配置
  11. 什么是USBHOST、USB Slave和USB OTG?它们之间有什么区别 USB、MiniUSB、MicroUSB
  12. 【App自动化测试】(八)三种等待方式——强制等待、隐式等待、显示等待
  13. 计算机的录像功能在哪里找,电脑自带录屏软件在哪?一键开启视频录制的方法...
  14. 背景差分运动目标检测
  15. qt 工具栏下加文字
  16. SpringCloud Feign调用报错feign.RetryableException: too many bytes written executing
  17. 关于大数据技术原理与应用的学习(3)
  18. django中bulk_create返回id的三种实现
  19. 解决C#后台返回json数据双引号转义为quot;问题
  20. EDA软件_Cadence软件使用教程视频学习笔记

热门文章

  1. Discriminant Functions
  2. Command Injection命令注入攻击
  3. [HDU P6082]度度熊与邪恶大魔王
  4. 【证明】矩阵特征值之积等于矩阵行列式的值
  5. Android 仿知乎创意广告 广告还能这么玩?
  6. java计算机毕业设计旅游分享系统源码+系统+mysql数据库+lw文档
  7. 边缘检测算子之间的优劣
  8. 理解Keil编译器中编译程序时出现的Code、RO-data、RW-data和ZI-data的含义
  9. 2016春运火车票预售时间表出炉
  10. [高数]可导和连续的关系