LDA只是一个求解思路。

1.理解LDA首先要理解EM算法,EM不能叫做一个算法,只是一个思想:它要求解的其实是一个极大似然估计,就是我用已知量去求解导致这个已知量出现的最大概率,而在这里又恰恰有点偏,这个已知量是我们开始给定的这个初值,我们要去用这个已知量去求解最大,然后再用这个最大值再带入到我们这个模型中,再去求解,这样反复迭代的过程叫做EM。

例子:

我们要求这个式子的极大似然,而是我们预先给定的值,这里面有一个隐变量z,而x是我们给定的样本,隐变量z就相当于我们在求导链式法则的时候,不能直接对某一值求导数,我们要利用链式法则来求,而转换成链式法则的过程中出现的参数,就是隐变量;隐变量就是我们是知道他是多少,但不知道他的具体的值,它每次经过迭代以后的值是不一样的。

上面这个式子,可以转换为对下面这个式子求极大似然:

主要是看后面那个P值,我们对这个P值求最大,而每次求出一个z值,而求出z值以后,可以求出后面那个式子的最大值,然后又可以求出一个,再把这个带入到式子里面去算,又可以算出一个最大值,直到两次算出来的值差不多,我们就认为收敛了,这个时候就可以得到一个值,就是我们要求的值。对应到LDA里面就是我们的或者是值。

EM可以看成是E和M,E是期望,M是迭代的次数。

2.共轭分布(我的理解是一个分布会导致其他的分布变化;或者可以说是一个分布的取值,对另外一个分布的取值有影响):已知主题与文章的分布:这个主题下,观测到每个文章的概率是多少;这个是我们的先验,我们要求的就是文章与主题的分布:就是在这个文章下,观测到每个主题的概率是多少,最终求出一个值,来表示这个分布;主题和文章的分布,文章和主题的分布可以看成是一样的,因为下面这个式子中,分布变大,最后的值也变大,这就叫共轭分布,看得时候看得抽象一点,就看成一个值,把分布看成一个值。

例子:

右边等式下面是一个常数,我们可以不看,在神经网络里面,B就相当于我们的样本数据,而A就相当于权重,我们开始会给定一个初始的A,我们就知道了在A下B的分布,然后通过一系列的算法去调整B下A的分布,可以求出一个等式最左边的值,然后下次将当做,就是反复的迭代,最终得到一个P(A)。

贝叶斯:一个文档下主题是一个分布,而主题又是一个分布:就是说一个文档下的主题可能是这样的,有A1,A2,A3个主题,有可能是(0.1A1,0.1A2,0.8A3),(0.1A1,0.2A2,0.7A3)等等。主题和词也一样的原理。

最新文章

  1. openvpn配置教程
  2. git 创建远程分支和删除 master 分支
  3. 基于zepto的移动端日期+时间选择插件
  4. ubuntu访问 windows文件
  5. 20150625_Andriod_02_ListView2_多条目显示_选中
  6. IE6中奇数宽高的BUG
  7. Oracle中删除重复的经典方案
  8. RDD.scala(源码)
  9. MaskEdit组件的EditText属性和Text属性
  10. ERP实施规范化及示例——邮件沟通
  11. win10上使用Xshell通过ssh连接Linux
  12. 什么是IIS ?
  13. ES--05
  14. java 自动包装功能
  15. UDF、UDAF、UDTF函数编写
  16. s21day06 python笔记
  17. 函数和常用模块【day06】:xml模块(六)
  18. 微信公众号绑定服务器 Flask版
  19. caz,数字证书,公钥
  20. linux 内存布局以及tlb更新的一些理解

热门文章

  1. web.xml文件中context-param、listener、filter、servlet的执行顺序
  2. TempDB--临时表的缓存
  3. Asp.net MVC5 返回json数据忽略序列化属性
  4. asp.net excel导出功能
  5. pageadmin CMS网站制作教程:栏目单页内容如何修改
  6. JavaScript模块化与esl.js
  7. 如何使用socket进行java网络编程(二)
  8. Nigix配置
  9. FFMpeg的一些基础配置
  10. xgboost 和GBDT的区别