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. 0014 标签显示模式:display(重点)

    目标: 理解 标签的三种显示模式 三种显示模式的特点以及区别 理解三种显示模式的相互转化 应用 实现三种显示模式的相互转化 2.1 什么是标签显示模式 什么是标签的显示模式? 标签以什么方式进行显示, ...

  2. mysql 时间函数总结

    1. 获取当前时间   select now(); // 2018-08-24 11:01:26   select unix_timestamp(); // 1535079695   总结:unix_ ...

  3. vue递归组件 (树形控件 )

    首先我们要知道,既然是递归组件,那么一定要有一个结束的条件,否则就会使用组件循环引用,最终出现“max stack size exceeded”的错误,也就是栈溢出.那么,我们可以使用v-if=&qu ...

  4. $loj526\ [LibreOJ\ \beta\ Round\ \#4]$ 子集 图论

    正解:图论 解题报告: 传送门$QwQ$ 发现最大团不好求,于是考虑求最大独立集.也就把所有$gcd(i,j)\cdot gcd(i+1,j+1)=1$的点之间连边,然后求最大独立集. 发现依然不可做 ...

  5. 小白学 Python 爬虫(32):异步请求库 AIOHTTP 基础入门

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  6. ipaclient 4.5.4 requires jinja2, which is not installed. rtslib-fb 2.1.63 has requirement pyudev>=0.16.1, but you'll have pyudev 0.15 which is incompatible. ipapython 4.5.4 has requirement dnspython>=

  7. .Net Core - AgileHttp

    2020年新年将至,先预祝.Net Core越来越好. 做了这么多年一线开发,经常跟Http打交道.比如调用三方的Webservice,比如集成微信支付的时候服务端发起Prepay支付.特别是现在分布 ...

  8. Netty快速入门(06)Netty介绍

    前面简单的介绍了Java I/O 和NIO,写了示例程序. Java I/O是阻塞的,为了让它支持多个并发,就要针对每个链接启动线程,这种方式的结果就是在海量链接的情况下,会创建海量的线程,就算用线程 ...

  9. 【转】13个JavaScript图表(JS图表)图形绘制插件

    现在网络上又有越来越多的免费的(JS 图表)JavaScript图表图形绘制插件.我之前给一家网站做过复杂的图形,我们用的是 highchart.在那段时间,没有很多可供选择的插件.但现在不同了,很容 ...

  10. 悄摸直播(二)—— 播流器实现(拉取rtmp服务器中的数据流,播放直播画面)

    悄摸直播 -- JavaCV实现本机摄像头画面远程直播 播流器 一.功能说明 从rtmp服务器中获取视频流数据 + 展示直播画面 二.代码实现 /** * 播流器 * @param inputPath ...