共轭分布/共轭先验(conjugate prior):如果先验分布(p(θ) p(\theta))和似然函数(p(Xθ) p(X\theta))使得先验分布(p(θ) p(\theta))和后验分布(p(θ|X) p(\theta|X))具有相同的形式(Beta(a,b)+B(n,k)=Beta(a+k,b+n−k) Beta(a,b)+B(n,k)=Beta(a+k,b+n-k)),就称先验分布与似然函数是共轭的(Beta分布与二项分布是共轭的)。

我们首先来看 Beta-Binomial 共轭的形式:

Beta(p|α,β)+BinomCount(m 1 ,m 2 )=Beta(p|α+m 1 ,β+m 2 ) 

Beta(p|\alpha, \beta)+BinomCount(m_1,m_2)=Beta(p|\alpha+m_1,\beta+m_2)
对应于先前的小游戏即为:

Beta(p|k,n−k+1)+BinomCount(m 1 ,m 2 )=Beta(p|k+m 1 ,n−k+1+m 2 ) 

Beta(p|k,n-k+1)+BinomCount(m_1,m_2)=Beta(p|k+m_1,n-k+1+m_2)

我们还是首先回顾之前的两次游戏:

  1. 从服从0-1均匀分布的随机数生成器,得到10个数,问第7大的数字为?

    我们最终得到的概率分布为:

    f(x)=n!(k−1)!(n−k)! x k−1 (1−x) n−k  

    f(x)=\frac{n!}{(k-1)!(n-k)!}x^{k-1}(1-x)^{n-k}
    使用Beta分布进行建模的话(中间涉及神奇的Gamma分布话离散为连续):

    Beta(p|α=k,β=n−k+1)=Γ(n+1)Γ(k)Γ(n−k+1)! x k−1 (1−x) n−k  

    Beta(p|\alpha=k,\beta=n-k+1)=\frac{\Gamma(n+1)}{\Gamma(k)\Gamma(n-k+1)!}x^{k-1}(1-x)^{n-k}
    则概率分布为:

    f(x)=10!6!3! x 6 (1−x) 3  

    f(x)=\frac{10!}{6!3!}x^6(1-x)^3
    我们根据该概率分布的峰值取猜测才最有把握;

  2. 再提供5个数,告知2个数比第七大的数大,3个数比其小,为该第七大的数为多少?

    根据beta分布与二项分布成共轭分布可知:

    Beta(p|k,n−k+1)+BinomCount(m 1 ,m 2 )=Beta(p|k+m 1 ,n−k+1+m 2 ) 

    Beta(p|k,n-k+1)+BinomCount(m_1,m_2)=Beta(p|k+m_1,n-k+1+m_2)
    则概率分布为:

    f(x)=Beta(x|9,7)=15!8!6! x 8 (1−x) 6  

    f(x)=Beta(x|9,7)=\frac{15!}{8!6!}x^8(1-x)^6

  3. 问题继续升级,此时加大难度,问题升级为:按20下按钮,生成20个随机数,要求你同时猜测第7大和第13大的数?

    此时的顺序统计量为:X (1) ,X (2) ,⋯,X (n)  X_{(1)},X_{(2)},\cdots,X_{(n)},题目是问(X (k 1 ) ,X (k 1 +k 2 )  X_{(k_1)},X_{(k_1+k_2)})的联合分布(答题的关键在于找到问题对应的数学模型或者往小了说,就是数学基本概念,比如这里的联合分布)?
    。。。
    我们得到(X (k 1 ) ,X (k 1 +k 2 ) ) (X_{(k_1)},X_{(k_1+k_2)})的联合分布是:

    f(x 1 ,x 2 ,x 3 )== n!(k 1 −1)!(k 2 −1)!(n−k 1 −k 2 )! x k 1 −1 1 x k 2 −1 2 x n−k 1 −k 2  3 Γ(n+1)Γ(k 1 )Γ(k 2 )Γ(n−k 1 −k 2 +1) x k 1 −1 1 x k 2 −1 2 x n−k 1 −k 2  3   

    \begin{split} f(x_1,x_2,x_3)=&\frac{n!}{(k_1-1)!(k_2-1)!(n-k_1-k_2)!}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2}\\ =&\frac{\Gamma(n+1)}{\Gamma(k_1)\Gamma(k_2)\Gamma(n-k_1-k_2+1)}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2} \end{split}
    上面这一分布其实就是三维形式的Dirichlet分布,Dir(x 1 ,x 2 ,x 3 |k 1 ,k 2 ,n−k 1 −k 2 +1) Dir(x_1,x_2,x_3|k_1,k_2,n-k_1-k_2+1),简单起见,令 α 1 =k 1 ,α 2 =k 2 ,α 3 =n−k 1 −k 2 +1 \alpha_1=k_1,\alpha_2=k_2,\alpha_3=n-k_1-k_2+1,于是分布密度可以写为:

    f(x 1 ,x 2 ,x 3 |α 1 ,α 2 ,α 3 )=Γ(α 1 +α 2 +α 3 )Γ(α 1 )Γ(α 2 )Γ(α 3 ) x α 1 −1 1 x α 2 −1 2 x α 3 −1 3  

    f(x_1,x_2,x_3|\alpha_1,\alpha_2,\alpha_3)=\frac{\Gamma(\alpha_1+\alpha_2+\alpha_3)}{\Gamma(\alpha_1)\Gamma(\alpha_2)\Gamma(\alpha_3)}x_1^{\alpha_1-1}x_2^{\alpha_2-1}x_3^{\alpha_3-1}

