从折棍子(Stick Breaking)模型到狄利克雷过程(DP)
2017-01-09 11:58
1101 查看
折棍子(Stick Breaking)过程
先定义一个变量序列β1,β2,...,βi,...,其中,βi∼Beta(1,α)根据Beta分布的性质,0<βi<1,(i=1,2,...)
然后折棍子(Stick Breaking)过程就来了:
有一根长度为1的根子(Stick)
1)截取这根棍子长度为β1的一段,并令π1为这一段的长度β1,且棍子剩下的长度为L1=1−β1;
2)截取剩下棍子L1长度为L1β2的一段,并令π2为这一段的长度(1−β1)β2,且棍子剩下的长度为L2=L1(1−β2);
3)截取剩下棍子L2长度为L2β3的一段,并令π3为这一段的长度(1−β1)(1−β2)β3,且棍子剩下的长度为L3=L2(1−β3);
...
其图示过程如下:
引入β0=0,则πi=βi∏i=0i−1(1−βi)
把这根棍子不断折下去,可以得到很多个πi,而且很容易知道有∑i=1∞πi=1
好,一个比较难理解的概念来了:可以将π1,π2,⋯看作关于正整数的随机概率分布
我的理解:抽样出正整数1的概率为π1,抽样出正整数2的概率为π2,⋯,抽样出正整数i的概率为πi
而且这个概率分布有一个参数α,于是,我们把这么一个过程记为πi∼GEM(α)(GEM分别是Griffiths, Engen和McCloskey的首字母)
我们再来看看,当α取不同的值时,这个概率分布大概什么样子
当α=1时,πi的前30次抽样结果如下
而当α=5时,πi的前30次抽样结果如下
可以看到,这里α控制差πi的“衰减”速度,且α偏小的时候衰减得更快
定义分布函数G
已知一个分布函数H,然后由此定义一个序列ϕ1,ϕ2,⋯,ϕi,⋯,其中的每个元素由从分布H中抽样得到,即ϕi∼H好,一个比较难理解的概率来了,假设δϕi是ϕi点的概率测度
这里可以理解成,在分布H中抽样得到ϕi附近的点的可能性的大小。
我们知道,当抽样多个点的时候,这些点更多的集中在H的函数值较大的地方。但是,对于单个点而言,它的采样概率是0(正如点的面积是0),这种采样点分布的性质不能用概率来很好的描述。而概率测度这么一个概念,则能较好地描述这一性质,即采样到这一点“附近”的可能性的大小,当然数学上如何严格定义这里的“附近”则是另一番话了。
定义一个概率分布
G=∑i=1∞πiδϕi(这里的πi就是上文里定义的πi)
这个又不大好理解了。可以认为在分布G中,采样到点ϕ1,ϕ2,⋯,ϕi,⋯的概率分别为π1ϕ1,π2ϕ2,⋯,πiϕi,⋯
注意,这里又可以用“概率”这么一个词了,因为这个地方定义的分布G是一个离散的分布了。
Sethuraman这么大神,证明了如此构造的分布函数G是服从Dirichlet Process的,即,
G∼DP(α,H)
关于DP的正式定义,可见我的另一篇博客《由中餐馆过程(CRP)理解狄利克雷过程(DP)》,http://blog.csdn.net/sysuhu/article/details/53725696
如何证明,我也没有深究过,后面如果有空再研究研究。
【简单描述下我的理解,暂且到这里了】
Free Mind的blog:概率与测度系列
http://blog.pluskid.org/?page_id=770
周建英,王飞跃,曾大军:分层Dirichlet过程及其应用综述
http://www.cnki.net/KCMS/detail/detail.aspx?filename=MOTO201104001&dbname=CJFD2011&dbcode=CJFQ
相关文章推荐
- [置顶] Dirichlet Process and Stick-Breaking(DP的Stick-breaking 构造)
- DPMM(狄利克雷过程混合模型)浅解和添加似然函数的问题
- 统一软件开发过程之1:创建领域模型
- RUP过程与UML模型驱动开发应用实例
- 软件测试过程模型的种类之--------------前置测试模型
- ASP.NET运行模型——ASP.NET页面处理过程
- 软件开发过程模型
- 软件测试过程模型:V模型 W模型 H模型
- 软件测试过程模型
- 微软软件开发过程与团队模型
- 软件测试过程模型:V模型 W模型 H模型
- MPEG4 & H.264学习笔记之三 ------ 图像模型(图像处理过程)
- 过程、过程模型、规程
- 软件测试过程模型的种类之--------H模型
- 软件测试过程模型
- 图书馆惊魂记之一(一个简单的领域模型的建立过程)
- 工作流建模过程中的模型挖掘
- 微软软件开发过程与团队模型
- 软件测试过程模型 ZT
- 灰色模型计算过程