Dirichlet Process-非参数贝叶斯(1)
来源:互联网 发布:安妮舞会公主皮肤淘宝 编辑:程序博客网 时间:2024/05/29 11:00
狄利克雷过程(dirichlet process )是目前变参数学习(non parameter)非常流行的一个理论。
随机过程可以看做一个可数无穷多的随机向量的集合(astochastic process is an indexed collection of random variables,where the index set can be infinite)
dirchlet process由两个参数(/alpha, 基本分布H)定义,生成无限数量的随机变量,
这些随机变量的联合分布是dirchlet distribution(有限维)在无限维上的推广,同dir和beta分布一样,可以用作无限维multinomial的共轭先验
(注意,虽然Dirichlet process和无限维multinomial理论上是“无限维”,但是在有限个可见训练/测试样本中,其表现为有限维,
也就是说,我们不必预先指定类别数量K,而是,当新类别的样本出现时,将自动被打上新标签,这是non parametric的基础
另有一种算法叫Bayesian finite mixture model,也能从样本中推断出类别数,但是这模型的类别数有一个预设上界K,而DPMM(Dirichlet Process mixture model)的类别数没有上界)
1.Dirichlet Process 的定义
假设存在在度量空间\Theta上的分布H,和一个参数\alpha,
G是在度量空间\Theta上的一个分布(意思是对任意theta的子集A,G(A)是一个函数,使得0<G(A)<=1, 且具备可加性,且G(\theta)=1)
如果对于度量空间\Theta的任意一个可数划分(可以是有限或者无限的)T1, T2,...,Tn,都有下列式子成立:
这里Dir是dirichlet 分布,我们称G是满足Dirichlet process的。H也成为base distribution。
举个简单的例子,
在CRP中,Ti可以看成是第i张桌子,G(Ti)就是第i张桌子的概率
(G(1),G(2),...,G(K))~Dirichlet(alpha/K,alpha/K,....alpha/K),
在K趋于无穷大时候的情况
以下为DP的性质。
这个定义是1973年Ferguson最早提出的,比较晦涩。有三种构造性方法:Polya urm model,chinese restaurant proces,Stick-breaking construction
基本的构造是这样:
2. Polya urm model
假设存在可数无限多种颜色的球,一个空的urn
1. 第一次,按照H分布选定一个颜色,取出对应颜色的球放入urn中
2. 后续,有两种选球法,按其中之一选定一个颜色,取出对应颜色的一个球放入urn中
i)按均匀分布从urn中取出一个球,按该球的颜色取
ii)按H分布选定一个颜色
则有
也就是
其中Xi表示第i个摸出来的球的颜色;
在chinese restaurant process中,Xi表示第i个客人选中的桌子,
可以看出,polya urn model和chinese restaurant process都满足exchangeable性质,因此可以表示为上面的(1)式。
此时随机元素G就是dirichlet process。
(但是我不知道(6)和(4)如何等价???在http://www.iro.umontreal.ca/~lisa/seminaires/31-10-2006.pdf看到一个解释是在K->无穷时,
3.Stick-breaking construction
可以看出,G的生成方法是,先按照H分布抽取出无限样本点,然后/pai_k重新赋权。这是一个取值无限的离散分布(取值点数量是可数无穷,而如果H是实数上的分布,取值点数量是阿列夫1哦),每次抽取,可以抽取出不同的/beta,H,生成不同的G。
可以证明G是dirichlet process。(stick-break 来源是/pai数列,这有点象每次从长度为1 的木棍上折下一定的长度,E(/beta)=1/(1+/alpha),当/alpha较小,则开始几个木棍会很长,也就是说,如果用它作为聚类的prior,将会倾向于分成更少更大的类)
Stick-breaking 和之前CRP和urn的关系是
Imagine running either the Chinese Restaurant Process or the Polya Urn Model without stop. For each group
Thus, the Stick-Breaking process is simply the CRP or Polya Urn Model from a different point of view. For example, assigning customers to table 1 according to the Chinese Restaurant Process is equivalent to assigning customers to table 1 with probability
Dirichlet process is one way to specify a distribution over a measure space
所以,G不是一个固定的分布,也是一个随机量。G~DP(/alpha,H),DP是分布G的分布,每次抽出一个G,可以抽出很多不同的G,这些G符合同一个分布
----------------------------------------------------------------------------------------------------
附录:infinitely exchangeable性质相关性质
1.在de finetti的数学书中,他证明了,当一个可数无限维随机变量集合{x1,x2,...}满足infinitely exchangeable性质,即,对集合中取出任意N个元素,组成一个集合{x1,x2,...,xN} 如果其上的联合概率和顺序无关,即对{1,2,..N}的任意新排列,记为C1,C2...CN,有P(x1,x2...xN)=P(x_C1,x_C2,...,X_CN),则P(x1,...xN)可写成如下形式:
(1)
也就是说可以把G当成一个类似于参数的东西,使得联合概率中,每个xi相对于G独立,P(G)是参数G的先验概率分布。
这个式子中G可以是无限维的,此时P(G)也由分布推广到了一个随机过程
在上述3个模型中,可以证明,都满足infinitely exchangeable性质,也就是说,由G过程中可以生成一族X变量,在urn中,xi是第i个球的颜色,CRP中,Xi是第i个人的桌子
同时,这个性质也为使得用MCMC求解DPMM成为可能
参考文献:
jardon的入门介绍:Bayesian Nonparametric Learning:Expressive Priors for Intelligent Systems
google到的另一个不错的入门介绍:http://www.cns.nyu.edu/~eorhan/notes/dpmm.pdf
http://www.iro.umontreal.ca/~lisa/seminaires/31-10-2006.pdf
http://blog.csdn.net/sunmenggmail/article/details/7429756
- Dirichlet Process-非参数贝叶斯(1)
- 狄利克雷过程(Dirichlet Process)
- 【非参数贝叶斯学习系列】Dirichlet distribution学习笔记
- 【非参数贝叶斯学习系列】Dirichlet distribution学习笔记
- Dirichlet Process & Dirichlet Distribution
- Dirichlet Process
- dirichlet process
- 狄利克雷过程(dirichlet process )和分布
- Dirichlet Process 和 Hierarchical Dirichlet Process
- Dirichlet Process and Hierarchical Dirichlet Process
- Dirichlet Process and Hierarchical Dirichlet Process
- Dirichlet Process and Hierarchical Dirichlet Process
- 狄利克莱过程模型(一):非参数贝叶斯无限混合模型和Dirichlet过程
- dirichlet mixture process
- Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
- 狄利克雷过程(dirichlet process )的五种理解
- 狄利克雷过程(dirichlet process )的五种理解
- 狄利克雷过程(dirichlet process )的五种理解
- 3D蓝光影碟的SSIF文件
- java图片处理类(图片水印,图片缩放)
- 小猴子蓝裤黄袄 即时通讯
- error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or di
- 信息检索之索引构建
- Dirichlet Process-非参数贝叶斯(1)
- java图片处理类(图片水印,图片缩放)
- 【eclipse】打开java文件,注释内容为乱码!
- 可变参数宏
- dhcp log
- Hibernate进阶(1)--框架概述
- 关于索引访问的一些探讨
- fzu 2038 Another Postman Problem(递归求解)
- 第一次做版PCB小节(修改二)