今天开始,复习一下 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总结 (一) 共轭分布的更多相关文章

  1. LDA学习之beta分布和Dirichlet分布

    ---恢复内容开始--- 今天学习LDA主题模型,看到Beta分布和Dirichlet分布一脸的茫然,这俩玩意怎么来的,再网上查阅了很多资料,当做读书笔记记下来: 先来几个名词: 共轭先验: 在贝叶斯 ...

  2. 【联系】—— Beta 分布与二项分布、共轭分布

    1. 伯努利分布与二项分布 伯努利分布:Bern(x|μ)=μx(1−μ)1−x,随机变量 x 取值为 0,1,μ 表示取值为 1 的概率: 二项分布:Bin(m|N,μ)=(Nm)μm(1−μ)N− ...

  3. SK-Learn使用NMF(非负矩阵分解)和LDA(隐含狄利克雷分布)进行话题抽取

    英文链接:http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf_lda.html 这 ...

  4. LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?

    本文参考自:https://www.zhihu.com/question/21692336/answer/19387415   方法一: alpha 是 选择为 50/ k, 其中k是你选择的topi ...

  5. 主题模型(概率潜语义分析PLSA、隐含狄利克雷分布LDA)

    一.pLSA模型 1.朴素贝叶斯的分析 (1)可以胜任许多文本分类问题.(2)无法解决语料中一词多义和多词一义的问题--它更像是词法分析,而非语义分析.(3)如果使用词向量作为文档的特征,一词多义和多 ...

  6. 伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用

    在看LDA的时候,遇到的数学公式分布有些多,因此在这里总结一下思路. 一.伯努利试验.伯努利过程与伯努利分布 先说一下什么是伯努利试验: 维基百科伯努利试验中: 伯努利试验(Bernoulli tri ...

  7. 线性判别分析LDA原理总结

    在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...

  8. LDA( Latent Dirichlet Allocation)主题模型 学习报告

    1     问题描述 LDA由Blei, David M..Ng, Andrew Y..Jordan于2003年提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一 ...

  9. 文本主题模型之LDA(一) LDA基础

    文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 在前面我们讲到了基于矩阵分解的 ...

随机推荐

  1. js中的iterable用法

    iterable字面意思:可迭代的,可重复的 . 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Se ...

  2. Android SDK版本号 与 API Level 对应关系

    转自:https://blog.csdn.net/qiaoquan3/article/details/70185550 Android SDK版本号 与 API Level 对应关系   新接触And ...

  3. java新特性

    第一章:java8新特性 1.1 lambda表达式 1.2 Stream API 1.3 java8新特性总结 第二章:java9新特性 2.1 mac下多版本jdk的安装和管理 第三章:java1 ...

  4. Excel 驼峰表达式

    =LEFT(A1,1)&MID(SUBSTITUTE(PROPER(A1),"_",""),2,100)

  5. [Python设计模式] 第21章 计划生育——单例模式

    github地址:https://github.com/cheesezh/python_design_patterns 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式 ...

  6. Springboot2.x 集成jsp

    1.添加pom依赖 <!--引入springboot 内嵌tomcat对jsp的解析包--> <dependency> <groupId>org.apache.to ...

  7. eclipse工具中使用Data Source Explorer连接数据库(MySQL)

    1.进入Eclipse工具,打开Data Source Explorer.Window==>Show View==>Data Source Explorer(注:如果找不到请选择Other ...

  8. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  9. 游戏开发中IIS常见支持MIME类型文件解析

    游戏开发中IIS常见支持MIME类型文件解析 .apkapplication/vnd.android .ipaapplication/vnd.iphone .csbapplication/octet- ...

  10. invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

    Mac系统升级git会找不到并且报错:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) ...