来源:http://hi.baidu.com/vyfrcemnsnbgxyd/item/2f10ecc3fc35597dced4f88b

Dirichlet Process(DP)是一个很重要的统计模型,其可以看做是Dirichlet分布的一种在连续空间的推广过程。在统计学习中,DP尤其是其变形有很多 重要应用,是非参贝叶斯学习的重要方法。不过目前缺乏对于这样一个模型的入门级的介绍,本文将会介绍如何从Dirichlet分布演变到 Dirichlet Process,从而帮助大家更容易地踏入这个领域。其中也会有很多疏漏,请读者指正。

另一篇关于Dirichlet Distribution的博文  The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)

Dirichlet Distribution

首先,我将简单地介绍Dirichlet分布。Dirichlet分布可以看做是分布之上的分布。如何理解这句话,我们可以先举个例子:假设我们有 一个骰子,其有六面,分别为{1,2,3,4,5,6}。现在我们做了10000次投掷的实验,得到的实验结果是六面分别出现了 {2000,2000,2000,2000,1000,1000}次,我们可以简化一下,认为这个骰子的六面出现的概率分别为其出现的次数与试验总数的比 值,则我们得到六面出现的概率,分别为{0.2,0.2,0.2,0.2,0.1,0.1}。现在,我们还不满足,我们想要做10000次试验,每次试验 中我们都投掷骰子10000次。我们想知道,出现这样的情况使得我们认为,骰子六面出现概率为{0.2,0.2,0.2,0.2,0.1,0.1}的概率 是多少。这样我们就在思考骰子六面出现概率分布这样的分布之上的分布。而这样一个分布就是Dirichlet分布。

现在我们给出一个数学化的定义,Dirichlet分布形式如下:

?

其中,满足:

?

?

Theta是我们所希望的一种分布可能,在上面的例子中,可以认为是{0.2,0.2,0.2,0.2,0.1,0.1}这个结果,注意,这个结果 只是其很多结果中的一种。我们称M为base measure,其定义在我们的事件空间上,在骰子的例子中,就是我们认为,这个骰子的六面分别应该出现的概率。而alpha为一个精度参数,来表示这个 在分布之上的分布,有多靠近M这个基准。这个参数,从一定意义上,可以看做在整个实验之前,我们在脑子中进行的虚拟实验的数量,也就是投掷骰子出现1-6 的总次数。通过这么多次的虚拟实验,我们得到了M这样一个基准,作为我们判别的标志。所进行的虚拟实验的次数越多,我们认为M越可信。

Dirichlet Process

接下来,我们将从Dirichlet分布过渡到Dirichlet Process。

我们再来看刚才那个骰子的例子,我们用一种形式化的语言来描述这个问题:认为骰子的事件空间,就是掷骰子得到1到6中的一个结果为X,则X = {X1,X2,X3,X4,X5,X6}。 那么对于刚才那个问题,就可以看做在这个事件空间之上,有一个分布,用Theta表示。而我们的Dirichlet分布是建立在这个分布之上的分布,其参 数为alpha和M。

现在,我们换一个角度来看这个问题。我们现在是单纯地将骰子分成了6组,每组对应一个独立的事件。事实上,我们完全可以按照我们的想法来对其分组。 假如我们现在对事件空间进行重新分组,则我们将会得到完全不同的结果。比如我们分成3组,每组对应2个事件的话,我们将会得到一个新的Theta,即新的 分布。而我们对于这个新的分布,又能够建立一个新的对应的Dirichlet分布。

好,让我们推广一下,用一些形式化的语言来描述一下一般情况。对于给定的一个事件空间X,我们将其划分为n组,使得其满足:

?

?

?

对于这样一个分划,我们可以在其上定义一个对应的Dirichlet分布:

?

我们观察这个分布,我们发现这个式子其实是暗含了,对于事件空间上的任意一种分布,我们都可以有一个对应的Dirichlet分布存在。那么我们定 义Dirichlet Process为所有的划分上的所有分布所构成的空间上的唯一分布。这个定义也许很tricky,我们可以分两层来理解:首先对于事件空间X,是存在各种 分布的,而这些分布可以对应于各种划分。其次,这些分布本身,构成了一个由分布组成的空间,而定义在这个空间之上的分布,就是我们所定义的 Dirichlet Process。

