Dirichlet Process and Stick-Breaking(DP的Stick-breaking 构造)

来源:互联网 发布:淘宝网创业计划书 编辑:程序博客网 时间:2024/06/06 03:32

目录

  • Dirichlet Process简介
  • Stick-Breaking构造

本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流。
未经本人,允许禁止转载。

下面是本文博客的另一个地址,该网站是师兄弄得一个专门做机器学习的网站,非常不错。
http://www.datalearner.com/blog/

Dirichlet Process简介

DP是一种非参数贝叶斯模型, 其优点是参数的个数和性质灵活可变, 可通过模型和数据来计算数目, 近年来它已成为机器学习和自然语言处理研究领域中的一个研究热点。举个例子,我们在使用聚类方法k-means时,需要指定k的值(聚成k个簇);在使用LDA时需要指定主题的数目k,但通过DP过程这种非参方法,可以不指定k,而是通过数据学习,自动获取k值。

如下所示为混合模型对等的两个图,其中图二是从随机测度的角度画的概率图。正如图中提到的问题,当k趋向于无穷大的时候,该怎么办呢?

这里写图片描述

Stick-Breaking构造

在上图中,当 k时,有 G=k=1πkδϕk,所有的ϕk是独立的,并且从 G0抽取。随机序列{πk}k=1的总和为1。Sethuraman 证明如此构造的分布函数服从 Dirichlet 过程 DP(α0,G0) 分布的一个随机分布。
这里写图片描述

如下公式表达为Stick-breaking 构造:


βk|α0,G0Beta(1,α0)
ϕk|α0,G0G0

则定义随机分布G如下:
πk=βkk1l=1(1βl)G=k=1πkδϕk

其中,Beta(1,α0)为常见的beta分布。δϕϕ点的概率测度。

Stick-breaking 构造可以形象地解释为:对长度为1的棒子在比例β1处切割, 并将切掉的这部分长度赋值给π1, 而后对剩余长度为1π1 的棒在其比例 β2处切割, 并将切掉的棒的长度赋值给π2,而后按照相同的方式对剩余的棒在比例 βk 处切割,并将切掉的棒的长度赋值给πk


这里写图片描述
这里写图片描述

第一次减掉的比例为:β1,则π1=β1。此时,棒子的剩余长度为:1β1
第二次减掉的比例为:β2,此时π2=β2(1β1)。棒子的剩余长度为:1β1β2(1β1)=(1β1)(1β2)
以此类推。。。。。

这里写图片描述

参考文献:
(1)徐谦, 周俊生, 陈家骏. Dirichlet 过程及其在自然语言处理中的应用[J]. 中文信息学报, 2009, 23(5): 25-33.
(2)周建英, 王飞跃, 曾大军. 分层 Dirichlet 过程及其应用综述[J]. 自动化学报, 2011, 37(4): 389-407.
(3)Dirichlet Process and Stick-Breaking

0 0