主题模型(LDA)(二)-公式推导
来源:互联网 发布:ipad老是无法加入网络 编辑:程序博客网 时间:2024/06/05 19:37
上一篇文章讲解了LDA的通俗理解,基本没有用任何公式,还给了用gensim做邮件分类的案例,详情请戳:主题模型(LDA)(一)
这篇文章看一下公式式怎么推导出来的。
正经的LDA,主要有以下几个方面:
- 一个函数:gamma函数
- 四个分布:二项分布,多项分布,beta分布,狄利克雷分布
- 一个概念一个理念:共轭先验与贝叶斯框架
- pLSA,LDA
- 一个采样:Gibbs采样
我们来看一下它是怎么推导出来的。
共轭先验与共轭分布
假定似然函数
举个例子就是
gamma函数
对于整数而言:
二项分布
二项分布是由n个独立的是、非重复实验中成功次数的离散概率分布其中每次成功的概率为p,相当于你去求婚,每次求婚都有两种结果,成功或失败,如果求婚一次,则称为伯努利分布,如果求婚n次的话(有点略倒霉呀!),则称为二项分布,记为:X ~ B(n,p),它的概率密度函数为:
分布如图
多项式分布(multinomial distribution)
多项式就是二项分布在高维情况下的推广,把求婚的例子改成抛骰子就OK了。
如果用骰子的例子,k=6,
beta分布
beta是指一组定义在(0,1)之间的连续概率分布,记为X~Be(
它的概率密度函数和累积分布函数为:
狄利克雷分布
事实上,它是Beta函数在高维空间上的推广,
其中:
对于三维的情况下,将它的概率密度函数取对数,绘制它的分布图像如下:
上图中,取K=3,也就是有两个独立参数x1,x2,分别对应图中的两个坐标轴,第三个参数始终满足x3=1-x1-x2且α1=α2=α3=α,图中反映的是参数α从α=(0.3, 0.3, 0.3)变化到(2.0, 2.0, 2.0)时的概率对数值的变化情况。
几个主题模型
生成模型
unigram model
对于已经分好词的文档
Mixture of unigrams model
这个模型的生成过程是先给某个文档生成主题,再根据主题生成文档,该文档中的每个词都来源于同一主题。
举个例子,假如有k个主题:
它的含义就是这篇文档属于某一主题
与上一个模型相比,这个模型的主要改进是使用了Topic作为中间量。
这两个模型被我们称之为生成模型,扮演的角色相当于前面的似然函数likelihood.
PLSA
假设有三个主题,分别为教育,经济,交通,PLSA就像扔骰子一样,第一次得到文档到主题的概率分布:
我们用公式表示出来就是:根据
LDA
LDA其实就是在PLSA上加了一层贝叶斯框架,为了更好的理解LDA,我们把LDA和PLSA比较一下:
对于PLSA:
- 按照概率
p(di) 选择一篇文档di - 选定文档
di 之后,确定该文档的主题; - 从主题分布中按照概率
p(zk|di) 选择隐含的主题的类别zk ; - 选择主题后,确定该主题下词分布
- 从词分布中按照概率
p(wj|zk) 选择一个词wj
对于LDA:
- 按照先验概率
p(di) 选择一篇文档di - 从狄利克雷分布
α 中取样生成文档di 的主题分布θi ,也就是主题分布θi 由超参数为α 的狄利克雷分布构成 - 从主题的多项式分布
θi 取样生成文档di 的第j 个词的主题zi,j - 从狄利克雷分布
β 中取样生成主题zi,j 对应的词语分布ϕzi,j ,也就是说词语分布由参数为β 的狄利克雷分布生成 - 从词语的多项式分布
ϕzi,j 采样最终生成词语wi,j
用一分钟解释就是LDA把PLSA中按照固定概率取的参数都换成了某一固定的概率分布,它们的本质区别是估计未知参数所采用的思想不同,PLSA采用的是频率派的思维:参数
第一版
2017.12.6
参考
七月算法课课件
通俗理解LDA主题模型
- 主题模型(LDA)(二)-公式推导
- 概率主题模型与LDA模型公式推导(1)
- LDA(LDA文档主题生成模型)
- 【LDA】LDA主题模型
- 【机器学习】主题模型(二):pLSA和LDA
- 主题模型TopicModel:LDA参数推导、选择及注意事项
- LDA主题模型参数推导-dirichlet-multinomial model posterior
- LDA主题模型学习笔记3.5:变分参数推导
- LDA(主题模型)简介
- 线性模型(二)-- 线性回归公式推导
- LDA Gibbs Sampling公式推导
- PLSA隐变量主题模型的公式推导解惑
- 浅谈LDA主题模型(一)
- 深入浅出讲解LDA主题模型(一)
- 通俗理解LDA主题模型(转)
- LDA主题模型简介
- LDA主题模型简介
- LDA主题模型简介
- 第14周 项目1-1
- 适配器模式
- jqWEUI的select组件加载后端数据为items
- Java基础——从键盘(控制台)输入字符串(数据)的几种方式详解
- eclipse tomcat add and remove工程异常
- 主题模型(LDA)(二)-公式推导
- python dota2数据 3 下载胜负数据
- poj1163
- AC自动机
- upstream timed out (110: Conn ection timed out)
- C++ Primer Plus 编程练习 3.7.4
- 欢迎使用CSDN-markdown编辑器
- 最全的Vue学习资料
- maven