DPMM的理解、公式推导及抽样

来源:互联网 发布:手机midi键盘软件 编辑:程序博客网 时间:2024/06/06 02:23

DPMM学习的基础及相关论文

学习DPMM(Dirichlet 过程混合模型)之前,首先要去理解DP过程及其三种构造方式,(1)Stick-breaking 构造,(2)Polya urn scheme 构造,(3)Chinese restaurant process 构造。这三种构造是学习DPMM及HDP,还有其他非参模型的基础工作。

关于Stick-breaking 构造可以参考我的一篇博客:http://blog.csdn.net/qy20115549/article/details/62041632
这三种构建在论文:
周建英, 王飞跃, 曾大军. 分层 Dirichlet 过程及其应用综述[J]. 自动化学报, 2011, 37(4): 389-407.

其他论文还有:
Teh Y W, Jordan M I, Beal M J, et al. Sharing clusters among related groups: Hierarchical Dirichlet processes[C]//Advances in neural information processing systems. 2005: 1385-1392.
Navarro D J, Griffiths T L, Steyvers M, et al. Modeling individual differences using Dirichlet processes[J]. Journal of mathematical Psychology, 2006, 50(2): 101-122.

Gibbs Sampling Methods for Dirichlet Process Mixture Model Technical Details
这些论文都有介绍DP的基础以及DPMM模型及HDP模型的内容。

DPMM的通俗理解

DPMM的思想是:假设我们现在有一个巨大的空间,整个空间中包含了无数的混合组成成分,每次选择其中的几个成分,然后利用这几个成分生成一组数据。我们把一组一组的数据放在一起,就得到了我们现在所拥有的数据。
所以DPMM有着很好的聚类性质,该模型能够实现一组数据的聚类和分析。但是研究多组数据的聚类问题时, 单纯利用Dirichlet 过程混合模型是无法实现建模分析的,比如说多篇文档的聚类。这时就出现了HDP模型。在之后的博客中,我会介绍HDP的理解。

DPMM的模型及生成过程

这里写图片描述
那么观测数据是通过如下方式生成的:
这里写图片描述

另外一张图使用stick-breaking构造的理解为:

这里写图片描述

可以很容易的理解,ϕk表示可以用来混合数据的部分,πk表示混合的权重,其中,k=1πk=1

以下是另外一篇文章的模型图描述:
这里写图片描述

其生成过程如下:

这里写图片描述

其中,x表示数据,为了简单起见,这里你就把他看成单词,g表示理解成组或者簇(group),w表示混合权重(服从stick-breaking先验),θ表示组的词分布。

抽样推导过程

由于在这里编辑公式太麻烦,我就直接上我的word截图。
这里写图片描述
这里写图片描述

抽样流程

请看Gibbs Sampling Methods for Dirichlet Process Mixture Model Technical Details这篇文章,这篇文章提供了四种抽样算法。