马尔可夫蒙特卡罗 MCMC 原理及经典实现

我们在做机器学习、深度学习或自然语言处理等项目时,经常采用什么方法采样呢?大家马上会想到吉布斯 Gibbs 采样,今天我们来分享一种比较实用的采样方法:马尔可夫蒙特卡罗方法,吉布斯采样是其中的一种。

Markov chain Monte Carlo methods中的 Markov chain 是因为这些方法生成的序列都是马尔科夫链,每个值都只和自己前后几个值有关; Monte Carlo是因为这些方法是用随机化的方法解决确定性问题,从已知概率分布中采样出一系列符合这个分布的样本。

要弄懂MCMC的原理,我们首先得搞清楚蒙特卡罗方法和马尔科夫链的原理。个人总结如图一所示。
在这里插入图片描述
图一:马尔可夫蒙特卡罗MCMC方法

1. 蒙特卡罗方法

蒙特卡罗方法是很宽泛的一类计算方法,依赖重复的随机采样去获得数值结果。

(原文:Monte Carlo methods is a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results。)

其本质是使用随机性去解决确定性的问题。

主要用于解决三种问题:**优化,数值积分,从概率分布中采样。**原则上,蒙特卡罗方法可以用来解决任何具有概率解释的问题。根据大数定律,某一随机变量的期望可以用该变量的样本的经验均值(即样本均值)来近似。

当变量的概率分布参数化时(参数确定下来时),数学家们经常使用**马尔可夫链蒙特卡罗(MCMC)采样器 。其核心思想是设计一个具有给定平稳概率分布的马尔科夫链模型。**根据遍历理论,用MCMC采样器的随机状态的经验测度来近似平稳分布。

1.1 蒙特卡罗概念及引入

蒙特卡罗方法就是生成样本,即蒙特卡罗采样。即根据某已知分布的概率密度函数f(x)f(x)f(x),产生服从此分布的样本XXX。最早的蒙特卡罗方法都是为了解决一些求和或者积分问题。比如积分:
在这里插入图片描述
也就是说,我们最上面的均匀分布也可以作为一般概率分布函数p(x)p(x)p(x)在均匀分布时候的特例。那么我们现在的问题转到了如何求出分布p(x)p(x)p(x)对应的若干个样本来。

1.2 概率分布采样

上一节我们讲到蒙特卡罗方法的关键是得到 xxx的概率分布,那如何基于常见概率分布$$取得样本集 xxx

在这里插入图片描述

1.3 接受-拒绝采样

对于概率分布不是常见的分布,一个可行的办法是采用接受-拒绝采样来得到该分布的样本。 既然 p(x)p(x)p(x)太复杂在程序中没法直接采样,那么我设定一个程序可采样的分布 q(x)q(x)q(x)比如高斯分布,然后按照一定的方法拒绝某些样本,以达到接近 p(x)p(x)p(x)分布的目的,其中q(x)q(x)q(x)叫做 proposal distribution。

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

1.4 蒙特卡罗方法缺陷

使用接受-拒绝采样,我们可以解决一些概率分布不是常见的分布的时候。但是接受-拒绝采样也只能部分满足我们的需求,在很多时候我们还是很难得到我们的概率分布的样本集。比如:

1)对于一些二维分布p(x,y),有时候我们只能得到条件分布p(x|y) 和p(y|x) 的和,却很难得到二维分布p(x,y) 一般形式,这时我们无法用接受-拒绝采样得到其样本集。

2)对于一些高维的复杂非常见分布p(x1,x2,…,xn),我们要找到一个合适的q(x)和 k 非常困难。

蒙特卡罗法的缺陷
通常的蒙特卡罗方法可以模拟生成满足某个分布的随机向量,但是蒙特卡罗方法的缺陷就是难以对高维分布进行模拟。对于高维分布的模拟,最受欢迎的算法当属马尔科夫链蒙特卡罗算法(MCMC)。

2.马尔科夫链方法

2.1 马尔科夫链定义

在这里插入图片描述
某一时刻状态转移的概率只依赖于它的前一个状态,我们只要能求出系统中任意两个状态之间的转换概率,这个马尔科夫链模型就能确定。每一个状态都以一定的概率转化到下一个状态,这个状态概率转化图可以用矩阵的形式表示。这就是我们常说的马尔科夫链模型状态转移矩阵。

