MCMC&Gibbs sampling
Note of Markov Chain Monte Carlo and Gibbs Sampling : http://pan.baidu.com/s/1jHpWY1o
序:A major limitation towards more widespread implementation of Bayesian approaches is that obtaining thee posterior distribution often requires the integration of high-dimensional functions. Here the MCMC is used to solve this problem. There are two major method in the using of MCMC ---- Metropolis algorithm and Gibbs sampling.
- Monte Carlo Integration
问题:计算一个复杂积分
解决方案:把
分解成
和
,要求
是概率密度函数,得到
,将函数积分转换为随机变量函数的期望进行计算。
,这里的xi是服从概率分布密度为
的随机变量x的取值。
应用在贝叶斯理论中,后验概率
。
- Introduction to Markov Chain
介绍了马尔科夫过程,马尔可夫链,状态空间,转移概率,转移矩阵,以及切普曼-柯尔莫哥洛夫方程,平稳分布等概念。这里提及了从离散的平稳分布向连续状态进行过渡:
à
- The Metropolis-Hasting Algorithm
问题:从复杂的概率分布p(x)中采样。
解决方案:假如我们要从p(x)=f(x)/K中采样,但是K 并不已知且无法求取,则采取如下方法进行采样
a.设定初始值x0,要满足f(x0)>0;
b.利用现在的x值,从转移分布q(x1,x2)中采样一个候选参数x*,对这个转移分布的限制是q(x1,x2)=q(x2,x1);
c.计算
(这里用的是比值所以可以避开K 进行计算);
d.如果alpha大于1则接受候选 x*;如果alpha小于1,则以概率alpha接受候选x*;然后返回到步骤b.
4. The Gibbs Sampler
这种采样方法应用在多变量的分布当中,在采样时,我们每次只对一个变量进行采样将其他变量固定。也就是说每次都是对一个单变量的条件分布进行采样,而不去理会联合分布,这样对n个变量进行轮流采样,进行k轮之后得到一个长度为k 的Gibbs Sequence 用来表示联合分布的采样。文章中的Example 4里列出了一个二维的联合分布的采样过程,他的两个条件分布分别为二项分布和Beta分布,很好的诠释 了Gibbs采样的流程和优势。
另外,这里还比较了吉布斯采样和EM算法的联系与区别。
EM每次都包含两个步骤:a.在固定参数下对隐变量求期望;b.固定隐变量的取值,利用极大似然的方法对参数数进行估计。
吉布斯采样则将隐变量和参数看成同等地位进行随机采样,可以看成是对EM算法的随机模拟。(原文:The Gibbs sampler can be thought of as a stochastic analog to the EM approaches used to obtain likelihood functions when missing data are present .)
参考:《统计学习方法》;
《Pattern recognition and machine learning 》第十一章 .
MCMC&Gibbs sampling的更多相关文章
- MCMC,GIBBS SAMPLING简单摘要
本文后面很多内容都是参考博客:http://www.cnblogs.com/xbinworld/p/4266146.html.本文主要用作学习交流备忘用. 1)简述: 随机模拟也可以叫做蒙特卡洛模拟, ...
- 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...
- 机器学习方法(八):随机采样方法整理(MCMC、Gibbs Sampling等)
转载请注明出处:Bin的专栏,http://blog.csdn.net/xbinworld 本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比 ...
- 随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...
- PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)
主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00 今天的主要内容:Markov Chain Monte Carlo,M ...
- 随机模拟MCMC和Gibbs Sampling
随机模拟 统计模拟中有一个重要的问题就是给定一个概率分布 p(x),我们如何在计算机中生成它的样本.一般而言均匀分布 Uniform(0,1)的样本是相对容易生成的. 通过线性同余发生器可以生成伪随机 ...
- 【转载】MCMC和Gibbs Sampling算法
转载随笔,原贴地址:MCMC和Gibbs Sampling算法 本文是整理网上的几篇博客和论文所得出来的,所有的原文连接都在文末. 在科学研究中,如何生成服从某个概率分布的样本是一个重要的问题.如果样 ...
- LDA-math-MCMC 和 Gibbs Sampling
http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling
http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. samp ...
随机推荐
- c# T4模板生成实体类(sqlserver)
1.用vs新建tt文件. 2.tt文件保存就自动运行 3.tt文件代码如下,设置生成cs文件的命名空间和生成地址 <#@ template language="C#" hos ...
- The first day of Crawler learning
使用BeautifulSoup解析网页 Soup = BeautifulSoup(urlopen(html),'lxml') Soup为汤,html为食材,lxml为菜谱 from bs4 impor ...
- python 连接 SQL Server 数据库
#!/usr/bin/python # -*- coding:utf-8 -*- import pymssql import pyodbc host = '127.0.0.1:1433' user = ...
- oracle中使用pl/sql进行的文件读写操作
第一次知道,可以使用pl/sql来进行文件的读写操作,嘿嘿,简单的试了下可行. 基本步骤如下: SQL> conn sys/sys@orcl as sysdba 已连接. SQL> cre ...
- Nginx流量复制
1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能: 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问: 这跟灰度发布还 ...
- Spring中常见的设计模式——模板模式
一.模板模式的应用场景 模板模式又叫模板方法模式(Template Method Pattern),指定义一个算法的骨架,并允许自雷为一个或者多个步骤提供实现.模板模式使得子类可以在不改变算法结果的情 ...
- vue传值(父子传值,非父子传值)
vue组件传值,分为父子传值和非父子传值,父子传值又分为父传子和子传父. 组件之间的传值,实现了数据的联动,是从操作Dom到操作数据一个跳转性的突破,在学习vue双向绑定原理之后, 这种观念就应该继续 ...
- Java之Object类用法总结
Object类概述: 1.Object类是所有Java类的根父类. 2.如果在类的声明中未使用extends关键字指明其父类, 则默认父类为java.lang.Object类. Object类主要结构 ...
- windows I/O设备
当外部设备连接到windows后,设备所连接到的集线器驱动程序将为设备分配硬件ID,然后Windows 使用硬件 Id 查找设备与包含设备驱动程序的驱动程序包之间最近的匹配项. 如果查找到,设备就可以 ...
- python关系(比较)运算符
关系运算符 就是 比较运算符 a.对象的值进行比较 数字间的比较运算符连着使用: 数字与True.False的比较True 表示 1 , False 表示 0 数字与字符串的比较(不能比较) 字符串间 ...