LDA主题模型学习笔记2:求解隐变量和模型参数(EM思想)
来源:互联网 发布:酷家乐在线设计软件 编辑:程序博客网 时间:2024/06/07 12:23
上一篇《LDA主题模型学习笔记1:模型建立》中,我们已经对一个文档集的生成过程建立了三层的LDA主题模型,模型参数是
原始论文《Latent Dirichlet Allocation》中,作者使用EM算法来估计参数,只是由于模型本身有些复杂,在E-step求解隐变量期望时使用了变分推断,并找到log似然函数的tightest lower bound代替log似然函数,在M-step中用拉格朗日乘数法求解参数
由于原始论文中写作顺序是自下而上的,而笔者习惯于自上而下的思路,所以刚开始看变分推断的时候一头雾水,沉迷于细节中无法自拔,在后面看到EM算法时颇有“柳暗花明又一村”之感,而在经典神书PRML中重新温习了EM算法(见《EM算法学习笔记》)之后,才算是理解了作者求解参数的思路。所以要搞清参数求解过程,私以为需要先梳理好这里面的EM思想。
有文档集
所以我们的目标是,找到一个主题模型,它生成我们所观测到的word分布的概率最大,这样就成了一个最大似然问题,log似然函数如下:
我们希望找到合适的
E-step
首先我们要求隐变量
不幸的是,这个后验概率很难计算出来,因为在
可以看出,
所以作者考虑变分推断的方法。简化原先的LDA模型,找一个与原来不能直接求解的后验概率等价或近似的分布q,这个q要好解,一般比较简单粗暴的方法就是直接假设q中
对原模型去掉
模型图:
从模型中可以得出
新分布中引入了两个变分参数:Dirichlet参数
这里引入了两个分布之间的KL Divergence来度量两个分布(p,q)的相似度。
然后用变分推断算法迭代得到最优的变分参数
并且在用变分推断求解上述优化问题时,作者还通过使用Jensen不等式,找到了原log似然函数
具体步骤见《LDA学习笔记3:变分推断算法》
M-step
这一步,我们根据E-step求出来的
具体步骤见《LDA学习笔记4:求解模型参数》
主要参考资料《Latent Dirichlet Allocation》
- LDA主题模型学习笔记2:求解隐变量和模型参数(EM思想)
- LDA主题模型学习笔记4:求解模型参数(M-step)
- LDA主题模型学习笔记
- LDA主题模型学习笔记3.5:变分参数推导
- 王小草【机器学习】笔记--主题模型LDA
- 【机器学习】主题模型(二):pLSA和LDA
- LDA主题模型学习笔记1:模型建立
- LDA 隐含主题模型学习
- 【LDA】LDA主题模型
- 概率主题模型简介,LDA基本思想
- LDA模型学习笔记
- 《机器学习》学习笔记九 主题模型之LDA
- LDA(主题模型)简介
- LDA(LDA文档主题生成模型)
- LDA主题模型学习笔记5:C源码理解
- 王小草【机器学习】笔记--主题模型LDA实践与应用
- LDA主题模型和Gibbs Sampling 学习整理
- 机器学习25-主题模型LDA(一)
- MATLAB在同一个图中绘制多条曲线(直角坐标和极坐标)
- 数据结构:查找
- LUA5.2版本中提供的位运算
- 优化UITableViewCell高度计算的那些事
- java.sql.SQLException: Parameter index out of range (0 < 1 )
- LDA主题模型学习笔记2:求解隐变量和模型参数(EM思想)
- Android 自己实现 NavigationView [Design Support Library(1)]
- js初步(一)
- The Tomcat server configuration at \Servers\Tomcat v5.5 Server at localhost-config is missing
- IT痴汉的工作现状35-不要让你擅长的技术限制了你
- 类的内部是否应该直接访问实例变量
- elect into from和insert into select from两种表复制语句区别
- Android 中的几个常用控件
- HttpContext.Session==null 解决办法