非常同意学东西,先学复杂,然后逐步简化的方式。
LDA模型学习系统的学习有一些时间了,闭上眼睛细想一下,似乎能够理解为什么有前辈们说LDA是一个比较简单的学习模型了。up一个学习笔记,记录一下自己在学习完了之后,对LDA各个步骤涉及的数学基础。
一、LDA算法主线
如果想要快速入门+70%理解的话,个人感觉看这一节就好了。本节不会像其他博客那样,从unigram、plsa巴拉巴拉一长串“前菜”开始,显得就不够通俗了,并且还没看到真正LDA相关的知识,耐心就磨完了。要了,开扯。
1、在LDA、PLSA这些topic model中,注意几点假设:

  • 独立性假设:语料中的每篇文档、每篇文档中的每个词都是独立的
  • 多项式分布和Dirichlet分布:每个词的出现符合多项式分布,多项式分布的参数的先验分布是Dirichlet分布
    正是基于上面两个假设,可以看出这些topic model都是基于词袋的,词的顺序什么的对文章并没有影响。

2、文本建模
文章中的词的出现符合多项式分布,那么文档的建模公式为:
(1)
如果,考虑每篇文档的主题分布,根据LDA定义,引入每篇文章主题多项式分布的先验Dirichlet分布(参数为α)、词多项式分布的先验分布(参数为β),则文档的建模公式为:
(2)
式中,前后两个子部分相互独立,可以分别处理:

(3)
公式(3)中,有几点需要注意,以左边的为例:
1)外面要取积分(离散分布的话用累加),表示求生成词的条件概率,要考虑每一个主题先验参数,这个事或的关系,所以在连续随机变量时用积分,离散型随机本用累加和;

2)公式中有一个黑色下划线,很多blog里,都是直接给出了它下面那一步的结果,讲道理,这样很不好,很容易导致歧义。
我们可以试着直接看倒数第二步,两个连乘符号,乍一眼,感觉要乘以K*N次(注意,我没有用V,因为V是词典集数量,已经去重,N表示去重之前的单词数)。我刚开始看的时候,就是这么理解的,但是怎么也想不通。因为如果是要考虑,在每个不同主题下词序列出现的概率,那么第一个关于K的连乘就应该改成累加。但是这样说不过去,因为回归到p(w|z,β)这个概率的初衷,还有联系rickjin在blog中的博客介绍:

其实,这个时候,我们在得到这一堆词的主题向量w的时候,剩下的工作就是去查前面投骰子的时候,对于这堆词w中的每个词w_i都分别指定了哪个主题,然后用一个类似于“查表”的过程得到它的出现概率。所以,根据论文【1】中的描述,有了下划线出的哪个中间公式,说的很清楚啊,{i, zi=k}这个集合,精髓啊,这个时候在得到倒数第二步,就非常直观了对不对!

3)倒数第二部得到倒数最后一步,去掉了积分符号,是因为用到了一个性质:
(4)
我在公式(3)中用括号分别括起来,△(α)、△(β)和积分无关,可以移到积分符号外面,所以就得到最后的等式。

至此,我们就得到了文档(用词向量表示)和主题的完全数据条件概率分布:
(5)

有了这个完全数据条件概率分布,那么,我们就可以借助Gibbs采样算法,来对每个词w_i来更新它的主题(隐含变量,EM算法什么的这个时用起来了,这里介绍吉布斯采样),更新过程公式如下:
(6)

公式(6)中,有几点需要注意:
1)公式出来第一步,可以联想:p(A|BC)=p(ABC)/p(AB),分母中去掉了A就好了;
2)得到①的分母,我们要注意w={wi, w_-i},上面的z也一样
3)得到②,吸取了上面公式(3)在推导过程中的结果,在明确主题 z和文档m的时候,外面的连乘符号需要去掉;
4)得到公式③就是把Dirichlet中的△展开来,△定义如下:
(7)
顺便把Dirichlet分布也给出来了。
5)得到④用到了伽马函数的性质:

6)得到⑤,是因为在④中第二个式子的分母和是一个常数,和主题的条件概率无关,可以不考虑

这个每个词的主题迭代更新过程,用到了马氏链的平稳分布性质(这点很关键,第二节将会重点介绍我在看rickjin的blog时关于这个的一些领悟)。当各词的主题分布平稳之后,我们根据求得到的分布(每篇文档中每个词的主题概率),就可以求得每篇文章的主题分布θ、和主题下的词分布φ:
(8)
可以看出这两个后验分布和对应的先验分布一样,仍然为Dirichlet分布,这也是共轭分布的性质决定的。使用Dirichlet分布的期望计算公式,得到:
(9)

