zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    让用户打开你app的位置功能
    函数递归与栈的关系
    公务员考试
    毕达哥拉斯的故事
    OC5_NSMutableString操作
    OC4_NSString操作
    OC_NSString
    OC3_MyRect
    OC6_类方法
    OC5_构造方法与self指针
  • 原文地址:https://www.cnblogs.com/houkai/p/3102465.html
Copyright © 2011-2022 走看看