MCMC(一)蒙特卡罗方法
来源:互联网 发布:淘宝商家免费使用要求 编辑:程序博客网 时间:2024/05/17 13:41
作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础。比如我们前面讲到的分解机(Factorization Machines)推荐算法,还有前面讲到的受限玻尔兹曼机(RBM)原理总结,都用到了MCMC来做一些复杂运算的近似求解。下面我们就对MCMC的原理做一个总结。
1. MCMC概述
从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC)。要弄懂MCMC的原理我们首先得搞清楚蒙特卡罗方法和马尔科夫链的原理。我们将用三篇来完整学习MCMC。在本篇,我们关注于蒙特卡罗方法。
2. 蒙特卡罗方法引入
蒙特卡罗原来是一个赌场的名称,用它作为名字大概是因为蒙特卡罗方法是一种随机模拟的方法,这很像赌博场里面的扔骰子的过程。最早的蒙特卡罗方法都是为了求解一些不太好求解的求和或者积分问题。比如积分:
如果我们很难求解出
则一个简单的近似求解方法是在[a,b]之间随机的采样一个点。比如
当然,用一个值代表[a,b]区间上所有的
虽然上面的方法可以一定程度上求解出近似的解,但是它隐含了一个假定,即
怎么解决这个问题呢? 如果我们可以得到
上式最右边的这个形式就是蒙特卡罗方法的一般形式。当然这里是连续函数形式的蒙特卡罗方法,但是在离散时一样成立。
可以看出,最上面我们假设
也就是说,我们最上面的均匀分布也可以作为一般概率分布函数
3. 概率分布采样
上一节我们讲到蒙特卡罗方法的关键是得到
对于常见的均匀分布
其他一些常见的连续分布,比如t分布,F分布,Beta分布,Gamma分布等,都可以通过类似的方式从
不过很多时候,我们的
4. 接受-拒绝采样
对于概率分布不是常见的分布,一个可行的办法是采用接受-拒绝采样来得到该分布的样本。既然
具体采用过程如下,设定一个方便采样的常用概率分布函数
首先,采样得到
整个过程中,我们通过一系列的接受拒绝决策来达到用
5. 蒙特卡罗方法小结
使用接受-拒绝采样,我们可以解决一些概率分布不是常见的分布的时候,得到其采样集并用蒙特卡罗方法求和的目的。但是接受-拒绝采样也只能部分满足我们的需求,在很多时候我们还是很难得到我们的概率分布的样本集。比如:
1)对于一些二维分布
2)对于一些高维的复杂非常见分布
从上面可以看出,要想将蒙特卡罗方法作为一个通用的采样模拟求和的方法,必须解决如何方便得到各种复杂概率分布的对应的采样样本集的问题。而我们下一篇要讲到的马尔科夫链就是帮助找到这些复杂概率分布的对应的采样样本集的白衣骑士。下一篇我们来总结马尔科夫链的原理。
- MCMC(一)蒙特卡罗方法
- MCMC蒙特卡罗方法
- MCMC方法
- 马尔科夫链蒙特卡洛方法(MCMC)
- MCMC
- 独立抽样(MCMC方法)
- 也谈MCMC方法与Gibbs抽样
- MCMC马尔可夫蒙特卡洛方法总结-Gibss吉布斯采样, Metropolis-Hastings方法
- MCMC,LDA,文本建模,来点干货(一)
- MCMC算法—MH算法的Python实现(一)
- 马尔科夫蒙特卡洛方法 (MCMC)+ Gibbs采样 原理干货
- 随机采样方法整理(MCMC、Gibbs Sampling等)
- MCMC采样
- R语言与Markov Chain Monte Carlo(MCMC)方法学习笔记(1)
- R语言与Markov Chain Monte Carlo(MCMC)方法学习笔记(2)
- 机器学习方法(八):随机采样方法整理(MCMC、Gibbs Sampling等)
- 随机抽样方法正太分布 MC, MCMC, Gibbs采样 原理&实现(in R)
- MCMC(马尔科夫蒙特卡洛方法)和MH(Metropolis-Hastings)算法的一个python实现
- MNIST数字识别问题(Tensorflow)
- Spring MVC-图片上传
- caffe学习参考资料
- Spring MVC(一) 简介
- JAVA 攻城狮 第二十一天
- MCMC(一)蒙特卡罗方法
- Viewing the data
- .net关于post传值中http头文件的打包传输
- DNS 原理入门
- Gradle-gradlew
- Spring Batch 核心概念 2
- 利用Hog特征和SVM分类器进行行人检测
- Access denied for user 'root' @'localhost' (using password: YES)
- 2017.07.20工作日记