(学习这部分内容大约需要1.5小时)

摘要

马尔科夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)是一种近似采样算法, 它通过定义稳态分布为 \(p\) 的马尔科夫链, 在目标分布 \(p\) 中进行采样. Metropolis-Hastings 是找到这样一条马尔科夫链的非常一般的方法: 选择一个提议分布(proposal distribution), 并通过随机接受或拒绝该提议来纠正偏差. 虽然其数学公式是非常一般化的, 但选择好的提议分布却是一门艺术.

预备知识

学习 Metropolis-Hastings 算法需要以下预备知识

学习目标

  • 知道细致平衡条件(detailed balance conditions)说的是啥
  • 知道 Metropolis-Hastings 算法的定义
  • 证明 M-H 算法满足细致平衡条件
  • 如果不仔细选择提议分布, 请注意可能的故障模式: 缓慢的 mixing 和低接受概率.

核心资源

(阅读/观看以下其中一个)

免费

付费

  • Pattern Recognition and Machine Learning(PRML)
    简介: 一本研究生机器学习教材, 聚焦于贝叶斯方法
    位置: Section 11.2, pages 537-542
    网站
    作者: Christopher M. Bishop

  • Machine Learning: a Probabilistic Perspective(MLAPP)
    简介: 一本非常全面的研究生机器学习教材
    位置: Section 24.3-24.3.6, pages 848-855

    网站
    作者: Kevin P. Murphy

增补资源

免费

付费

  • Probabilistic Graphical Models: Principles and Techniques
    简介: 一本非常全面的概率AI研究生教材
    位置: Section 12.3.4, pages 515-518

    网站
    作者: Daphne Koller,Nir Friedman

相关知识

  • Gibbs 采样 是一种常用的特殊 M-H 算法

  • 其他 M-H 算法包括:

    在某些条件下, 我们可以确定最佳的 M-H 接受率.


返回贝叶斯机器学习路线图

Metropolis-Hastings算法的更多相关文章

  1. Metropolis Hasting算法

    Metropolis Hasting Algorithm: MH算法也是一种基于模拟的MCMC技术,一个非常重要的应用是从给定的概率分布中抽样.主要原理是构造了一个精妙的Markov链,使得该链的稳态 ...

  2. 蒙特卡洛马尔科夫链(MCMC)

    蒙特卡洛马尔科夫链(MCMC) 标签: 机器学习重要性采样MCMC蒙特卡洛 2016-12-30 20:34 3299人阅读 评论(0) 收藏 举报  分类: 数据挖掘与机器学习(41)  版权声明: ...

  3. MCMC: The Metropolis Sampler

    本文主要译自 MCMC: The Metropolis Sampler 正如之前的文章讨论的,我们可以用一个马尔可夫链来对目标分布 \(p(x)\) 进行采样,通常情况下对于很多分布 \(p(x)\) ...

  4. [转] - MC、MC、MCMC简述

    贝叶斯集锦(3):从MC.MC到MCMC 2013-07-31 23:03:39 #####一份草稿 贝叶斯计算基础 一.从MC.MC到MCMC 斯坦福统计学教授Persi Diaconis是一位传奇 ...

  5. MC, MCMC, Gibbs采样 原理&实现(in R)

    本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例 ...

  6. MC, MCMC, Gibbs採样 原理&实现(in R)

    本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个样 ...

  7. LDA背景资料

    [https://zhuanlan.zhihu.com/p/30226687] LDA模型的前世今生 在文本挖掘中,有一项重要的工作就是分析和挖掘出文本中隐含的结构信息,而不依赖任何提前标注的信息.L ...

  8. MCMC: The Metropolis-Hastings Sampler

    本文主要译自:MCMC:The Metropolis-Hastings Sampler 上一篇文章中,我们讨论了Metropolis 采样算法是如何利用马尔可夫链从一个复杂的,或未归一化的目标概率分布 ...

  9. MCMC采样理论的一点知识

    看了好多相关的知识,大致了解了一下马尔可夫链-蒙特卡罗采样理论,有必要记来下来. 蒙特卡罗积分:(来自:http://blog.csdn.net/itplus/article/details/1916 ...

随机推荐

  1. 【oneday_onepage】——How to stretch the life of your SSD storage

    How to stretch the life of your SSD storage July 18, 2013, 9:06 PM — Once a PC enthusiast's dream st ...

  2. ajax 多个参数问题,如何既能表单序列化获取,又能加参数,加全部代码

      $.param({'address':address,'delivity':delivity,'payment':payment}) + '&' + $('#card_form').ser ...

  3. Bootstrap 里的 popover 被挡住的解决方案

    在Bootstarp 中我们可以使用 popover 插件做一些内容的展示, 代码如下: <a data-toggle="popover" data-placement=&q ...

  4. 在C++中调用DLL中的函数(2)

    本文转自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL ...

  5. 关于Mac上的开发工具

    如果是JavaScript语言的话用  Intellij IDEA 如果是C/C++语言的话用  XCode

  6. (转)最简单的基于FFmpeg的内存读写的例子:内存播放器

    ffmpeg内存播放解码 目录(?)[+] ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章 ...

  7. repo sync出现“fatal: '../platform/abi/cpp.git' does not appear to be a git repository”的解决方案

    在我下载Android源代码时,在最后一步调用repo sync,出现“fatal: '../platform/abi/cpp.git' does not appear to be a git rep ...

  8. C# Byte[]、Image、Bitmap 之间的相互转换

    //byte[] 转图片 public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { st ...

  9. Spring简单集成Redis

  10. 1. 请问PHP里的ECHO是什么意思 ?请问PHP里的ECHO是什么意思???有什么作用???又应该怎么使用???

    直接输出字符或字符串的意思: 例如:echo "abc"; 就会输出abc echo 'abc' 一样是输出abc . 如果仅仅只输出字符串的话,单引号和双引号是输出内容是一样的, ...