Dirichlet distribution的另一种理解,对应的如何解释dirichlet process

18 篇文章 0 订阅
13 篇文章 0 订阅

参考:http://quangang.l.blog.163.com/blog/static/183178129201291714853572/

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


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这个基准。表示theta的分布有多么接近M base distribution,alpha越大,就越接近,alpha为precision的measure。这个参数,从一定意义上,可以看做在整个实验之前,我们在脑子中进行的虚拟实验的数量,也就是投掷骰子出现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。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值