MCMC 和 Gibbs采样

0. MCMC

从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC)。
Monte Carlo (蒙特卡罗)的核心是寻找一个随机的序列。

0.1 MCMC是什么

那MCMC到底是什么呢?《告别数学公式,图文解读什么是马尔可夫链蒙特卡罗方法》里面这样解释:MCMC方法是用来在概率空间,通过随机采样估算兴趣参数的后验分布

说的很玄,蒙特卡罗本来就可以采样,马尔科夫链可以采样,为啥要将他们合在一起?下面给出两个动机,后面将从蒙特卡罗开始一直推到gibbs采样,来深入了解为什么需要MCMC。

再次感谢刘建平MCMC,他是网上写的最详细的——将整个脉络梳理出来了,看完收获很多。本文几乎涵盖了它所有内容,因此只能算一篇读书笔记。

1.2 为什么需要MCMC

在这里插入图片描述

1. 背景

给定一个的概率分布 P(x), 我们希望产生服从该分布的样本。

前面介绍过一些随机采样算法(如拒绝采样、重要性采样)可以产生服从特定分布的样本,但是这些采样算法存在一些缺陷(如难以选取合适的建议分布,只适合一元随机变量等)。

下面将介绍一种更有效的随机变量采样方法:MCMC 和 Gibbs采样,这两种采样方法不仅效率更高,而且适用于多元随机变量的采样。

2. MCMC 采样

2.1 随机矩阵

在MCMC采样中先随机一个状态转移矩阵Q,然而该矩阵不一定能满足细致平稳定理,一次会做一些改进,具体过程如下
在这里插入图片描述

2.2 算法具体流程

MCMC采样算法的具体流程如下
在这里插入图片描述

2.3 MCMC: Metropolis-Hastings algorithm

然而关于MCMC采样有收敛太慢的问题,所以在MCMC的基础上进行改进,引出M-H采样算法
在这里插入图片描述
M-H 算法的具体流程如下
在这里插入图片描述
M-H算法在高维时同样适用
在这里插入图片描述

2.3.1 基本概念

从一个概率分布(目标分布P(x)P(x)P(x))中得到随机样本序列
这个序列可以用于:a) 近似估计分布P(x)P(x)P(x); b) 计算积分(期望)
用于高维分布取样
缺陷: MCMC固有缺点, 样本自相关性

2.3.2 优势

可以从任意的概率分布P(x)P(x)P(x)中取样,只要满足条件:函数f(x)成比例于P(x)P(x)P(x)的密度。
更宽松的要求:f(x)f(x)f(x)仅需要与P(x)P(x)P(x)的密度成比例。

2.3.3 要点

  • 生成样本值序列;样本值产生得越多,这些值的分布就越近似于P(x)P(x)P(x)
  • 迭代产生样本值:下一个样本的分布仅仅取决于当前样本值(马尔科夫链特性)
  • 接受/拒绝概率:接受计算出的值为下一个样本值/拒绝并重复使用当前样本值;基于P(x)P(x)P(x),接受概率通过比较f(xt)f(x_t)f(xt)(当前值)和f(x′)f(x')f(x)(备选值)得出

2.3.4 Metropolis Algorithm (对称分布)

Input: f(x)f(x)f(x),与目标分布P(x)P(x)P(x)成比例的函数

2.3.4.1 初始化:

在这里插入图片描述

2.3.4.2 迭代ttt

在这里插入图片描述

2.3.5 缺陷

  • 样本自相关:相邻的样本会相互相关,虽然可以通过每nnn步取样的方式来减少相关性,但这样的后果就是很难让样本近似于目标分布P(x)P(x)P(x)
  1. 自相关性可通过增加步调长度(jumping width,与jumping function g(x∣y)g(x|y)g(xy)的方差有关)来控制,但同时也增加了拒绝备选样本的几率α\alphaα
  2. 过大或过小的jumping size会导致slow-mixing Markov Chain, 即高度自相关的一组样本,以至于我们需要得到非常大的样本量nnn才能得到目标分布P(x)P(x)P(x)
  • 初始值的选择:尽管Markov Chain最后都会收敛到目标分布,然而初始值的选择直接影响到运算时间,尤其是把初始值选在在了“低密度”区域。因此,选择初值时,最好加入一个“burn-in period”(预烧期,预选期)。

2.3.6 优势

  • 抗“高维魔咒”(curse of dimensionality):维度增加,对于rejection sampling方法来说,拒绝的概率就是呈指数增长。而MCMC则成为了解决这种问题的唯一方法
  • 多元分布中,为了避免多元初始值以及 g(x∣y)g(x|y)g(xy)选择不当而导致的问题,Gibbs sampling是另外一个更适合解决多元分布问题的MCMC 方法。Gibbs sampling从多元分布的各个维度中分别选择初始值,然后这些变量分别同时取样。

2.3.7 衍生算法

在这里插入图片描述
在这里插入图片描述

2.3.8 小结

一般来说M-H采样算法较MCMC算法应用更广泛,然而在大数据时代,M-H算法面临着两个问题:

1)在高维时的计算量很大,算法效率很低,同时存在拒绝转移的问题,也会加大计算量