那么马尔科夫链模型的状态转移矩阵和我们蒙特卡罗方法需要的概率分布样本集有什么关系呢?

2.2 马尔科夫链模型状态转移矩阵的性质

实验得出:从不同初始概率分布开始,代入状态转移矩阵,最终状态概率分布趋于同一个稳定的概率分布, 也就是说马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与我们的初始状态概率分布无关。

这个性质对离散状态、连续状态都成立。

2.3 基于马尔科夫链采样

在这里插入图片描述

2.4 马尔科夫链采样小结

如果假定我们可以得到马尔科夫链状态转移矩阵,那么我们就可以用马尔科夫链采样得到我们需要的样本集,进而进行蒙特卡罗模拟。但是一个重要的问题是,随意给定一个平稳分布π\piπ,如何得到它所对应的马尔科夫链状态转移矩阵PPP呢?这是个大问题。我们绕了一圈似乎还是没有解决任意概率分布采样样本集的问题。

幸运的是,MCMC采样通过迂回的方式解决了上面这个大问题,下面将讨论MCMC采样,以及改进版: M-H采样和Gibbs采样。

3 MCMC采样

MCMC方法包含了一类用于从特定概率分布中采样的算法。

它们是通过构建一个自身的分布接近它的平稳分布的马尔科夫链,这个马尔科夫链就是被采样的分布的一组采样值,这需要观察这个马尔科夫链一些步骤才能完成,且观察的步骤越多,得到的采样值的分布就越接近于想要的分布。

By constructing a Markov chain that has the desired distribution as its equilibrium distribution, one can obtain a sample of the desired distribution by observing[clarification needed] the chain after a number of steps. The more steps there are, the more closely the distribution of the sample matches the actual desired distribution.

MCMC方法最初是被用于计算多维积分的数值近似值。

MCMC方法从一个连续随机变量中,以和已知函数成比例的概率密度生成一组采样样本,这组样本就可以用于计算这个变量的期望和方差。

3.1 马尔科夫链的细致平稳条件

在这里插入图片描述

那么如何使这个等式满足呢?下面我们来看MCMC采样如何解决这个问题。

3.2 MCMC采样

在这里插入图片描述

好了,现在我们来总结下MCMC的采样过程。

在这里插入图片描述

3.3 M-H采样

M-H采样是Metropolis-Hastings采样的简称,这个算法首先由Metropolis提出,被Hastings改进,因此被称之为Metropolis-Hastings采样或M-H采样。M-H采样解决了我们上一节MCMC采样接受率过低的问题。

在这里插入图片描述

在这里插入图片描述

3.4 M-H采样总结

M-H采样完整解决了使用蒙特卡罗方法需要的任意概率分布样本集的问题,因此在实际生产环境得到了广泛的应用。

但是在大数据时代,M-H采样面临着两大难题:

在这里插入图片描述

Gibbs采样解决了上面两个问题,因此在大数据时代,MCMC采样基本是Gibbs采样的天下。

MCMC方法从一个连续随机变量中,以和已知函数成比例的概率密度生成一组采样样本,这组样本就可以用于计算这个变量的期望和方差。

3.5 吉布斯Gibbs采样基础概念

吉布斯采样就是一种MCMC方法,用于在直接采样联合分布很困难时,生成某特定多参数的概率分布的一组近似观测值。

联合分布不被明确知道或者联合分布很难直接采样每个变量的条件分布已知且容易采样时,吉布斯采样适用。

吉布斯采样是一种用于统计推断的方法,尤其是贝叶斯推断 。它是一种随机化算法(即使用随机数的算法),是用于统计推断的确定性算法(如EM算法)的替代品

最初的吉布斯采样是Metropolis–Hastings 算法的一个特例。但后来得到扩展,它可以被看成是一个通用的用于通过依次采样每一个变量从一组变量中采样的框架,而且可以把M-H算法,甚至更高级的算法比如 slice sampling切片采样, adaptive rejection sampling 自适应拒绝采样,合并进来实现采样过程的一些步骤。

