1.通过构造马尔可夫链进行蒙特卡洛采样,使得其收敛到平稳分布

2.MCMC的具体采样方法有MH算法Gibbs采样

3.Gibbs采样是MH算法的特殊情形,用于解决高维空间采样问题

4.MCMC有三个局限:无法判断是否已经收敛,燃烧期过长,样本具备相关性

在上一篇MCMC(马尔可夫链)中,我们介绍了马尔可夫链平稳分布的一个充分条件,也就是细致平衡:

我们这一篇,介绍如何把马氏链的细致平衡应用到蒙特卡洛采样思想,求得p(z)的后验分布,最终求解目标函数的期望。这是我们的目标。

MH算法

首先,对于后验p(z),我们要构造一个关于样本z马氏链,其转移矩阵(提议矩阵)记为Q,使得其满足细致平衡条件,但通常情况下没那么容易找到,也即:

故我们引入一个接收率,使得其相等:

只要取

就可以满足细致平衡。我们证明这一点:

这个就是大名鼎鼎的Metropolis-Hastings 算法,简称MH算法,它属于MCMC中的一种。算法的流程为:

注意,这里的后验p(z)并非归一化的,因为归一化因子Z无法求解,我们默认是

Gibbs采样

采样的困难点还有另外一个,就是面对高维空间采样依旧困难。解决这个问题的是Gibbs采样,它是MH算法的一种特殊情形。

Gibbs采样思想很简单,通过固定其他维度逐一对某一维度进行采样:

注:这里下标i表示维度

关键是要找到一个合适转移矩阵Q,我们从z是二维的情况看起:

仔细观测可以发现,当某一维度固定时,用两个维度的条件概率作为转移概率,则满足细致平衡条件。

由此,我们可以构造转移矩阵:

上升到多维空间,我们有:

Gibbs采样的转移矩阵就是平稳分布,算法流程为:

Gibbs采样的接收率为1,因为:

故而,

局限与困难

至此,我们介绍完了MCMC。这一节我们做个总结以及介绍一下它的局限。

给定转移矩阵和初始状态,我们可以通过构造马氏链得到平稳分布的样本,使得这些样本能够代表原概率分布p(z)总体,其过程如下:

设该马氏链平稳分布为π(x),从t=1时刻开始采样,直到m时刻概率分布收敛,即:

显然,到达平稳分布所需要的时间跟转移矩阵和初始状态有关,我们把达平稳分布的过程称为燃烧期,燃烧期的时长称为混合时间

MCMC与拒绝采样、重要性采样的区别是不用去寻找提议函数q(z),并且解决高维复杂的情况。但MCMC也并非万能,它存在以下局限性:

  • 理论只能保证收敛性,但无法判断是否已经收敛

  • 燃烧期可能过长

  • 样本之间⼀定是有相关性的

针对第一点,可以采取比较传统的方式,每隔一段时间取相同的样本,计算其均值是否一致;针对第二点,可能会带来效率过于低下,它的本质是因为p(z)过于复杂造成的,也即维度过高,如果维度之间相关性较强,该方法出来的样本有失偏颇,因为Gibbs采样的假设是每个维度之间的相关性较低,才能一维一维逐步采样;针对第三点,我们可以通过间隔一段时间采样来降低其相关性。