2)由于特征维度大,很多时候我们甚至很难求出目标的各特征维度联合分布,但是可以方便求出各个特征之间的条件概率分布(因此就思考是否能只知道条件概率分布的情况下进行采样)。

3. Gibbs 采样

在这里插入图片描述
在这里插入图片描述

3.1 二维的流程

因此可以得出在二维的情况下Gibbs采样算法的流程如下
在这里插入图片描述

3.2 多维

而在多维的情况下,比如一个n维的概率分布π(x1, x2, …xn),我们可以通过在n个坐标轴上轮换采样,来得到新的样本。

对于轮换到的任意一个坐标轴xi上的转移,马尔科夫链的状态转移概率为 P(xi|x1, x2, …, xi−1, xi+1, …, xn),即固定n−1个坐标轴,在某一个坐标轴上移动。

而在多维的情况下Gibbs采样算法的流程如下
在这里插入图片描述

3.3 小结

由于Gibbs采样在高维特征时的优势,目前我们通常意义上的MCMC采样都是用的Gibbs采样。

当然Gibbs采样是从M-H采样的基础上的进化而来的,同时Gibbs采样要求数据至少有两个维度,一维概率分布的采样是没法用Gibbs采样的,这时M-H采样仍然成立。

4. 其他算法

除了最常见的MH那几个算法,后来还有很多新的比较惊艳的算法出现,比如说slice sampling,elliptical slice sampling,generalized elliptical slice sampling,上面说的BPS, forward event chain MC,还有和神经网络结合的NNGHMC,A-Nice-MC,以及利用了batch optimization思想的stochastic gradient HMC以及stochastic gradient Langevin dynamic等。

5. 参考资料

以下为列表,链接见原文

统计之都-MCMC

HANS-MCMC 算法及其应用

知乎-MCMC 专栏

机器学习之MCMC算法

知乎-MCMC 算法

知乎-MCMC 算法中接受概率是什么意思

MCMC 和 Metropolis–Hastings 算法

马尔可夫链蒙特卡洛(MCMC)算法

CSDN-MCMC

MCMC相关算法介绍及代码实现

算法资料
http://civs.stat.ucla.edu/MCMC/MCMC_tutorial.htm

http://www.soe.ucsc.edu/classes/cmps290c/Winter06/paps/mcmc.pdf

http://public.lanl.gov/kmh/talks/maxent00b.pdf

http://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo

google keywords: MCMC tutorial

MCMC preprint service:

http://www.statslab.cam.ac.uk/~mcmc/

David MacKay’s book (electronic version availiable):

http://www.inference.phy.cam.ac.uk/mackay/itila/

Radford M. Neal’s review: Probabilistic Inference using Markov Chain Monte Carlo Methods

