The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)

来源:互联网 发布:天人网络电视在线 编辑:程序博客网 时间:2024/06/06 20:39

http://www.xperseverance.net/blogs/2012/03/510/

        Dirichlet分布可以看做是分布之上的分布。如何理解这句话,我们可以先举个例子:假设我们有一个骰子,其有六面,分别为{1,2,3,4,5,6}。现在我们做了10000次投掷的实验,得到的实验结果是六面分别出现了{2000,2000,2000,2000,1000,1000}次,如果用每一面出现的次数与试验总数的比值估计这个面出现的概率,则我们得到六面出现的概率,分别为{0.2,0.2,0.2,0.2,0.1,0.1}。现在,我们还不满足,我们想要做10000次试验,每次试验中我们都投掷骰子10000次。我们想知道,出现这样的情况使得我们认为,骰子六面出现概率为{0.2,0.2,0.2,0.2,0.1,0.1}的概率是多少(说不定下次试验统计得到的概率为{0.1, 0.1, 0.2, 0.2, 0.2, 0.2}这样了)。这样我们就在思考骰子六面出现概率分布这样的分布之上的分布。而这样一个分布就是Dirichlet分布。

首先用上面这一段来点直观印象,然后列一些资料:

          维基里面对于狄利克雷分布貌似介绍的挺复杂,不够基础。我找到了一个CMU的PPT:Dirichlet Distribution, Dirichlet Process and Dirichlet Process Mixture,找到一篇华盛顿大学的《Introduction to the Dirichlet Distribution and Related Processes》介绍。

       发现CMU那个ppt里面讲到,Beta is the conjugate prior of Binomial,有一种原来如此的感觉。嗯,原来贝塔分布是二项分布的共轭先验分布,那么狄利克雷分布就是多元分布的共轭先验分布。所以要看狄利克雷分布,就要先了解多元分布,然后呢,想要了解狄利克雷之于多元的关系,就要先看贝塔分布和二项分布的关系,这个关系在这里(PRML2.1整小章介绍了这个)。

       下面正式进入狄利克雷分布介绍,首先说一下这个多元分布的参数μ。在二项分布里,参数μ就是抛硬币取某一面的概率,因为二项分布的状态空间只有{0,1}。但是在多元分布里,因为状态空间有K个取值,因此μ变成了向量$\vec{\mu}=(\mu_1,~...,~\mu_k)^T$。多元分布的likelihood函数形式是$\prod\limits_{k=1}^{K}\mu_k^{m_k}$,因此就像选择二项分布的共轭先验贝塔函数时那样,狄利克雷分布的函数形式应该如下:

$p(\mu|\alpha)\propto\prod\limits_{k=1}^{K}\mu_k^{\alpha_k-1}$  式2.37

上式中,$\sum_k\mu_k=1$,$\vec{\alpha}=(\alpha_1,~...,~\alpha_k)^T$是狄利克雷分布的参数。最后把2.37归一化成为真正的狄利克雷分布:

$Dir(\mu|\alpha)=\frac{\Gamma(\alpha_0)}{\Gamma(\alpha_1)...\Gamma(\alpha_k)}\prod\limits_{k=1}^{K}\mu_k^{\alpha_k-1}$

其中$\alpha_0=\sum\limits_{k=1}^{K}\alpha_k$。呵呵,这个函数跟贝塔分布有点像(取K=2时就是Beta分布)。跟多元分布也有点像。和Beta分布一样,狄利克雷分布就是参数$\vec{\mu}$的分布,只不过μ是一个向量,下图是当$\vec{\mu}=(\mu_1,\mu_2,\mu_3)$时,即只有三个值时狄利克雷概率密度函数的例子。其中中间那个图的三角形表示一个平放的Simplex,三角形三个顶点分别表示$\vec{\mu}=(1,0,0)$,$\vec{\mu}=(0,1,0)$和$\vec{\mu}=(0,0,1)$,因此三角形中间部分的任意一个点就是$\vec{\mu}$的一个取值,纵轴就是这个$\vec{\mu}$的Simplex上的概率密度值(PDF)。

对于参数$\vec{\mu}$的估计时,可知 后验=似然*先验 的函数形式如下:

$p(\mathbf{\mu}|D,\mathbf{\alpha})\propto(D|\mathbf{\mu})p(\mathbf{\mu}|\mathbf{\alpha})\propto\prod\limits_{k=1}^{K}\mu_k^{\alpha_k+m_k-1}$

从这个形式可以看出,后验也是狄利克雷分布。类似于贝塔分布归一化后验的方法,我们把这个后验归一化一下,得到:

$\begin{equation}\begin{split}p(\mathbf{\mu}|D,\mathbf{\alpha}) & =Dir(\mathbf{\mu}|\mathbf{\alpha}+\mathbf{m}) & =\frac{\Gamma(\alpha_0+N)}{\Gamma(\alpha_1+m_1)...\Gamma(\alpha_K+m_K)}\prod\limits_{k=1}^{K}\mu_k^{\alpha_k+m_k-1}\end{split}\end{equation}$