LDA总结 (一) 共轭分布
今天开始,复习一下 LDA ,记录一些 LDA 的关键步骤,为写好论文做铺垫。第一节的主题是共轭分布,回忆贝叶斯公式:
\[p(\theta|X) = \frac{p(\theta) \cdot p(X|\theta) }{p(X)} \Leftrightarrow \mathbf{ posterior = \frac{prior \cdot likelihood}{evidence}}\]
简单来说,如果先验分布 $p(\theta)$ 和似然函数 $p(X|\theta)$ 可以使得先验 $p(\theta)$ 和后验分布 $p(\theta|X)$ 有相同的形式,那么就称先验分布与似然函数是共轭分布。
共轭的意义在于是共轭特性可以使得先验分布和后验分布的形式相同,这样一方面合符人的直观(它们应该是相同形式的)另外一方面是可以形成一个先验链,即现在的后验分布可以作为下一次计算的先验分布,如果形式相同,就可以形成一个链条,后验又可以作为下一次的先验分布。
Binomial 分布
n 次 Binomial 分布试验中事件发生 k 次的概率是:
\[ P(k;n,p) = C_n^k \cdot p^k (1-p)^{n-k} \]
Beta分布
Beta 分布有几个重要的概念,纷纷介绍之:
1. Gamma 函数
\[\Gamma(x) = \int_0^{\infty}t^{x-1}e^{-t}dt\]
它具有如下性质
\[\Gamma(x+1) = x\Gamma(x)\]
2. Beta函数
\[B(m,n) = \frac{\Gamma(m)\Gamma(n)}{\Gamma(m+n)}\]
综上,给出 Beta 分布:
\[f(x) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}x^{\alpha -1}(1-x)^{\beta -1}\]
Multinomial 分布
\[p( \vec n |\vec p ,N) = \frac{N!}{ n_1!n_2!...n_K!} \prod_{k= 1}^K p_k^{n_k}\]
这里有 $n _k$ 代表第 k 个事件发生的计数,且有 $N = n_1 + n_2+…+n_K$.
Dirichlet分布
\[Dir(\vec p|\vec \alpha)=\frac{\Gamma(\sum_{k=1}^K\alpha_k)}{\prod_{k=1}^K\Gamma(\alpha_k)}\prod_{k=1}^Kp_k^{\alpha_k -1}\]
Beta分布和Dirichlet分布的性质
共轭性质
- 当先验为 Beta ,似然为 Binomial分布时,后验仍然为 Beta ,但是这里的 Beta 是融入了 Binomial分布的计数的;
- 当先验为 Dirichlet,似然为 Multinomial 分布时,后验仍然为 Dirichlet,但是这里的 Dirichlet是融入了 Multinomial 分布的计数的.
举例来说,Multinomial 分布中事件 k 发生的次数为 $n_k$ ,则可得一个向量 $ \ vec n $, 代表每个事件的计数,直接使用 Multinomial 的 MLE 得到的结果为:
\[p_k = \frac{n_k}{n_1+n_2+ … +n_K }\]
当对该 Multinomial 分布引入一个 先验为 $\vec {alpha} $ 的 Dirichlet 分布后,即:
\[ p(\vec p) \sim Dir( \vec p| \vec a)\]
采用完全贝叶斯推断的方法,得到该 Dirichlet 分布的后验分布为:
\[Dir(\vec p | \vec a) + Multi(\vec n)= Dir(\vec p | \vec a + \vec n)\]
期望性质
如果 $p \sim Beta(t|\alpha,\beta)$ ,则
\begin{align}E(p)&=\int_0^1 t*Beta(t|\alpha,\beta)dt\\&=\int_0^1 t*\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)} t^{\alpha-1}(1-t)^{\beta -1}dt\\&=\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}\int_0^1 t^\alpha(1-t)^{\beta -1}dt\end{align}
上式右边的积分对应到概率分布 $Beta(t|\alpha +1,\beta)$
\[Beta(t | \alpha +1,\beta)=\int_0^1 t*\frac{\Gamma(\alpha + \beta +1 )}{\Gamma(\alpha +1)\Gamma(\beta)} t^\alpha(1-t)^{\beta -1}dt\]
而且我们有
\[\int_0^1Beta(t|\alpha +1,\beta)dt=1\]
所以我们有
\[\int_0^1 t^\alpha(1-t)^{\beta -1}dt=\frac{\Gamma(\alpha+1)\Gamma(\beta)}{\Gamma(\alpha+\beta+1)}\]
把上式带入E(p) 中得到 Beta 分布的期望:
\[E(p)=\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}\cdot\frac{\Gamma(\alpha+1)\Gamma(\beta)}{\Gamma(\alpha+\beta+1)}=\frac{\alpha}{\alpha + \beta}\]
同样的,对于Dirichlet分布我们可以得到其期望值:
\[E(\vec p)=(\frac{\alpha_1}{\sum_{i=1}{K}\alpha_i},\frac{\alpha_2}{\sum_{i=1}{K}\alpha_i},...,\frac{\alpha_K}{\sum_{i=1}{K}\alpha_i})\]
LDA总结 (一) 共轭分布的更多相关文章
- LDA学习之beta分布和Dirichlet分布
---恢复内容开始--- 今天学习LDA主题模型,看到Beta分布和Dirichlet分布一脸的茫然,这俩玩意怎么来的,再网上查阅了很多资料,当做读书笔记记下来: 先来几个名词: 共轭先验: 在贝叶斯 ...
- 【联系】—— Beta 分布与二项分布、共轭分布
1. 伯努利分布与二项分布 伯努利分布:Bern(x|μ)=μx(1−μ)1−x,随机变量 x 取值为 0,1,μ 表示取值为 1 的概率: 二项分布:Bin(m|N,μ)=(Nm)μm(1−μ)N− ...
- SK-Learn使用NMF(非负矩阵分解)和LDA(隐含狄利克雷分布)进行话题抽取
英文链接:http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf_lda.html 这 ...
- LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?
本文参考自:https://www.zhihu.com/question/21692336/answer/19387415 方法一: alpha 是 选择为 50/ k, 其中k是你选择的topi ...
- 主题模型(概率潜语义分析PLSA、隐含狄利克雷分布LDA)
一.pLSA模型 1.朴素贝叶斯的分析 (1)可以胜任许多文本分类问题.(2)无法解决语料中一词多义和多词一义的问题--它更像是词法分析,而非语义分析.(3)如果使用词向量作为文档的特征,一词多义和多 ...
- 伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用
在看LDA的时候,遇到的数学公式分布有些多,因此在这里总结一下思路. 一.伯努利试验.伯努利过程与伯努利分布 先说一下什么是伯努利试验: 维基百科伯努利试验中: 伯努利试验(Bernoulli tri ...
- 线性判别分析LDA原理总结
在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...
- LDA( Latent Dirichlet Allocation)主题模型 学习报告
1 问题描述 LDA由Blei, David M..Ng, Andrew Y..Jordan于2003年提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一 ...
- 文本主题模型之LDA(一) LDA基础
文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 在前面我们讲到了基于矩阵分解的 ...
随机推荐
- ReactNative如何在JS中引用原生自定义控件(rn变化太快,网上很多教程有坑,这个我研究后可用,特意分享)
直接写一个Demo例子,有相关功底的肯定明白,会对特别的地方进行提醒,本文基于https://blog.csdn.net/lintcgirl/article/details/53489490,但是按此 ...
- win7下Google谷歌浏览器上传下载卡死无响应
问题背景:win7,谷歌浏览器上传选择图片之后,页面卡死无响应. 以前解决过类似问题就是input type="file"的accept属性当为通配符时,会出现这种情况,改为具体的 ...
- springboot项目logback配置文件示例
logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuratio ...
- mysqlpump 和 mysql_config_editor测试
The mysql_config_editor utility enables you to store authentication credentials in an obfuscated log ...
- 开源自己写的Library到github,让别人或自己的项目依赖
对于不会git命令的自己,要上传项目或libary,看了本文,傻瓜式操作,绝壁简单! 新建一个空白工程 File-->New-->New module-->Android Libra ...
- OpenCV自带dnn的Example研究(4)— openpose
这个博客系列,简单来说,今天我们就是要研究 https://docs.opencv.org/master/examples.html下的 6个文件,看看在最新的OpenCV中,它们是如何发挥作用的. ...
- C#批量删除注释与空行
代码发布时候有的时候需要删除代码注释与空行..方法如下 1.删除注释 方法: 第一步:打开vs2010,使用Ctrl+H快捷键,打开查询替换窗口 第二步:在‘查找选项’中,勾选‘使用’‘正则表达式’ ...
- Atitit.如何文章写好 论文 文章 如何写好论文 技术博客 v4
Atitit.如何文章写好 论文 文章 如何写好论文 技术博客 1. 原则 2 1.1. 有深度, 有广度 2 1.2. 业务通用性有通用性 尽可能向上抽象一俩层..业务通用性与语言通用性. 2 ...
- js快速排序算法
真正的快速排序算法一: function quickSort(array){ function sort(prev, numsize){ var nonius = prev; var j = nums ...
- 转载记录一个有效的jetbrains激活码
来自:https://blog.csdn.net/ahun535915415/article/details/80687762 K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDS ...