Gibbs采样
(学习这部分内容大约需要50分钟)
摘要
Gibbs采样是一种马尔科夫连蒙特卡洛(Markov Chain Monte Carlo, MCMC)算法, 其中每个随机变量从给定剩余变量的条件分布迭代地重新采样. 它是在概率模型中执行后验推理的简单且常用的高效方法.
预备知识
学习Gibbs采样需要以下预备知识
- 条件分布: Gibbs采样根据条件分布定义.
- 马尔科夫蒙特卡洛(Markov chain Monte Carlo, MCMC): Gibbs采样是一种MCMC算法.
- 马尔科夫随机场(Markov random fields): 图模型的结构表明为什么Gibbs更新计算会高效.
学习目标
- 知道Gibbs采样更新规则
- 明白为什么 Gibbs 采样的稳态分布是模型分布.
- 明白为什么 Gibbs 采样在变量紧密耦合时会变得低效.
核心资源
(阅读/观看其中一个资源)
免费
Coursera: Probabilistic Graphical Models (2013)
简介: 概率图模型的一门在线课程
位置: Lecture "Gibbs sampling" ](https://class.coursera.org/pgm/lecture/74)
网站
作者: Daphne Koller
其他依赖知识:备注:
- 点击"Preview"观看视频
Bayesian Reasoning and Machine Learning
简介: 一门研究生机器学习课程- Section 27.3, Gibbs sampling, up to 27.3.2, "Structured Gibbs sampling" (pages 547-548)
- Section 27.3.3, "Remarks" (pages 549-550)
作者: David Barber
其他依赖知识:
付费
- Pattern Recognition and Machine Learning(PRML)
简介: 一本研究生机器学习课程, 专注于贝叶斯方法
位置: Section 11.3, pages 542-546
网站
作者: Christopher M. Bishop
其他依赖知识: - Probabilistic Graphical Models: Principles and Techniques
简介: 一本非常全面的概率AI研究生教材
位置: Sections 12.3.1 (pages 505-507) and 12.3.3 (pages 512-515)
网站
作者: Daphne Koller,Nir Friedman
其他依赖知识:
增补资源
(以下为可选内容, 你可能会发现它们很有用)
免费
- Information Theory, Inference, and Learning Algorithms
简介: 一本机器学习和信息论的研究生教材
位置: Section 29.5, "Gibbs sampling," pages 370-371
网站
作者: David MacKay
其他依赖知识:- Metropolis-Hastings算法
- Machine learning summer school: Markov chain Monte Carlo (2009)
简介: 一个 MCMC 方法视频教程
位置: 69:40 to 77:34
网站
作者: Iain Murray - Computational Cognition Cheat Sheets (2013)
简介: 认知科学家写的一些笔记
位置: Bayesian Inference: Gibbs Sampling
网站
付费
- Machine Learning: a Probabilistic Perspective(MLAPP)
简介: 一本非常全面的研究生机器学习教材
位置: Section 24.2-24.2.2, pages 838-839
网站
作者: Kevin P. Murphy
相关知识
Gibbs采样可以被看作 Metropolis-Hastings 算法的特例
简单 Gibbs 采样常常 mix 得很慢. 以下是一些改进版本:
- block Gibbs sampling: 一次采样多个随机变量.
- collapsed Gibbs sampling: 一些随机变量被解析地积分掉了
Slice sampling 是一类特殊的 Gibbs 采样, 适合从没有解析形式的单变量分布中采样.
我们可以使用spectral graph理论分析 mixing 率.
Gibbs采样的更多相关文章
- MC, MCMC, Gibbs采样 原理&实现(in R)
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例 ...
- 如何做Gibbs采样(how to do gibbs-sampling)
原文地址:<如何做Gibbs采样(how to do gibbs-sampling)> 随机模拟 随机模拟(或者统计模拟)方法最早有数学家乌拉姆提出,又称做蒙特卡洛方法.蒙特卡洛是一个著名 ...
- MCMC(四)Gibbs采样
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样 在MCMC(三)MCMC采样和M-H采样中,我们讲到了M-H采样已经可以很好 ...
- 文本主题模型之LDA(二) LDA求解之Gibbs采样算法
文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 本文是LDA主题模型的第二篇, ...
- 关于LDA的gibbs采样,为什么可以获得正确的样本?
算法里面是随机初始了一个分布,然后进行采样,然后根据每次采样的结果去更新分布,之后接着采样直到收敛. 1.首先明确一下MCMC方法. 当我们面对一个未知或者复杂的分布时,我们经常使用MCMC方法来进行 ...
- Gibbs 采样的应用
Gibbs 采样的最大作用在于使得对高维连续概率分布的抽样由复杂变得简单. 可能的应用: 计算高维连续概率分布函数的数学期望, Gibbs 采样得到 n 个值,再取均值: 比如用于 RBM:
- Gibbs 采样定理的若干证明
坐标平面上的三点,A(x1,y1),B(x1,y2),C(x2,y1),假设有概率分布 p(x,y)(P(X=x,Y=y) 联合概率),则根据联合概率与条件概率的关系,则有如下两个等式: {p(x1, ...
- MCMC:Gibbs 采样(matlab 实现)
MCMC: The Gibbs Sampler 多元高斯分布的边缘概率和条件概率 Marginal and conditional distributions of multivariate norm ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现文档分类
http://blog.csdn.net/pipisorry/article/details/51525308 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样进行文档分类(聚类),当然更复杂的实 ...
随机推荐
- [转] 机器学习是什么——周志华
机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来. 不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧. 问题是,真有个"大伙儿& ...
- SqlServer 自动化分区方案
本文是我关于数据库分区的方案的一些想法,或许有些问题.仅供大家讨论.SqlServer (SqlServer 2005\SqlServer 2008)实现分区需要在企业版下进行. SqlServer的 ...
- windows 7 下安装 vagrant + Oracle VM VirtualBox
一.安装下准备 1.下载Oracle VM VirtualBox https://www.virtualbox.org/wiki/Downloads (VirtualBox-4.3.22-98236 ...
- hbase源码系列(五)Trie单词查找树
在上一章中提到了编码压缩,讲了一个简单的DataBlockEncoding.PREFIX算法,它用的是前序编码压缩的算法,它搜索到时候,是全扫描的方式搜索的,如此一来,搜索效率实在是不敢恭维,所以在h ...
- 关于javascrpt if快速判断说明
在js中有如下值能作为if的条件判断: 在js中有6种类型 undefined.null.string.number.boolean和object object是对象类型 它们在逻辑运算符里有对应的 ...
- Qt安装过程中: configure 时发生的经典出错信息之”Basic XLib functionality test failed!”(Z..z..) 之 MySQL support cannot be enabled due to functionality test!
整出错信息是在./configure阶段Basic XLib functionality test failed!You might need to modify the include and li ...
- Java ArrayList源码剖析
转自: Java ArrayList源码剖析 总体介绍 ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现.除该类未实现同步外 ...
- webrtc 在MAC下和iOS下的编译
一:安装brew和git 1. mkdir /usr/local 2. curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo ...
- 生成基于Maven的项目文档站点
在Maven中,可以使用“mvn site”,为您的项目信息生成文档站点. mvn site 生成的网站是在项目的“target/site”文件夹中. mvn site 示例 请参见通过“mvn si ...
- linux中chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...