MCMC(MH算法)相关推荐

  1. MCMC笔记Metropilis-Hastings算法(MH算法)

    1 前言 我们在MCMC笔记:齐次马尔可夫链_UQI-LIUWJ的博客-CSDN博客 中介绍了平稳条件,当马尔可夫链达到平稳状态时(也就是各个状态之间的转移概率已经和时间无关了),那我们可以通过此时的 ...

  2. MH算法拟合标准柯西分布

    1. 题目 利用M-H算法从标准柯西分布中产生随机数,丢弃链的前1000个值,比较生成链观测值的十分位数和柯西分布理论10分位数的拟合情况,并画出QQ图和链的直方图.本题中提议分布取为N(xt,σ2) ...

  3. PRML第十一章读书笔记——Sampling Methods 拒绝采样/重要性采样/采样重要性重采样/数据增广IP算法、Metropolis算法/MH算法/吉布斯、切片采样、混合MC、估计配分函数

    (终于把第十章读完了,这一章应该相对轻松.但这两天状态有待调整,所以没咋认真读) 目录 11.1 Basic Sampling Algorithms P526 标准概率分布 P528 拒绝采样 P53 ...

  4. R语言用Backfitting MCMC抽样算法进行贝叶斯推理案例

    BART是贝叶斯非参数模型,可以使用Backfitting MCMC进行拟合 . 我不使用任何软件包...... MCMC是从头开始实现的. 考虑协变量数据​和成果​为​主题,​.在这个玩具示例中,数 ...

  5. Metropolis-Hastings算法

    (学习这部分内容大约需要1.5小时) 摘要 马尔科夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)是一种近似采样算法, 它通过定义稳态分布为 \(p\) 的马尔科夫链, 在 ...

  6. c++求解自行车慢速比赛问题_隐马尔可夫模型(模型推断五大问题)

    1.隐马尔科夫模型Learning问题是求解未知参数λ 2.隐马尔科夫模型Inference问题有五个:Decoding.Evaluation.Filtering.Smoothing.Predicti ...

  7. mh采样算法推导_科学网—MCMC中的Metropolis Hastings抽样法 - 张金龙的博文

    Metropolis Hastings抽样法示例 jinlongzhang01@gmail.com Metropolis Hasting(下面简称MH)是蒙特卡罗马尔科夫链中一种重要的抽样方法.本文简 ...

  8. 【LDA学习系列】MCMC之Metropolis-Hastings采样算法python代码理解

    Metropolis-Hastings采样算法的流程: 代码一:有助于理解算法流程 # -*- coding: utf-8 -*- ''' Created on 2018年5月15日@author: ...

  9. mh采样算法推导_深度学习:Gibbs 采样

    1. 什么是Gibbs采样 Gibbs采样是MH算法的一种特例(α==1),因此可以保证Gibbs抽取的样本,也构成一个非周期不可约稳定收敛的马氏链:Gibbs采样适用于样本是两维或以上的情况:通过积 ...

  10. mh采样算法推导_贝叶斯推断:Metropolis-Hastings 采样

    前面一篇文章贝叶斯统计:初学指南介绍了最简单的 Metropolis 采样方法,本文将介绍另一种采样 Metropolis-Hastings ,并且会对前文介绍的例子给出证明,为什么 Metropol ...

最新文章

  1. 计算机课做ppt的软件有哪些内容,课程内容计算机软件的基础知识.ppt
  2. Android 4.0操作系统的20个使用小技巧
  3. 记一次 React 组件无法更新状态值的问题分析与解决
  4. Chrome无法打开文件的错误 [Not allowed to load local resource: file://XXXX]
  5. 文档数据库的学习报告
  6. ensp VRRP配置2
  7. linux系统查看ssh是否开启,linux查看与开启ssh
  8. 2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷
  9. win2003 服务器设置 完全版 作者:冰盾防火墙
  10. 如何给SCI收录的文章分区?
  11. 计算机微机维修工四级理论知识试卷,计算机维修工中级理论知识试卷1.doc
  12. Thumbnails生成缩略图透明底图变黑bug修改
  13. 高德地图获取地址坐标
  14. JavaScript:实现加密哈希SHA-256 算法(附完整源码)
  15. 什么样的女生城府深?
  16. 中国PETG市场预测及战略研究报告(2022版)
  17. 【网络流】——搞搞dinic
  18. 信赖域狗腿(dogleg)方法
  19. 微波辐射数据读取与处理
  20. 老板,缺人吗?这里有一大波产品人才想安利给你~

热门文章

  1. 淘宝店铺装修:如何实现全屏1920px,从上到下!
  2. Vue Cli 3代理配置
  3. ttc文件linux安装,Linux当中如何安装字体?
  4. centos7搭建radius认证服务器
  5. chrome安装JSONview插件,即可在浏览中查看json文件
  6. Qt + 运动控制 (固高运动控制卡)【2】运动控制卡初始化和关闭
  7. SRC漏洞挖掘之信息收集
  8. 超市系统服务器,超市收银系统 服务器 配置
  9. hbuilder版本更新失败_HbuilderX ios无法自定义安装调试基座
  10. C语言考试知识点汇总(理论知识点)