http://www.cs.toronto.edu/~radford/review.abstract.html

原文链接:
https://zhuanlan.zhihu.com/p/37121528
https://houbb.github.io/2020/01/28/math-05-mcmc
https://zhuanlan.zhihu.com/p/21112618

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】广东开放大学 招投标与合同管理 形成性考核 (2)

选择题 题目:某工程项目在估算时算得成本是1000万元人民币,概算时算得成本是950万元人民币,预算时算得成本是900万元人民币,投标时某承包商根据自己企业定额算得成本是800万元人民币。根据《招标投标法》规定“投标人不得以低于成…

matlab 按一定概率取数组中的值

有一个数组[1,2,3,4] ,有一个变量A要从这个数组中取值。A取1,2,3,4的概率分别为0.7,0.15,0.1,0.05。我如何按照这样的概率,随机生成100个A 思路是:你先产生100个随机数,…

【渝粤题库】广东开放大学 标准化专题讲座 形成性考核

​👉关注我,看答案👈 选择题 题目:制定产品标准的关键是______。 题目:企业标准化战略三步曲中非常关键,关系到企业经营的成败的战略是____。 题目:企业标准采取什么形式、规定什么内容,以及标准制定的时机…

【渝粤题库】广东开放大学 电子商务安全与支付 形成性考核

选择题 题目: 具体来讲,生产企业的物流活动包括 选择一项或多项: 题目:支付系统参与者中,( )的要求是:金额大,时间紧 题目:36 、发起人是支付系统中支付业务…

使用Java流和In-JVM-Memory的超低延迟查询

自然界的基本规则(例如光速和通用信息论)对我们可以从传统系统体系结构中获得的最大性能设置了明显的限制。 了解您作为Java开发人员如何使用JVM技术和Java流将性能提高几个数量级。 例如,如果应用程序服务器和数据库服务器相距100 m&#…

matlab写出二维数组

%用matlab将二维数组写入txt文件 %比方说 矩阵A 为 A[1 2 3;4 5 6]; %那么程序 为 fidfopen(‘A1.txt’,‘w’); [b1 b2]size(A); for i1:b1 for j1:b2 fprintf(fid,’%10d’,A(i,j)); end fprintf(fid,’\n’); end fclose(fid); https://blog.csdn.net/susu_love/article…

【渝粤题库】广东开放大学 英语语法与基础写作 形成性考核 (2)

选择题 题目:If _______ want to stay in good shape, you should do more exercise. 题目:At last he got home, ________ and . 题目: must work hard so that they can achieve success. 题目:The weather in Guangzhou is dif…

【渝粤题库】广东开放大学 跨文化商务沟通 形成性考核

选择题 题目: 3. The Chinese word “蝙蝠” carries the same connotative meanings with the English word “bat”. 选择一项: 题目: 4. The Chinese word “龙” carries the same denotative meaning with the English word “dragon”…

累积:轻松自定义Java收集器

Accumulative是针对Collector<T, A, R>的中间累积类型A提出的接口Collector<T, A, R>以使定义自定义Java Collector更加容易。 介绍 如果您曾经使用过Java Stream &#xff0c;那么很可能使用了一些Collector &#xff0c;例如&#xff1a; Collectors.toList C…

信道接入技术及协议

1. 信道共享方式 在普通的通信系统中&#xff0c;信道共享方式有3种&#xff1a;点对点、点对多点和多点共享。 1.1 点对点 点对点是最简单的信道共享方式。其特点是只有两个节点共享无线信道。在单信道时&#xff0c;两个节点可以通过半双工方式实现共享&#xff0c;在双信…

【渝粤题库】陕西师范大学151101 经济法概论作业 (笔试题型)

《经济法概论》作业 一、单项选择题 1、不可成为经济法律关系客体的是&#xff08; &#xff09; A. 有价证券 B. 无形资产 C. 建筑工程 D.国家保护文物等禁止流通物 2、仲裁实行&#xff08; &#xff09; A.一裁终局制 B.两裁终局制 C.三裁终局制 D.裁终局制 3、下列关于个人…