转:Simple Introduction to Dirichlet Process的更多相关文章

  1. Notes on the Dirichlet Distribution and Dirichlet Process

    Notes on the Dirichlet Distribution and Dirichlet Process In [3]: %matplotlib inline   Note: I wrote ...

  2. Dirichlet Process 和 Dirichlet Process Mixture模型

    Dirichlet Process 和 Dirichlet Process Mixture模型 [本文链接:http://www.cnblogs.com/breezedeus/archive/2012 ...

  3. 转:狄利克雷过程(dirichlet process )的五种理解

    狄利克雷过程(dirichlet process )的五种理解  原文:http://blog.csdn.net/xianlingmao/article/details/7342837   无参数贝叶 ...

  4. A Simple Introduction To Computer Networking

    Most networking discussions are a jumble of acronyms. Forget the configuration details - what are th ...

  5. The Most Simple Introduction to Hypothesis Testing

    https://www.youtube.com/watch?v=UApFKiK4Hi8

  6. Dirichlet Process

    http://www.cnblogs.com/zhangbojiangfeng/p/5962039.html [各种函数推导]

  7. 狄利克雷过程(Dirichlet Process)

    0. 引入 现观察得到两个样本 θ1,θ2,来推测它们可能来自的分布: 假设来自于连续型概率密度函数, θ1,θ2∼H(θ) 则 θ1,θ2 相等的概率为 0,p(θ1=θ2)=0 概率为 0,不代表 ...

  8. A simple introduction to Three kinds of Delegation of Kerberos

    1.What is Delegation? Just like the name. Delegation is that a server pretend to behalf of a user an ...

  9. An Introduction to Variational Methods (5.1)

    在这篇文章中,我引用Bishop书中的一个例子,来简单介绍一下Variational Methods的应用.想要更详细地理解这个例子,可以参考Bishop的书Pattern Recongnition ...

随机推荐

  1. Jsp刷新分页模板,很全

      1.用来实现上一页下一页,我直接写到查询页面上 <%--page的分页--%> <style type="text/css"> a { color: # ...

  2. C#函数库

    //读取文本文件并返回内容不同的那一行         public static String different(String sOldFile, String sNewFile)         ...

  3. Odd CSS syntax. [class^='icon-'], [class*=' icon-']

    原文: https://stackoverflow.com/questions/20322740/odd-css-syntax-class-icon-class-icon I am going thr ...

  4. 惊喜Skr人,Istio的创始人Shriram Rajagopalan手把手教你如何使用Istio

    Shriram与来自Google.Lyft.IBM和其他公司的社区贡献者们一起并肩作战,积极地向Istio和Envoy项目作贡献.同时,Shriram是IBM的Amalgam8项目的创始成员之一.目前 ...

  5. 了解Python控制流语句——while 语句

    while 语句 Python 中 while 语句能够让你在条件为真的前提下重复执行某块语句. while 语句是 循环(Looping) 语句的一种.while 语句同样可以拥有 else 子句作 ...

  6. linux 学习总结---- mysql 总结

    用户的创建 ---->修改 ---->删除用户 create alter drop (数据定义语言 DDL) 授权: insert update delete grant *.* revo ...

  7. 三个线程ABC,交替打印ABC

    转载与:https://www.cnblogs.com/x_wukong/p/4009709.html 创建3个线程,让其交替打印ABC . 输出如下:  ABCABCABCABC. 方法:使用syn ...

  8. JavaScript写的一个带AI的井字棋

    最近有一门课结束了,需要做一个井字棋的游戏,我用JavaScript写了一个.首先界面应该问题不大,用html稍微写一下就可以.主要是人机对弈时的ai算法,如何使电脑方聪明起来,是值得思考一下的.开始 ...

  9. NOIP2012 普及组真题 4.13校模拟

    考试状态: 我今天抽签看了洛谷的… 这我能怂???凶中带吉,我怕考试??我!不!怕! 看着整个机房的男同学们,我明白我是不会触发我的忌了.很好,开刷. A. [NOIP2012普及组真题] 质因数分解 ...

  10. 开关灯问题(C++)

    [问题描述] 假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态:有 M 个人(M 为不大于 N 的正整数)也从 1 到 M 依次编号.第一个 ...