概率分布(多项分布,Dirichlet分布)

在机器学习领域中,概率模型是一个常用的利器。用它来对问题进行建模,有几点好处:1)当给定参数分布的假设空间后,可以通过很严格的数学推导,得到模型的似然分布,这样模型有很好的概率解释;2)可以利用现有的EM算法或者Variational method来学习。通常为了方便推导参数的后验分布,会假设参数的先验分布是似然的某个共轭分布,这样后验分布和先验分布具有相同的形式,这可以大大简化建模过程中的数学推导,保证最后的形式是tractable。

在概率模型中,Dirichlet这个词出现的频率非常的高。初学机器学习的同学,在学习概率模型的时候,很多同学都不清楚为啥一个表现形式如此奇怪的分布Dirichlet分布会出现在我们的教科书中,它是靠啥关系攀上了多项分布(Multinomial distribution)这个亲戚的,以至于它可以“堂而皇之”地扼杀我大天朝这么多数学家和科学家梦想的?为了引出背后这层关系,我们需要先介绍一个概念——共轭先验(Conjugate Prior)。

  • 在贝叶斯统计理论中,如果某个随机变量Θ的后验概率 p(θ|x)和其先验概率p(θ)属于同一个分布簇的,那么称p(θ|x)和p(θ)为共轭分布,同时,也称p(θ)为似然函数p(x|θ)的共轭先验。
  • 事情还没有发生,要求这件事情发生的可能性的大小,是先验概率。事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率。

1、累积分布函数(分布函数)(CDF-Cumulative Distribution Function)

分布函数的定义为

FX(x)=P(Xx)

假设P(X=0)=14,P(X=1)=12,P(X=2)=14,那么分布函数如下图所示:
图片
这里需要注意两点

  • 函数是右连续的
  • FX(1.4)=34, 这里P(1X<2)=12

因此F函数始终是非降的, 右连续的, 且limxF(x)=1

2、概率密度函数(PDF-Probability Density Function)

离散随机变量的密度函数为:

fX(x)=P(X=x)

对于连续随机变量,若存在一个函数fX对所有的x均满足fX(x)0abfX(x)dx=1,并且有
P(a<X<b)=abfX(x)dx

fX就是FX(x)的密度函数,并且FX(x)=xfX(t)dtfX(x)=ddxFX(x),这是一个很重要的概念,后面所谓的密度估计(density estimation)(EM algorithm和Sampling Methods)都是要估计出一个概率密度函数来。

3、伯努利分布,二项分布

  • 伯努利分布就是对单次抛硬币的建模,X~Bernoulli(p)的密度函数是f(x)=px(1p)1x,随机变量只能取{0,1}。对于所有的密度函数都要归一化!而伯努利分布天然是归一化。因此归一化参数就是1.

  • 多次伯努利实验即为二项分布,其密度函数为

    f(x)=P(X=x)=P(X=x|n,p)=Cxnpx(1p)nx

    这里Cxn可以看作是二项分布的归一化参数。

4、β分布

概率密度函数

f(x)=Γ(α+β)Γ(α)Γ(β)xα1(1x)β1

其中
Γ(x)=0tx1etdt
通过分部积分法,可推导出这个函数有如下递归性质
Γ(x+1)=xΓ(x)
Γ(x)函数可以看作是阶乘在实数集上的延拓,具有如下性质
Γ(n)=(n1)!

5、多项分布

把二项分布再推广,就得到多项分布。二项分布的典型例子是扔硬币,硬币正面向上的概率为p,重复扔n次硬币,k次为下面的概率即为一个二项分布。二项分布即为多重伯努利实验。
不同于扔硬币,多项分布类似于扔骰子。假设萤火虫对食物的喜欢程序,我们给三种选择:花粉,蚜虫,面团。假设20%的萤火虫喜欢花粉,35%的萤火虫喜欢蚜虫,45%的萤火虫喜欢面团。我们对30只萤火虫做实验,发现8只喜欢花粉,10只喜欢蚜虫,12只喜欢面团,这件事的概率为

P(N1=8,N2=10,N3=12)=30!8!10!12!0.280.35100.4512

这时的参数μ变成了一个向量μ⃗ ={μ1,μ2,...,μk}表示第一个取值被选中的概率,这里为μ⃗ ={0.2,0.35,0.45},那么X~Multinomial(n,p)的PDF为:
f(x)=P(m1,m2,...,mk|n,μ⃗ )=n!ki=1mi!μmix

6、Dirichlet Distribution(迪利特雷分布)

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分布。
下面正式进入狄利克雷分布介绍,首先说一下这个多项分布的参数μ。在伯努利分布里,参数μ就是抛硬币取某一面的概率,因为伯努利分布的状态空间只有{0,1}。但是在多项分布里,因为状态空间有K个取值,因此μ变成了向量μ⃗ ={μ1,μ2,...,μk}。多项分布的likelihood函数形式是μmix,因此就像选择伯努利分布的共轭先验贝塔函数时那样,狄利克雷分布的函数形式应该如下:

p(μ|α)k=1Kμαk1k

上式中,kμk=1α⃗ =(α1,...,αk)是迪利特雷参数,把上式归一化为真正的迪利特雷分布为:
Dir(μα)=Γ(α0)Γ(α1)...Γ(αk)k=1Kμαk1k

其中α0=k=1Kαk。这个函数和贝塔分布有点像,跟多项式分布也有点像。就像β分布那样,狄利克雷分布就是它所对应的后验多项分布的参数μ⃗ 的分布,只不过μ是一个向量。

发布了10 篇原创文章 · 获赞 5 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览