jdk8 cms g1gc_G1 vs CMS vs平行GC

jdk8 cms g1gc这篇文章是我们一年前进行的实验的跟进&#xff0c;比较了现实环境中不同GC算法的性能。 我们进行了相同的实验&#xff0c;将测试扩展为包含G1垃圾收集器&#xff0c;然后在不同的平台上运行了测试。 今年&#xff0c;我们的测试使用了以下垃圾收集器&#xff1a…

【渝粤题库】陕西师范大学152103 公共行政学

《公共行政学&#xff08;专科&#xff09;》作业 一、单选题 1&#xff0e;“政治与行政二分”最早的提出者是&#xff08; &#xff09;。 A.凯恩斯 B.布坎南 C.韦伯 D.威尔逊 2&#xff0e;新公共管理运动肇始于&#xff08; &#xff09;。 A.英国 B.美国 C.德国 D.新西兰 …

Matlab查看数组大小的命令——size、length、numel和ndims

1 size 功能&#xff1a;主要用来获得矩阵的各个维数的大小&#xff0c;或者指定维数的大小。 语法&#xff1a; d size(X) [m,n] size(X) m size(X,dim) [d1,d2,d3,…,dn] size(X) 其语法应用比较灵活。 2 length 功能&#xff1a;用来获得数组长度&#xff0c;即…

Java的精妙之处,包括基元和变量参数数组

在我最近的博客文章Arrays.hashCode&#xff08;&#xff09;与 DZone联合版本的评论中提出了一个有趣的问题。 Objects.hash&#xff08;&#xff09; “。 该评论的作者建立了一些示例&#xff0c;这些示例与我的博客文章中使用的示例相似&#xff0c;并且显示出与我看到的结…

【渝粤题库】陕西师范大学163201 旅游科学引论作业(专升本)

《旅游科学引论》作业 一、简答题 1、旅游是什么&#xff1f; 2、旅游学的研究对象是什么&#xff1f; 3、旅游能干什么&#xff1f; 4、什么是旅游学&#xff1f; 5、旅游的本质是什么&#xff1f; 6、旅游学的学科性质是什么&#xff1f; 7、旅游学的学科如何构成&#xff1f…

【渝粤题库】陕西师范大学180103市场营销学Ⅰ作业(高起专)

《市场营销学I》作业 一、单项选择题 1、人的需求是无限的&#xff0c;但是有限的&#xff08; &#xff09;限制了人们的大部分欲求。 A&#xff0e;场所 B&#xff0e;商品交换关系 C&#xff0e;人口 D&#xff0e;购买力 2、市场营销的核心是&#xff08; &#xff09;。 …

MATLAB | 解决打开延迟的情况

问题 最近打开matlab&#xff0c;一直没有反应&#xff0c;大概几分钟后&#xff0c;才开始有反应。 网上关于matlab启动出现延迟的方法有很多种解决方法。但都是针对破解版的&#xff0c;而装正版matlab2020b&#xff0c;缺少license文件。对于此&#xff0c;我们尝试用另外一…

【渝粤题库】陕西师范大学200751 《操作系统》作业

《操作系统》作业 一&#xff0e;填空题。 1.加在计算机硬件上的第一层软件为 它是微机以至任何一台计算机必须配置的系统软件。 2.操作系统设计时追求的目标中&#xff0c;其有效性是指 。 3.批(包括多道和单道)处理系统的最大缺点是 &#xff0c;从而使得用户调试程序的周期…

50 个具有挑战性的概率问题 [01/50]:袜子抽屉

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒&#xff08;Frederick Mosteller&#xff09;的《概率论中的五十个具有挑战性的问题与解决方案》&#xff08;Fifty Challenge Problems in Probability with Solutions&#xff09;一书。我认为…