Dirichlet Process & Dirichlet Distribution

18 篇文章 0 订阅
13 篇文章 0 订阅

狄利克雷过程(dirichlet process )是目前变参数学习(non parameter)非常流行的一个理论,很多的工作都是基于这个理论来进行的,如HDP(hierarchical dirichlet process)。


下面我们谈谈dirichlet process的五种角度来理解它。


第一种:原始定义:假设存在在度量空间 Θ 上的分布 H 和一个参数 α ,如果对于度量空间 Θ 的任意一个可数划分(可以是有限或者无限的) A1,A2,...,An ,都有下列式子成立:


(G(A1),G(A2),...,G(An))Dir(αH(A1),αH(A2),...,αH(An)) ,  这里Dir是dirichlet 分布,


我们称G是满足Dirichlet process的。


这个定义是1973年Ferguson最早提出的定义。在有了这个定义之后,我们怎么去构造一个dirichlet process(DP)出来呢?或者如果我们想从这个DP中抽取出一些样本,怎么抽呢?由于这个原因,我们有了下面三种构造性定义或者解释: 中国餐馆过程(CRP),polya urn ,stick-breaking。


第二种:中国餐馆过程(CRP)


假设一个中国餐馆有无限的桌子,第一个顾客到来之后坐在第一张桌子上。第二个顾客来到可以选择坐在第一张桌子上,也可以选择坐在一张新的桌子上,假设第 n1 个顾客到来的时候,已经有 k 张桌子上有顾客了,分别坐了 n1,n2,...,nk 个顾客,那么第 n1 个顾客可以以概率为 ni/(α+n) 坐在第 i 张桌子上, ni 为第 i 张桌子上的顾客数;同时有概率为 α/(α+n) 选取一张新的桌子坐下。那么在 n 个顾客坐定之后,很显然CRP把这 n 个顾客分为了 K 个堆,即 K 个clusters,可以证明CRP就是一个DP。


注意这里有一个限制,每张桌子上只能有同一个dish,即一桌人喜欢吃同一道菜。


第三种:Polya urn模型


假设我们有一个缸,里面没有球,现在我们从一个分布H中选取一种颜色,然后把这种颜色涂在一个球上放入缸中;然后我们要么从缸中抽取一个球出来,然后再放入两个和这个球同种颜色的球进入缸中;要么就从分布H中选取一个颜色,然后把这种颜色涂在一个球上放入缸中。从缸中抽取某种颜色的一个球的概率是 ni/(α+n) ni 是这种颜色的球的个数,n是总的球个数;不从缸中抽取而放入一种颜色的球的概率是 α/(α+n) 。很明显,polya urn模型和CRP有一一对应的关系,颜色对应一个桌子,坐新桌子对应于不从缸中选取而是从H中选取一种颜色涂球放入缸中。


第四种:stick-breaking模型


假设有一个长度为1的线段,我们从中选取  π1  长出来,剩下的部分再选取  π2  出来,循环下去, πn  ,无穷下去,这个有点类似我们古代的一句话:


“一尺之踵,日取其半,万世不竭”,它们满足 πi=1


对每个  πi  ,我们都从分布H中选取一个 θi ,然后从 F(θi) 中选取出一个 xi 出来。这里的  θi  就对应一个cluster,类似地,我们可以看到数据自然地被分为了各个堆,可以证明这个模型仍然是一个DP。


第五种:无限混合模型


从stick-breaking模型我们看出,我们可以把DP看着是一个无限混合模型,即


Ginf1πiF(θi) ,其中 πi1 πi  就是混合模型中每个子模型的权重。


目前应用最多的还是从第五种角度来看待问题,即把DP看着是一个无限混合模型,其中值得注意的是:


1)虽然DP是一个无限混合模型,但是可以证明,随着数据的增多,模型的个数是呈现log 增加的,即模型的个数的增长是比数据的增长要缓慢得多的;


2)DP是有一个马太效应在里面的,即越富裕的人越来越富裕,我们可以从第二和第三种解释中看到,每个桌子或者颜色已经有的数据越多,那么下一次被选中的概率越大,因为是与在桌子上的个数成正比的。


DP是一个复杂的随机过程,需要进一步深入理解,下篇将会继续这个话题。


转载:http://blog.csdn.net/xianlingmao/article/details/7342837



Dirichlet distribution,对于做主题模型(topic model)研究特别的重要,因为很多模型之中都需要它作为先验分布。


本来这个分布Wikipedia和大多数的教科书已经讲得非常清楚,没有必要在这里多介绍,但是最近在理解Dirichlet process过程中,发现从另外一个角度来理解Dirichlet Distribution,对于理解Dirichlet Process有一定的帮助,特此介绍如下。


传统的Dirichlet Distribution的形式:


P(x1,x2,...,xk|α1,α2,...,αk)k1(xi)(αi1)


Dirichlet Distribution是分布的分布,其中 xi=1



另外一种形式:


P(x1,x2,...,xk|α,M)k1(xi)(αMi1)


其中, Mi=1 。从而M可以看做一个分布。可以记为: PDir(α,M)


下面我们来看看Dirichlet process的定义:


对于一个空间,已经有一个分布M,和一个正实数 α ,如果对于该空间的任意可数划分 A1,A2,...,An ,都有


(G(A1),G(A2),...,G(An))Dir(αM(A1),αM(A2),...,αM(An))=Dir(α,M)


其中,Dir是一个dirichlet distribution, M是[M(A1), M(A2), ..., M(An)]的概率向量。我们就称G是一个Dirichlet Process。


注意观察这个定义与Dirichlet Distribution的第二种形式的异同,Dirichlet distribution描述了空间上的一种划分情况下的分布,而Dirichlet Process描述了整个空间上的所有划分的情况下的分布情况,M是人们对于分布的主观看法,而 α 就是描述如果抽样的话,会多好地接近分布M。即M是Base Distribution, α 是精度。


这样,我们就可以把Dirichlet Distribution和Dirichlet process更加统一地来看待,同时加深我们对于它们的理解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值