这就是一般形式的3维的Dirichlet分布,从形式上我们也可看出,Dirichlet分布也是Beta分布在高维度上的推广。

Beta-Binomial共轭:

Beta(p|α,β)+BinomCount(m 1 ,m 2 )=Beta(p|α+m 1 ,β+m 2 ) 

Beta(p|\alpha,\beta)+BinomCount(m_1,m_2)=Beta(p|\alpha+m_1,\beta+m_2)
同理我们可得:

Dir(p ⃗ |α ⃗ )+MultCount(m ⃗ )=Dir(p ⃗ |α ⃗ +m ⃗ ) 

Dir(\vec p|\vec \alpha)+MultCount(\vec m)=Dir(\vec p|\vec \alpha+\vec m)
这正是大名鼎鼎的 Dirichlet-MultiNomial共轭 。类似于Beta 分布,我们也可对 Dir(p ⃗ |α ⃗ ) Dir(\vec p|\vec \alpha)作如下分解,

Dir(p ⃗ |1 ⃗ )+MultCount(m ⃗ −1 ⃗ )=Dir(p|m ⃗ ) 

Dir(\vec p|\vec 1)+MultCount(\vec m-\vec 1)=Dir(p|\vec m)
对于该游戏,我们还可往更高维度上继续推导,譬如猜测: X (1) ,X (2) ,…,X (n)  X_{(1)},X_{(2)},\ldots,X_{(n)}中的 4,5… 4,5\ldots等更多数,于是得到更高维度的Dirichlet 分布和Dirichlet Multinomial 共轭,也即一般形式的Dirichlet 分布定义如下:

Dir(p ⃗ |α ⃗ )=Γ(∑ K k=1 α k )∏ K k=1 Γ(α k ) ∏ k=1 K p α k −1 k  

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}
对于给定的 p ⃗  \vec p和 N N,多项式分布为:

Mult(N,p ⃗ )=(Nn ⃗ )∏ k=1 K p n k  k  

Mult(N,\vec p)=\binom{N}{\vec n}\prod_{k=1}^Kp_k^{n_k}

Beta和Dirchlet分布的数学期望

如果 p∼Beta(t|α,β) p\sim Beta(t|\alpha,\beta),则:

E(p)=== ∫ 1 0 t×Beta(t|α,β)dt∫ 1 0 t×Γ(α+β)Γ(α)Γ(β) t α−1 (1−t) β−1 dtΓ(α+β)Γ(α)Γ(β) ∫ 1 0 t α (1−t) β−1 dt  

\begin{split} E(p)=&\int_0^{1}t\times Beta(t|\alpha,\beta)dt\\ =&\int_0^1t\times \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^1t^\alpha(1-t)^{\beta-1}dt \end{split}
又对 Beta(t|α+1,β) Beta(t|\alpha+1,\beta)而言:

∫ 1 0 Beta(t|α+1,β)=∫ 1 0 Γ(α+β+1)Γ(α+1)Γ(β) t α (1−t) β dt=1⇓∫ 1 0 t α (1−t) β−1 dt=Γ(α+1)Γ(β)Γ(α+1+β)  

\int_0^1Beta(t|\alpha+1,\beta)=\int_0^1\frac{\Gamma(\alpha+\beta+1)}{\Gamma(\alpha+1)\Gamma(\beta)}t^\alpha(1-t)^\beta dt=1\\ \Downarrow\\ \int_0^1t^\alpha(1-t)^{\beta-1}dt=\frac{\Gamma(\alpha+1)\Gamma(\beta)}{\Gamma(\alpha+1+\beta)}
所以:

E(p)=Γ(α+β)Γ(α)Γ(β) Γ(α+1)Γ(β)Γ(α+β+1) =αα+β  

E(p)=\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}\frac{\Gamma(\alpha+1)\Gamma(\beta)}{\Gamma(\alpha+\beta+1)}=\frac{\alpha}{\alpha+\beta}

对于Beta分布的随机变量,其均值可以用 αα+β  \frac{\alpha}{\alpha+\beta}来估计。Dirchlet 也有类似的结论,如果 p ⃗ ∼Dir(t ⃗ |α ⃗ ) \vec p\sim Dir(\vec t|\vec \alpha) ,同样可以证明:

E(p ⃗ )=(α 1 ∑ K k=1 α k  ,α 2 ∑ K k=1 α k  ,…,α K ∑ K k=1 α k  ) 

