mahout系列----Dirichlet 分布

转载 2013年12月05日 09:47:03

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,有一种原来如此的感觉。嗯,原来贝塔分布是二项分布的共轭先验分布,那么狄利克雷分布就是多项分布的共轭先验分布。所以要看狄利克雷分布,就要先了解多项分布,然后呢,想要了解狄利克雷之于多元的关系,就要先看贝塔分布和伯努利分布的关系。所以,二项分布、beta分布、以及共轭这三点是理解狄利克雷分布的关键基础知识,这个基础知识记录在这里(PRML2.1整小章介绍了这个)。

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

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

上式中,kμk=1α⃗ =(α1, , αk)T是狄利克雷分布的参数。最后把2.37归一化成为真正的狄利克雷分布:

Dir(μ|α)=Γ(α0)Γ(α1)Γ(αk)k=1Kμαk1k

其中α0=k=1Kαk。这个函数跟贝塔分布有点像(取K=2时就是Beta分布)。跟多项分布也有点像。就像Beta分布那样,狄利克雷分布就是它所对应的后验多项分布的参数μ⃗ 的分布,只不过μ是一个向量,下图是当μ⃗ =(μ1,μ2,μ3)时,即只有三个值时狄利克雷概率密度函数的例子。其中中间那个图的三角形表示一个平放的Simplex,三角形三个顶点分别表示μ⃗ =(1,0,0)μ⃗ =(0,1,0)μ⃗ =(0,0,1),因此三角形中间部分的任意一个点就是μ⃗ 的一个取值,纵轴就是这个μ⃗ 的Simplex上的概率密度值(PDF)。

对于参数μ⃗ 的估计时,可知 后验=似然*先验 的函数形式如下:

p(μ|D,α)(D|μ)p(μ|α)k=1Kμαk+mk1k

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



p(μ|D,α)=Dir(μ|α+m)=Γ(α0+N)Γ(α1+m1)Γ(αK+mK)k=1Kμαk+mk1k


Dirichlet Distribution

我不生产自己不熟悉的内容,我只是陌生内容的搬运工!向原作致敬!        Dirichlet分布可以看做是分布之上的分布。如何理解这句话,我们可以先举个例子:假设我们有一个骰子,其有六面,...
  • jzwong
  • jzwong
  • 2015年10月10日 08:58
  • 380

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

概率论的一些基本概念
  • deropty
  • deropty
  • 2015年12月11日 17:10
  • 3469

狄利克雷过程(dirichlet process )和分布

狄利克雷过程(dirichlet process )是目前变参数学习(non parameter)非常流行的一个理论,很多的工作都是基于这个理论来进行的,如HDP(hierarchical diric...
  • chinaliping
  • chinaliping
  • 2013年07月03日 13:20
  • 2398

机器学习的数学基础(1)--Dirichlet分布

这一系列(机器学习的数学基础)主要包括目前学习过程中回过头复习的基础数学知识的总结。 基础知识:conjugate priors共轭先验     共轭先验是指这样一种概率密度:它使得后验概率的密度...
  • jiang1st2010
  • jiang1st2010
  • 2013年04月23日 21:52
  • 24393

伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布、连续分布(正态分布)、大数定理、中心极限定理、贝叶斯理论

机器学习中常遇到关于各种分布的问题,不过这些知识都已经忘得差不多了,就搜了点资料,详细讲解下伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布 ,用于后期回顾。...
  • xiaodongxiexie
  • xiaodongxiexie
  • 2017年05月15日 00:35
  • 7536

【机器学习中的数学】多项式分布及其共轭分布

多项变量(Multinomial Variables)二元变量是用来描述只有两种可能值的量,而当我们遇到一种离散变量,其可以有K种可能的状态。我们可以使用一个K维的向量x表示,其中只有一维xk为1,其...
  • JasonDing1354
  • JasonDing1354
  • 2015年05月11日 22:22
  • 3720

多元分布和狄利克雷分布

Multinomial distribution 将二元分布的二元情况扩展到多元,即可得到对应的多元分布。 首先先将伯努利分布扩展到多元假设对于离散变量xx,可能有KK个取值,那么xx一次...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年02月29日 20:47
  • 1198

关于狄利克雷分布的理解

作者:Thomas Wayne 链接:http://www.zhihu.com/question/26751755/answer/80931791 来源:知乎 著作权归作者所有。商业转载请联系作者获得...
  • justdoithai
  • justdoithai
  • 2016年04月12日 22:27
  • 8705

伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布

1. 伯努利分布 伯努利分布(Bernoulli distribution)又名两点分布或0-1分布,介绍伯努利分布前首先需要引入伯努利试验(Bernoulli trial)。 伯努利试验...
  • Michael_R_Chang
  • Michael_R_Chang
  • 2014年09月10日 22:15
  • 54435

各种分布的python例子

#-*- encoding:utf-8 -*- import numpy as np from scipy import stats import matplotlib.pyplot as plt #...
  • Yan456jie
  • Yan456jie
  • 2016年08月10日 13:02
  • 5723
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mahout系列----Dirichlet 分布
举报原因:
原因补充:

(最多只允许输入30个字)