二、Gibbs 采样及马氏链平稳性质
待续…

参考文献:
本博客只是一篇读书笔记性质的,参考了较多其它前辈大牛、相关论文的成果,秉着分享知识的初衷,无意侵权。
- 概率语言模型及其变形系列(2)-LDA及Gibbs Sampling
- LDA-math-LDA 文本建模
- Gregor Heinrich. Parameter estimation for text analysis. Technical report, 2004

嗯哼是个nlper酱--LDA学习笔记相关推荐

  1. (转载)机器学习知识点(二十九)LDA入门级学习笔记

    入门级学习笔记 1.1文本建模相关 统计文本建模的目的其实很简单:就是估算一组参数,这组参数使得整个语料库出现的概率最大.这是很简单的极大似然的思想了,就是认为观测到的样本的概率是最大的. 建模的目标 ...

  2. 影像组学视频学习笔记(43)-标准差、标准误及95%置信区间CI、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/f09d0f97592f 来源:简书,已获授权转载 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(43)主要 ...

  3. 影像组学视频学习笔记(42)-影像组学特征提取问题解决过程复现、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/c3e6de2f79b3 来源:简书,已获转载授权 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(42)主要 ...

  4. 影像组学视频学习笔记(41)-如何使用软件提取组学特征、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/72186eb3e395 来源:简书,已获授权转载 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(41)主要 ...

  5. 影像组学视频学习笔记(37)-机器学习模型判断脑卒中发病时间(文献报告)、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/3e7a2c84288e 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...

  6. 影像组学视频学习笔记(23)-主成分析PCA、降维和特征筛选的区别、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(23)主要讲解: 主成分析PCA,影像组学降维和特征筛选的区别 0. PCA(Principal component analysis) ...

  7. 影像组学视频学习笔记(34)-使用3D Slicer软件提取影像组学特征、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/afcd06221ea4 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...

  8. 影像组学视频学习笔记[44(End)]-带95%置信区间的折线图、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/971eeaa03ec9 来源:简书,已获授权转载 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(44)主要 ...

  9. 影像组学视频学习笔记(35)-基于2D超声影像的影像组学特征提取、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/f82d30289d68 来源:简书,已获转载授权 RadiomicsWorld.com "影像组学世界" ...

最新文章

  1. 使用NPOI操作Excel
  2. 第九周项目实践2 二叉树遍历的递归算法
  3. 备战“双11”,阿里云为企业提供一站式资源保障服务
  4. ntfs分配单元大小怎么选_星月菩提尺寸大小怎么选
  5. [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定...
  6. java jdbc(mysql)驱动源码分析_JAVA JDBC(MySQL)驱动源码分析(二)
  7. (None resource)-Binary system
  8. 如何为 SQL Server 2000 分发和安装 SQL-DMO(引用)
  9. 东哥读书小记 之 《MacTalk人生元编程》
  10. tomcat xjar 加密_XJar Spring Boot JAR 安全加密运行工具
  11. 【JVM】JVM客户端 server模式 client 模式
  12. SVN部署与简单使用
  13. 关于数据库查询中的几种连接
  14. 最速下降法python_算法最优化之最速下降法
  15. qq同步android 2.2,支持手机号注册!Android QQ同步助手2.1发布
  16. 怎样免费将Word导出为PDF格式?
  17. prop 单向数据流
  18. JAVA高级视频_IO输入与输出_第一部分(System、Runtime、Date、Calendar、MathRandom、IO输入输出与概述、文件的续写、FileReader、复制文件、)...
  19. android 设备指纹,浅谈Android 指纹解锁技术
  20. 2021年C证(安全员)复审模拟考试及C证(安全员)作业模拟考试

热门文章

  1. java猜拳程序_java用循环方式实现和计算机玩猜拳的程序
  2. WebSphere控制台SSL安全证书错误的解决方法
  3. Android应用开发-小巫CSDN博客客户端UI篇,成功从小公司跳槽
  4. 25K测试老鸟5年经验的面试心得,四种公司、四种问题…
  5. 《算法零基础100讲》(第41讲) C语言 排序 API (qosrt)【学习总结】
  6. 带你认识 flask 粉丝
  7. 基于Vue的在线购物系统的设计与实现(论文+源码)_kaic
  8. Electron使用Dexie操作IndexDB
  9. python发微信提醒天气冷了注意保暖_2019天气变冷的朋友圈说说 注意保暖的微信问候语...
  10. 牛逼,我用Python实现哈哈镜捉弄女友,女友气的拉黑了我