这组生成的近似观测值可以用于近似联合概率分布;也可以去近似某个变量的边缘分布;或者近似其中部分变量的联合分布;或者计算某个变量的期望。
就像其他MCMC算法一样,吉布斯采样生成的一组近似观测值是一个马尔科夫链,即每个观测值只和附近几个值有相关性。所以如果要采样出完全独立的观测值,需要特别注意这一点。而且一般来自马尔科夫链开端的那些样本不能很好的表示原概率分布,会被去掉。而且采样值的马尔可夫链越长越有利于逼近原分布。

吉布斯采样依次从每个变量的分布中生成一个实例,基于其他变量的当前值。可以证明,这样生成的采样值序列是一个马尔科夫链,并且这个马尔科夫链的平稳分布就是我们想要采样的那个后验分布。

对于从多变量的联合分布中采样出一个向量(所有变量是向量的分量),从条件分布中采样比做积分算边缘概率简单得多。

The point of Gibbs sampling is that given a multivariate distribution it is simpler to sample from a conditional distribution than to marginalize by integrating over a joint distribution.

吉布斯采样尤其适用于采样贝叶斯网络的后验分布,因为一般贝叶斯网络就是用一组条件分布描述的。

Gibbs sampling is particularly well-adapted to sampling the posterior distribution of a Bayesian network, since Bayesian networks are typically specified as a collection of conditional distributions.

3.6 多维吉布斯Gibbs采样实现

在这里插入图片描述

3.7 吉布斯Gibbs采样小结

由于Gibbs采样在高维特征时的优势,目前我们通常意义上的MCMC采样都是用的Gibbs采样。当然Gibbs采样是从M-H采样的基础上的进化而来的,同时Gibbs采样要求数据至少有两个维度,一维概率分布的采样是没法用Gibbs采样的,这时M-H采样仍然成立。

有了Gibbs采样来获取概率分布的样本集,有了蒙特卡罗方法来用样本集模拟求和,他们一起就奠定了MCMC算法在大数据时代高维数据模拟求和时的作用。

梳理资料主要来自以下链接、大学教材以及一些博客文章,在这里就不一一感谢!
https://www.cnblogs.com/pinard/p/6625739.html

原文链接
https://zhuanlan.zhihu.com/p/392917306

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

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

相关文章

【渝粤题库】陕西师范大学151212 审计理论与实务作业(专升本)