E(\vec p)=(\frac{\alpha_1}{\sum_{k=1}^K\alpha_k},\frac{\alpha_2}{\sum_{k=1}^K\alpha_k},\ldots,\frac{\alpha_K}{\sum_{k=1}^K\alpha_k})
该两种分布的数学期望是很重要的结论,会在以后的LDA的数学推导中使用这个结论。

从 Beta-Binomial 共轭到 Dirichlet-Multinomial 共轭相关推荐

  1. 基于狄利克雷-多项式分布做文档聚类代码(dirichlet multinomial mixture model)

    论文来源 Yin J, Wang J. A dirichlet multinomial mixture model-based approach for short text clustering[C ...

  2. 【数字信号处理】傅里叶变换性质 ( 共轭对称序列性质 | 共轭反对称序列性质 | 模偶对称 | 相角奇对称 )

    文章目录 一.共轭对称序列性质 二.共轭反对称序列性质 三.模偶对称 四.相角奇对称 一.共轭对称序列性质 共轭对称序列 , x(n)=x∗(−n)x(n) = x^*(-n)x(n)=x∗(−n) ...

  3. matlab中转置和裁剪,对Matlab中共轭、转置和共轭装置的区别说明

    共轭 转置 共轭转置 The symbols (·)T , (·)∗, and (·)H are,respectively, the transpose, complex conjugate and ...

  4. Dirichlet Multinomial Mixture Model做短文本聚类

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 论文来源 Yin J, Wang J. A dirich ...

  5. 共轭对称序列和共轭反对称序列

    共轭是针对复数而言的,如果两个复数的实部相等,其虚部为相反数,那么这两个复数就是共轭的.在公式上表示时,共轭使用 * 来表示,如        如果满足条件如下:        则称为共轭对称序列,记 ...

  6. Dirichlet Multinomial Mixtures (DMM)的R实现

    Dirichlet Multinomial Mixtures Community typing with Dirichlet Multinomial Mixtures Dirichlet Multin ...

  7. MATLAB中的共轭转置与非共轭转置

    对已知矩阵A,MATLAB为我们提供了两种转置运算. A.' 非共轭转置 A' 共轭转置 单纯地共轭用:conj() 非共轭可以用:transpose() example: a = 12.0000   ...

  8. 共轭反对称分量 matlab,共轭对称分量共轭反对称分量-Read.PPT

    共轭对称分量共轭反对称分量-Read * 序列傅里叶变换 第五讲 变换域分析 时域分析方法 变换域分析方法: 连续时间信号与系统 Laplace变换 Fourier变换 离散时间信号与系统 z变换 F ...

  9. 【数字信号处理】傅里叶变换性质 ( 频域函数的共轭对称分解 | 序列的傅里叶变换 | 傅里叶变换的共轭对称 | 傅里叶变换的共轭反对称 )

    文章目录 一.频域函数 ( 傅里叶变换 ) 的共轭对称分解 二.序列对称分解定理 三.傅里叶变换的共轭对称与共轭反对称 x(n)x(n)x(n) 的 傅里叶变换 是 X(ejω)X(e^{j \ome ...

  10. 共轭转置matlab,何为共轭转置?

    mento时尚男装 简约大方 时尚休闲 在MATLAB中看到这样的操作符,或许大家并不陌生. 对已知矩阵A,MATLAB为我们提供了两种转置运算. A.'    非共轭转置 A'     共轭转置 那 ...

最新文章

  1. python—函数进阶-迭代器
  2. div 中的控件底部对齐_如何将div的内容与底部对齐?
  3. 22504!Windows 11 新预览版发布
  4. PPP 守护进程 RCE 漏洞已存在17年,可控制几乎所有的 Linux 系统
  5. 榛子云短信-微信小程序60秒倒计时插件
  6. linux服务器下安装phpstudy 如何命令行进入mysql
  7. C++简介(5)STL
  8. linux 安装多版本jdk
  9. iOS基础 关于UIKit框架
  10. 后台集成解决方案 avue
  11. html5 舰c 手机,我国最新款导弹驱逐舰052D,主力战舰的不二之选,中国厉害了!...
  12. zookeeper 数据节点的增删改查
  13. 关于错排公式的推导与应用
  14. 夸克网盘提取cookie
  15. ffmpeg mplayer x264 代码重点详解 详细分析
  16. bat文件调用CMD命令快速显示ip
  17. OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数
  18. 放大器的传递函数_在光电流应用中补偿电流反馈放大器
  19. UE4自定义点击区域的Button
  20. idea更换git账号

热门文章

  1. onepill Android端
  2. Python 之 运算符
  3. java后置过滤器_java - 如何使用zuul将响应主体提取到后置过滤器中
  4. 电脑不识别移动硬盘怎么办_U盘插入电脑后不识别无法读取的解决方法
  5. Linux环境SOCKET编程3:压力测试
  6. 【干货】史上最全的Tensorflow学习资源汇总(转)
  7. 2019-2020-1 20175313 《信息安全系统设计基础》第二周学习总结
  8. VMware 克隆的相关设置
  9. JavaScript 01
  10. structed streaming基础---跳过的坑