Dirichlet分布及其属性

Dirichlet分布

在概率统计中,Dirichlet分布通常表示为clip_image002[7],是一个以正实数clip_image004[7]的向量为参数的连续多变量概率分布族。这是Beta分布的多元推广。在贝叶斯统计中,狄氏分布很多情况下可作为先验分布,其实Dirichlet分布是类别分布和多项分布的共轭先验。

狄利克雷分布向无限维度的推广便是狄利克雷过程。

Categorical分布

分类分布(有时也被不确切地称为“离散分布”或“多项分布”)从K个概率中的一个来描述事件的发生概率。参数值必须在0、1之间,它们的和为1。分类分布是伯努利分布向多类随机变量的推广。

在分布的表达式中,令采样空间是有限的整数序列。作为标签,这些整数的值并不是重要的,他们可以是{0,1,…,K-1}或{1,2,…,K}或者其他任意值。为了方便,这里我们使用{1,2,…,K}。

概率密度函数为:

clip_image002[9]

clip_image004[9]表示元素clip_image006[7]发生的概率并且clip_image008[7]

另外一种更复杂但利于数学运算的表达式:

clip_image010[7]

clip_image012[7]表示:如果clip_image014[7]取值为1,否则为0.

严格意义上,分类分布可以看做是多项式分布的一种特殊形式(n=1)。

Dirichlet分布是分类分布和多项分布的共轭先验,这意味着我们可以给分类分布的未知参数clip_image016[10]一个服从Dirichlet分布的先验分布。然后,这个参数的后验分布(结合观测数据知识后)也是个Dirichlet分布。这样我们便可以根据每次新的观测值不断的更新参数的分布模型。形式上,解释如下:

假设模型:clip_image018[7]

我们有:clip_image020[7]

在给定分类分布的N个抽样集时,可以利用这种关系来估计它的参数clip_image016[11]。此时:

clip_image023[7]

技术上,某些应用也可以采用:

clip_image025[7]

最大后验估计 clip_image027[7]

边缘似然:上述模型中,观测值的边缘似然是Dirichlet-multinomial分布

clip_image029[7]

这里使用了欧拉积分:clip_image031[7]

边缘似然分布在分层贝叶斯模型中扮演着重要的角色,当使用Gibbs抽样或变分贝叶斯来做推断时,Dirichlet先验分布经常需要边缘化。

后验预测分布:在已知X和clip_image033[7]时,新观测值clip_image035[7]的取值分布,形式如下:

clip_image037[7]

结论:后验预测概率是后验分布的期望值。

从另一个角度来看: clip_image039[7]

新来数据会以较大的概率分配到以前出现次数较多的类中,这种情况可视作“偏好依附”模型。它与很多现实世界的过程相符,在模型下,起初少量数据点的选择对以后数据的分配将产生巨大的影响。

后验条件分布:在Gibbs抽样中,我们需要在多变量贝叶斯网络组成的条件分布(每一个变量都依赖于其他值)中进行抽样。

对于一个数据集X,用clip_image041[10]表示除去clip_image043[7]的数据集,有:

clip_image045[10]

这里,clip_image047[7]表示clip_image041[11]中属于第i类的数据个数。

抽样过程:

// do multinomial sampling via cumulative method
    for (int k = 0; k < K; k++) {
    p[k] = (nw[w][k] + beta) / (nwsum[k] + Vbeta) *
            (nd[m][k] + alpha) / (ndsum[m] + Kalpha);    //1:得到属于每一类的概率
    }//这就是ToTGibbs中的公式和text-est文件
    // cumulate multinomial parameters
    for (int k = 1; k < K; k++) {
    p[k] += p[k - 1];
    }                                            //2:得到累计概率分布
    // scaled sample because of unnormalized p[]
    double u = ((double)random() / RAND_MAX) * p[K - 1];
                                                //3:采样均匀分布的值
    for (topic = 0; topic < K; topic++) {
    if (p[topic] > u) {
        break;
    }
}                                            //4:返回类别

Multinomial分布

在概率理论中,Multinomial分布是二项式分布的推广。Multinomial分布给出了多类问题中,任意类别数组合的概率。

二项分布是n次伯努利分布中,两类组合发生次数的概率分布。

注意:在自然语言处理领域,categorical和multinomial分布是混为一谈的,当提到multinomial分布时实质意味着是categorical分布;当然,categorical也可以视为multinomial的特殊情况。

概率密度函数:假设袋子的球分为k类,我们做n次有放回抽样。来自同一类的球是完全一样的。我们用clip_image002[11]表示第i(i=1,…,k)类的球的次数。clip_image004[11]表示属于第i类的概率。

clip_image006[9]

属性:在n次实验中,类i的数学期望

clip_image007

协方差矩阵:每一个对角线元素实质是二项分布,因此

clip_image008[9]

非对角线元素

clip_image009

所有的协方差都是负值,因为对于固定的数值n,多类中一类的增加势必导致另类的减少。

返回Dirichlet分布,其概率密度表达式:

clip_image010[9]

其中,clip_image012[9]clip_image014[9]。上式中clip_image016[14]表示概率密度公式是个clip_image018[9]的欧式空间,在不满足条件的空间里密度为0.

多项beta函数可以用gama函数表示:

clip_image019

特殊情况:一种比价常见的形式是对称Dirichlet分布0,这里向量clip_image021的所有元素取相同值。因为我们通常没有任何先验的知识来确定某个分量要优于其他分量,所以当使用Dirichlet先验时常使用其对称形式。此时的标量clip_image021[1]称为concentration parameter(浓度参数)。有:

clip_image022

clip_image024时,上式与clip_image026值无关等价于均匀分布。当clip_image028时,分布越趋于平稳,在一次抽样中的所有值都趋于相同;当clip_image030时,分布越趋于尖锐,在一次抽样中,大多数数值趋近于0,只有很少分量具有较大值。

更一般的情况,参数向量有时写成clip_image032的形式,其中clip_image021[2]为标量浓度参数,clip_image035[9]是基测量(clip_image037[9]的和为1)。主题模型的文献中经常使用这种构造。

属性:假设

clip_image038

由定义得:

clip_image039[9]

clip_image041[14],则:

clip_image042

clip_image043[9]

而且,如果clip_image045[12]

clip_image046

边缘分布:Dirichlet分布的边缘分布是beta分布

clip_image047[9]

聚合性质:如果

clip_image048

clip_image049

这个性质可以用来推导出上面提到的边缘分布。

相关分布:

1.对于clip_image051

clip_image052

2.

clip_image0532.

3.那么:

clip_image054

虽然clip_image056之间并不是相互独立的,但他们可以通过K个独立的gamma分布得到,详见 Devroye, Luc (1986). Non-Uniform Random Variate Generation. Springer-Verlag. p. 594. (Chapter 11.)。

Gamma分布

使用Gamma分布,我们可以很容易地得到K维clip_image058Dirichlet分布的抽样clip_image060。首先,从Gamma分布得到K个独立的随机抽样clip_image062

clip_image063

然后得:

clip_image064

posted @ 2013-05-27 20:30  侯凯  阅读(4809)  评论(0编辑  收藏  举报