DPMM和HDP 非参数贝叶斯(2)

来源:互联网 发布:java简历工作经历 编辑:程序博客网 时间:2024/06/15 22:39

图1: DPMM(Dirchlet process mixture model) 

以上为DP对应的图模型,基本分布为G0,这里假设是一个高斯模型(可以是连续或者离散),

G~DP(/alpha0, G0),G为随机生成的一个DP,构造的过程即为参见前一篇博客中的Strick break过程。可以看出,G为一个离散的无限维分布(也就是随机过程)

/thetai ~G,这个抽取过程可以参见前文中的polya urn或者CRP,这里每个theta值即为对应球的颜色,当然也可以对应于多维随机变量

xi~P(/thetai),就是根据一组参数生成对应分布的过程了

可以对比一下LDA。当然这里只对应于单个文档的情况,LDA其实更类似于以下的HDP

在http://blog.csdn.net/windows2/article/details/10426383对应的LDA图中,

G相当于LDA中的/theta,/theta相当于LDA中的Zm,n(或者对应的参数/phi_z), xi相当于LDA中的wm,n.


图2:Hierarchical Dirchlet process

这个过程比上图DP增加了1层,

G0~DP(/alpha0, H)

Gi~DP(/alpha0, G0)

注意,这里的H相当于上图中的G0,可以是任意离散或者连续的分布(如高斯分布)

这里增加一层的意义在于,

i)第一层GP生成的G0,是一个无限维离散分布。由DP的性质,以G0为基础分布生成的Gi,其定义域只能是G0定义域的一个子集

也就是说,对于不同的i,Gi将有共同的离散的定义域。离散分布的意义是,对某些取值x,P(x)可以比较大,所以不同Gi生成的/theta_ij将很可能取到相同的值。而连续分布则几乎不可能发生取值相等这种事情。

(对比一下LDA,Gi相当于LDA中的/thetai,/thetaij相当于LDA中的Zm,n(或者对应的参数/phi_z), xij相当于LDA中的wm,n. G0是Gi的先验分布,在LDA中,这个先验概率有K个离散的取值,而在HDP中,这个取值可以有无限个。这两个模型非常相似)

ii)这种做法具有推广性,如在树状的图模型中,上层的G作为下层DP的基础模型,他们将具备一个相同的离散的取值范围。

(如树状的图模型可以用在多个corpus的文档中,比单个文档集合多了目录分支等)


*HDP对应的CRP称为Chinese restaurant franchise


该过程假设有多个restaurant,每个restaurant对应一个子过程。每个桌子的客人公用一个dish,对应于之前的球的颜色。所有的restaurant共用同一份菜单。


详细的资料可以参见

1.Bayesian Nonparametric Learning:Expressive Priors for Intelligent Systems

2.Hierarchical Dirchlet process

0 0