从 Beta-Binomial 共轭到 Dirichlet-Multinomial 共轭

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

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

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

对应于先前的小游戏即为:
Beta(p|k,nk+1)+BinomCount(m 1 ,m 2 )=Beta(p|k+m 1 ,nk+1+m 2 ) 

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

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

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

    f(x)=n!(k1)!(nk)! x k1 (1x) nk  

    使用Beta分布进行建模的话(中间涉及神奇的Gamma分布话离散为连续):
    Beta(p|α=k,β=nk+1)=Γ(n+1)Γ(k)Γ(nk+1)! x k1 (1x) nk  

    则概率分布为:
    f(x)=10!6!3! x 6 (1x) 3  

    我们根据该概率分布的峰值取猜测才最有把握;

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

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

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

    则概率分布为:
    f(x)=Beta(x|9,7)=15!8!6! x 8 (1x) 6  

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

    此时的顺序统计量为: X (1) ,X (2) ,,X (n)   ,题目是问( 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)!(nk 1 k 2 )! x k 1 1 1 x k 2 1 2 x nk 1 k 2  3 Γ(n+1)Γ(k 1 )Γ(k 2 )Γ(nk 1 k 2 +1) x k 1 1 1 x k 2 1 2 x nk 1 k 2  3   

    上面这一分布其实就是三维形式的Dirichlet分布, Dir(x 1 ,x 2 ,x 3 |k 1 ,k 2 ,nk 1 k 2 +1)  ,简单起见,令 α 1 =k 1 ,α 2 =k 2 ,α 3 =nk 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  

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

Beta-Binomial共轭:

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

同理我们可得:

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

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

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

对于给定的 p    N  ,多项式分布为:
Mult(N,p  )=(Nn  ) k=1 K p n k  k  

Beta和Dirchlet分布的数学期望

如果 pBeta(t|α,β)  ,则:

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

又对 Beta(t|α+1,β)  而言:
 1 0 Beta(t|α+1,β)= 1 0 Γ(α+β+1)Γ(α+1)Γ(β) t α (1t) β dt=1 1 0 t α (1t) β1 dt=Γ(α+1)Γ(β)Γ(α+1+β)  

所以:
E(p)=Γ(α+β)Γ(α)Γ(β) Γ(α+1)Γ(β)Γ(α+β+1) =αα+β  

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

E(p  )=(α 1  K k=1 α k  ,α 2  K k=1 α k  ,,α K  K k=1 α k  ) 

该两种分布的数学期望是很重要的结论,会在以后的LDA的数学推导中使用这个结论。

你可能感兴趣的:(从 Beta-Binomial 共轭到 Dirichlet-Multinomial 共轭)