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.

  1. Monte Carlo Integration

问题:计算一个复杂积分

解决方案:把 分解成 ,要求是概率密度函数,得到 ,将函数积分转换为随机变量函数的期望进行计算。,这里的xi是服从概率分布密度为的随机变量x的取值。

应用在贝叶斯理论中,后验概率

  1. Introduction to Markov Chain

介绍了马尔科夫过程,马尔可夫链,状态空间,转移概率,转移矩阵,以及切普曼-柯尔莫哥洛夫方程,平稳分布等概念。这里提及了从离散的平稳分布向连续状态进行过渡: à

  1. 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的更多相关文章

  1. MCMC,GIBBS SAMPLING简单摘要

    本文后面很多内容都是参考博客:http://www.cnblogs.com/xbinworld/p/4266146.html.本文主要用作学习交流备忘用. 1)简述: 随机模拟也可以叫做蒙特卡洛模拟, ...

  2. 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  3. 机器学习方法(八):随机采样方法整理(MCMC、Gibbs Sampling等)

    转载请注明出处:Bin的专栏,http://blog.csdn.net/xbinworld 本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比 ...

  4. 随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  5. 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 ...

  6. 随机模拟MCMC和Gibbs Sampling

    随机模拟 统计模拟中有一个重要的问题就是给定一个概率分布 p(x),我们如何在计算机中生成它的样本.一般而言均匀分布 Uniform(0,1)的样本是相对容易生成的. 通过线性同余发生器可以生成伪随机 ...

  7. 【转载】MCMC和Gibbs Sampling算法

    转载随笔,原贴地址:MCMC和Gibbs Sampling算法 本文是整理网上的几篇博客和论文所得出来的,所有的原文连接都在文末. 在科学研究中,如何生成服从某个概率分布的样本是一个重要的问题.如果样 ...

  8. LDA-math-MCMC 和 Gibbs Sampling

    http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...

  9. 随机采样和随机模拟:吉布斯采样Gibbs Sampling

    http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. samp ...

随机推荐

  1. Java线程的生命周期与状态流转

    上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程. 这些状态的枚举值都定义在java.lang.Thread.State下 NEW:毫无疑问表示的是刚创建的线程,还没有开始 ...

  2. 最详细的自定义Spring Boot Starter开发教程

    1. 前言 随着Spring的日渐臃肿,为了简化配置.开箱即用.快速集成,Spring Boot 横空出世. 目前已经成为 Java 目前最火热的框架了.平常我们用Spring Boot开发web应用 ...

  3. selenium模块的基本使用

    一.selenium库与requests库的区别 - selenium请求库: - 本质上是一个自动化测试模块; ---> 主要用于测试 UI界面 - selenium除了可以做自动化测试,还可 ...

  4. 傅立叶变换—FFT

    FFT(快速傅立叶变换)使用“分而治之”的策略来计算一个n阶多项式的n阶DFT系数的值.定义n为2的整数幂数,为了计算一个n阶多项式f(x),算法定义了连个新的n/2阶多项式,函数f[0](x)包含了 ...

  5. Spring中Bean的实例化与DI的过程

    引言 前文我们介绍了关于如何学习Spring的源码以及解析了spring中加载配置文件注册Beandefinition的过程.今天我们继续学习DI的过程. 创建实例和DI过程 IOC和DI都是对spr ...

  6. Java工作流引擎节点接收人设置“按自定义SQL计算”系列讲解

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...

  7. 艾编程coding老师:深入JVM底层原理与性能调优

    1. Java内存模型JMM,内存泄漏及解决方法:2. JVM内存划分:New.Tenured.Perm:3. 垃圾回收算法:Serial算法.并行算法.并发算法:4. JVM性能调优,CPU负载不足 ...

  8. 微信小程序--百度地图坐标转换成腾讯地图坐标

    最近开发小程序时出现一个问题,后台程序坐标采用的时百度地图的坐标,因为小程序地图时采用的腾讯地图的坐标系,两种坐标有一定的误差,导致位置信息显示不正确.现在需要一个可以转换两种坐标的方法,经过查询发现 ...

  9. 全网最详细的Linux命令系列-sed文本处理命令

    Sed简介 SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入.文本重定向.字符串.变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可 ...

  10. 深夜话题boot2docker还有那些隐藏MENU

    马克思的博士论文:自由意识的集中表达 --字体我设为5(18pt),你们懂的 总有人埋汰,终于我想起一个负负得正的话题 为什么放在深夜,因为希望看到的人越少越好,深夜是时差党的乐园 本篇作为之前几篇围 ...