《审计理论与实务》作业一、单选题 1.注册会计师的服务是一种有偿服务,下列不能成为会计师事务所收费依据的是( )。 2.在执行审计业务时,注册会计师应当确定合理的重要性水平,下列做法正确的是( &#xff0…

les物流执行系统_【精益运营】立足智慧物流 推进仓储智能化稳步升级

近年来,“智能制造”成为制造行业的热门词汇,也成为引领物流行业发展的风向标。今年在两会中,“智能”一词首次写入报告,为传统行业改造升级、实现协同共享带来了新的发展机遇。早在2017年12月,根据公司对VMI业务整合工…

【渝粤题库】陕西师范大学163108旅行社经营与管理 作业(高起专)

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 《旅行社经营与管理》作业 一、单选题 1、一名领导者直接领导的下属的数量叫做( )。 A、管理层次 B、管理策略 C、管理跨度 D、管理水平 2、团体包价组合中除去( …

增益比值 dB 以及 dBw-dBmv 等之详解

dB 分贝(工程应用),dB(Decibel,分贝)是一个纯计数单位,本意是表示两个量的比值大小,没有单位。在工程应用中经常看到貌似不同的定义方式(仅仅是看上去不同)。…

带有Spring Boot 2支持的Apache Camel 2.22发布

今天,我们发布了最新的Apache Camel 2.22.0版本 ,这是第一个正式完全支持Spring Boot 2的版本。这是一项重大的工作,因为针对像Apache Camel这样的大型框架将Spring Boot v1升级到v2付出了很多努力–感谢骆驼队和他们的贡献。 对Spring Boot …

【渝粤题库】陕西师范大学164202 市场营销学 作业(专升本)

《市场营销学》作业 一、单选题 1、从营销理论的角度而言,企业市场营销的最终目标是_________。 A.满足消费者的需求和欲望 B.获取利润 C.求得生存和发展 D.把商品推销给消费者 2、执行推销观念的企业,称为…

java 分布式事务_Java核心知识 Spring原理十五 JPA 原理

1. 事务事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。2. 本地事务紧密依赖于底层资源管理器(例如数据库连接 ),事务处理局限在当前事务资源内…

Latex中定理、引理、证明、假设、空白行的编写

1. 引理 \newtheorem{lemma}{Lemma}[section] \begin{lemma} \label{lemma1}\end{lemma}编译效果: 2. 定理 \newtheorem{thm}{\bf Theorem}[section] \begin{thm}\label{thm1} Suppose system (\ref{l1}) satisfies Assumption (\ref{mim1}), the closed-loop s…

【渝粤题库】陕西师范大学180102 广告策划 作业(高起专)

一、单项选择题 1.市场调查,是进行广告策划的( )。 A.基础 B.核心 C.内涵 D.外延 2.知觉是大脑对当前直接作用于感觉器官的客观事物的( &#xf…

【渝粤题库】陕西师范大学200011基础写作 作业(高起专)

一、单项选择题 1.下面不属于写作活动特点的是( )。 A.人文性 B.综合性 C.个体性 D.群体性 2.写作活动质量的高低乃至成败,归根到底是由写作主体的( )所决定的。 A.思维 B.表达能力 C. 表达技巧 D.思维和表达能力 3.“…

Latex设置字体大小

全局模式 \documentclass[12pt]{article} 在文档的开头,有设置整个文章的字体大小,如:12pt。 局部模式 设置字体大小的命令从小到大为: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge…

c 结构体在声明时赋值_C/C++编程笔记:C++入门知识,C++多态性和虚函数解析

本篇要学习的内容和知识结构概览多态性编译时的多态性称为静态联编. 当调用重载函数时, 在编译期就确定下来调用哪个函数.运行时的多态性称为动态联编. 在运行时才能确定调用哪个函数, 由虚函数来支持.静态联编中的赋值兼容性及名字支配规律派生一个类的原因并非总是为了添加新…

【渝粤题库】陕西师范大学200411 数学建模 作业(专升本)

《数学建模》作业 计算题1. 求差分方程 的初值解。 2. 求差分方程 的初值解。 二、1.某储蓄所每天的营业时间是上午9:00到下午5:00。根据经验,每天不同时间段所需要的服务员数量如下: 储蓄所可以雇佣全时和半时两类服务员。全时服…

【渝粤题库】陕西师范大学200781 数据库原理及应用 作业

《数据库原理及应用》作业 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是____阶段。 数据库系统 B.文件系统 C.人工管理 D&#xf…

concurrent vs. simultaneous

Both the words mean “occurring at the same time”, but “concurrent” represents the events that occur over a period of time whereas “simultaneous” represents the events that occur at a point in time. https://www.perfmatrix.com/concurrent-users-vs-simul…

使用Spring Boot和GraphQL构建安全的API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 GraphQL是Facebook在2012年开发的一种数据查询语言,用于解决REST API和传…

python flask 上传下载 api_python – 使用Flask上传和下载文件

PythonAnywhere dev这里.这是一个关于Flask和Web开发的一个很好的问题,而不是我们的系统特定的,所以我会尝试给出一个没有任何特定的通用答案:-)有一些事情我需要知道,给出一个明确的答案你的问题,所以我首先列出我所做的假设 – 如果我错了任何一个,给我一个评论我会适当地更新…

【渝粤题库】陕西师范大学201841 比较教育学 作业(专升本)

《比较教育学》作业 单选题 1、比较教育学界人们常说的“比较教育之父”是( )。 A.阿尔特巴赫 B. 康德尔 C. 萨德勒 D. 朱利安 2、结构功能主义对比较教育的影响,主要表现为比较教育注重对( )之间的关系进行分析和研究。 A、教育与民族特性 B、教育与民族传统 C、教…

visio 绘图矢量图素材网站

visio 绘图矢量图素材网站 visio是个绘图的好工具,可是自带图形元素有限,没有还要自己画。 推荐几个矢量图形素材库,里边有很多图形,很方便的导入到visio中,放大也不失真。 https://www.iconfont.cn/ https://www.st…

【渝粤题库】陕西师范大学202231财务管理Ⅰ 作业(高起专)

《财务管理》作业 一、名词解释 1、财务管理的目标 2、销售百分比法 3、最佳资本结构 4、企业价值最大化: 5、优先股股票: 6、财务风险: 7、年金: 8、债券: 9、直接投资: 10、筹资方式 11、财务杠杆 12、蓝…