美文网首页嵌牛IT观察
深入理解Dirichlet过程

深入理解Dirichlet过程

作者: 错错对 | 来源:发表于2017-12-13 11:14 被阅读0次

姓名:王怀帅  学号:16040410035

转载自:http://www.jianshu.com/p/096a8a7ca173c=有修改

【嵌牛导读】:Dirichlet分布(Dirichelt Distribution)和Dirichlet过程 (Dirichlet Process)广泛应用于信息检索、自然语言处理等领域,是理解主题模型的重要一步。而且它作为一种非参数模型(non-paramatric model),和非参数模型一样有着越来越广泛的应用空间。

【嵌牛鼻子】:随机过程、高斯过程、Dirichlet分布、Dirichlet过程

【嵌牛提问】:如何理解Dirichlet分布在处理随机过程与高斯过程中的性质?

【嵌牛正文】:

随机过程

粗略地说,随机过程是概率分布的扩展。我们一般讲概率分布,是有限维的随机变量的概率分布,而随机过程所研究的对象是无限维的。因此,也把随机过程所研究的对象称作随机函数

随机变量之于概率分布,就像随机函数之于随机过程

机器学习领域常见的随机过程有:Gaussian Process, Dirichlet Process, Beta Process, Gamma Process等等。

高斯过程

理解Dirichlet过程,可以类比高斯过程。高斯过程(GP)是定义在函数上的概率分布

这里的f(x)被称作随机函数,每一个x对应的f(x)都是一个随机变量,可以将这个随机函数看做是多维随机变量的扩展。由于我们一般考虑的函数的定义域都包含无限个自变量(如定义域为实数域),无法显式地写出其联合概率密度函数,因普通的多维随机变量的定义无法表示高斯过程的定义。

所以,一般的随机过程包括高斯过程,都是通过一个边缘概率密度函数(f(x1), f(x2), ..., f(xn))来定义的。

这相当于我们无法一次看完一个无限的东西,所以想了个办法,对它的局部照相。对于任何局部(x1, x2, ..., xn),我们都有一个相片(f(x1), f(x2), ..., f(xn))。这里,均值m和协方差c唯一地决定一个GP。

Dirichlet分布

Dirichlet分布是定义在K维概率单纯形(K-dimentional probability simplex)上的分布

K维概率单纯形,说的好像很复杂,其实就是和为1,因此可以将pi看作是一个概率分布。

Dirichlet分布的概率密度函数是

Dirichlet有很多优美的性质,比如将这里的随机变量的元素拆分或者合并,结果还是服从Dirichelt分布。如下

Dirichlet过程

Dirichlet过程(DP)是定义在概率测度上的分布

概率测度也就是概率,它是定义在样本空间sigam域上的函数,满足一定的性质。样本空间就是我们要研究的空间 ,比如主题模型中所有的词构成的空间就是我们的样本空间。sigma域也很简单,就是该空间的所有的子集构成的空间。对于有n个元素的样本空间 ,它的sigma域有2^n个元素。这里的“满足一定的性质”,主要指可列可加性。通俗地说,即一些不相交集合的并的概率等于对每个集合的概率作和。

和GP类似,我们无法显式地定义DP。那只能对DP的局部“照相”。如何照相呢?

设G是一个随机概率测度,对样本空间做一个划分(A1, A2, ..., Ak),(G(A1), G(A2), ..., G(Ak))就可以看做一张相片。这里的 G(A1), G(A2), ..., G(Ak)也是一个多维随机变量,和高斯过程中的f(x1), f(x2), ..., f(xn)相当。而且由于G是概率测度,我们还能得出G(A1)+G(A2)+...+G(Ak)=1,即一个划分和一个概率测度唯一地决定了一个概率分布。

如果对样本空间的任意一个划分(A1, A2, ..., Ak),都有(G(A1), G(A2), ..., G(Ak))满足Dirichlet分布。那么我们称G是一个Dirichlet过程。

记为

H是一个基分布(base distribution),可以看做G的期望;alpha是系数,可以看做G的方差的“倒数”。

相关文章

  • 深入理解Dirichlet过程

    姓名:王怀帅 学号:16040410035 转载自:http://www.jianshu.com/p/096a8a...

  • 深入理解Dirichlet过程

    Dirichlet分布(Dirichelt Distribution)和Dirichlet过程 (Dirichle...

  • 主题模型LDA理解与应用

    本文主要用于理解主题模型LDA(Latent Dirichlet Allocation)其背后的数学原理及其推导过...

  • JVM读书笔记

    深入理解JVM(1) : Java内存区域划分 深入理解JVM(2) : Java堆中对象创建、布局、访问全过程 ...

  • 【MySQL】深入理解mysqldump过程

    前言:相信大家对mysqldump应该不陌生,但是大家对mysqldump的原理及备份过程真的熟悉吗?今天,我们一...

  • 深入理解Elasticsearch写入过程

    Elasticsearch 是当前主流的搜索引擎,其具有扩展性好,查询速度快,查询结果近实时等优点,本文将对Ela...

  • 我所理解的iOS runtime

    从一下方面来深入研究: 理解面向对象的类到面向过程的结构体 深入理解OC消息转发机制 理解OC的属性propert...

  • 2020-06-16

    HTTP与HTTPS的区别 深入理解iOS App的启动过程 从一道网易面试题浅谈OC线程安全 深入理解 Tagg...

  • Android中Service启动过程及绑定过程

    先了解以下2篇,可以对Service的启动过程有更好的理解Android应用程序进程启动过程Binder深入理解及...

  • 基于LDA的主题分析模型

    WikipediaIn natural language processing, latent Dirichlet...

网友评论

    本文标题:深入理解Dirichlet过程

    本文链接:https://www.haomeiwen.com/subject/kvraixtx.html