Dirichlet Process 和 Dirichlet Process Mixture模型

Dirichlet Process 和 Dirichlet Process Mixture模型

[本文链接:http://www.cnblogs.com/breezedeus/archive/2012/11/05/2754940.html,转载请注明出处。]

Dirichlet Process (DP)被称为分布的分布。从DP抽取出的每个样本(一个函数)都可以被认为是一个离散随机变量的分布函数,这个随机变量以非零概率值在可数无穷个离散点上取值。比较有意思的是,从DP可以推导出几个非常著名的问题: Chinese Restaurant Process (CRP)、Polya Urn Scheme和Stick-breaking Process。简单的介绍可以见Edwin Chen的博文“Infinite Mixture Models with Nonparametric Bayes and the Dirichlet Process”。

DP的特性使得它在非参数贝叶斯聚类模型中可以被用作参数的先验分布。Dirichlet Process Mixture (DPM)是这种非参数贝叶斯聚类模型中的一个典型代表。DPM可以认为是有限混合(Finite Mixture,FM)模型的一个推广,FM(如Gaussian Mixture模型)必须首先给定类数,而DPM则不需要,它可以依据数据自行判断类数。理论上来说,DPM的类数随着log(样本点数量)的增长速度增长。目前研究者已经提出了很多训练DPM的算法,从Gibbs Sampling,到Collapsed Gibbs Sampling,到Variational方法。我自己实现了Collapsed Gibbs Sampling方法,速度是个很大的约束,跑大数据很费劲。DPM的一个另一个问题是它的类数由算法自动控制(虽然有个超参数alpha可以大致上调节类数),最终产生的类数可能与期望的差别很大。

想进一步了解DP和DPM的同学,可以去Yee W. Teh的主页上看看,里面可以找到很多相关的papersslidespresentations,以及用Matlab写的DPM开源软件。想仔细了解DPM的各个算法及具体推导,建议看看Xiaodong Yu的博文,里面也有他总结的一个很详细的学习笔记(虽然里面有一些小笔误),以及更多的参考资料。我自己也写了一份总结,但是懒得用Latex打出来了,就以图片打包的方式放在网盘里了,只把最后一页的参考文献贴下面。那些参考文献可以直接Google后下载。对理论没有兴趣的同学请忽略吧,哈哈。

时间: 2024-12-30 02:45:24

Dirichlet Process 和 Dirichlet Process Mixture模型的相关文章

Notes on the Dirichlet Distribution and Dirichlet Process

Notes on the Dirichlet Distribution and Dirichlet Process In [3]: %matplotlib inline Note: I wrote this post in an IPython notebook. It might be rendered better on NBViewer. Dirichlet Distribution The symmetric Dirichlet distribution (DD) can be cons

Process Kill Technology && Process Protection Against In Linux

目录 0. 引言 1. Kill Process By Kill Command 2. Kill Process By Resource Limits 3. Kill Process By Code Injection Into Running Process Via GDB 4. Kill Process By Using Cross Process Virtual Memory Modify 5. Kill Process By Using ptrace To Inject .so 6. P

Linux parent process and child process when 'sudo'

如果在一般用户下如user,执行sudo命令,会产生两个进程. ps -ef | grep Container root 4305 643 0 16:37 pts/39 00:00:00 sudo ./ContainerCompilation.shroot 4306 4305 0 16:37 pts/39 00:00:00 /bin/bash ./ContainerCompilation.sh 4306进程的父进程是4305,也就是说unix先生成4305进程将命令交给root,然后产生4306

org.gradle.process.internal.ExecException: Process 'command 'D:\SDK\AS\sdk\build-tools\23.0.0\aapt.exe'' finished with non-zero exit value 1

AGPBI: {"kind":"error","text":"No resource identifier found for attribute \u0027text_titleText\u0027 in package \u0027 包名 \u0027","sources":[{"file":"D:\\workSpace\\Android Studio\\Bank\\res

搞不明白的recycling process 和 finalization process

自己对recycling process 和 finalization process并不太清楚,希望明白人能指点一下. 试着用一下gc和runFinalization方法: 下面的例子输出是false,说明调用了finalize方法,且相关过程一定是在当前线程内执行的,否则不能保证每次都输出false. 把System.gc()注释掉,输出true,说明recycling process 和 finalization process是有关系的,最起码finalization process依赖

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command ' finished with non-zero exit value 1

Error:Execution failed for task ':lenovoAlbum:processReleaseResources'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'Android_SDK\build-tools'' finished with non-zero exit value 1 com.

node中__dirname、__filename、process.cwd()、process.chdir()表示的路径

直接上结论:__dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename ==== __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径process.chdir() 改变工作目录 例子,文件路径有如下结构:newapp > demo > hello.js 在hello.js文件中编写如下代码: console.log(__dirname);console.log(__filename);con

Dirichlet Process

Dirichlet Process 标签(空格分隔): LDA DMM DP Dirichlet Dirichlet-Process 作者: 王琳(大连理工大学信息检索研究室) 写在前头 对于非参数化的机器学习模型,我之前研究的并不多.通过这几天的学习,简单总结一下我所了解到的非参数化的模型. 鉴于非参数化的学习模型涉及大量的概率计算,晦涩难懂,然而在这篇总结材料中,我并不细推每个公式,而是以一种感性的方式理解每个模型.有的时候,不,是所有时候,感性的认识比理解其中的公式推导更加深刻有效. 如果

node 中的global对象和process对象

因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实现基本的服务器功能.这些模块在浏览器环境中是无法被执行的,因为它们的底层代码是用C/C++在Node.js运行环境中实现的. global 在前面的JavaScript课程中,我们已经知道,JavaScript有且仅有一个全局对象,在浏览器中,叫window对象.而在