MCMC之蒙特卡罗方法

MCMC(Markov Chain Monte Carlo)是一种用于随机采样的方法,尤其在机器学习和深度学习等领域广泛应用。当面对非均匀分布或高维复杂分布时,传统的采样方法如接受-拒绝采样难以奏效。MCMC通过马尔可夫链生成样本,解决了无法直接采样复杂分布的问题,为求解复杂算法提供了基础。
摘要由CSDN通过智能技术生成

1.MCMC简介

马尔可夫链蒙克卡罗(Markov Chain Monte Carlo,MCMC) 是一种随机采样方法,在机器学习、深度学习及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础,例如受限玻尔兹曼机(RBM)便是用MCMC来做一些复杂算法的近似求解。在具体讲解什么是MCMC之前,我们先看看MCMC可以解决什么样的问题,为什么需要MCMC方法。

2. 为什么需要MCMC?

假如我们需要对一维随机变量 X X X进行随机采样, X X X的样本空间是 { 1 , 2 , 3 } \{1,2,3\} { 1,2,3},概率分别是 { 1 2 , 1 4 , 1 4 } \{\frac{1}{2},\frac{1}{4},\frac{1}{4}\} { 21,41,41}。那么我们只需要根据各离散值的概率大小对[0,1]区间进行等比例划分,例如划分为[0,0.5],[0.5,0.75],[0.75,1]三个区间,然后通过计算机产生[0,1]之间的伪随机数,根据伪随机数的落点便可完成采样。下面问题变得复杂一些,假如 X X X是连续分布,概率密度函数(PDF)是 f ( X ) f(X) f(X),那么如何采样呢。

你肯定会想到累积分布函数(CDF),表达式为 P ( x ) = ∫ − ∞ x f ( x ) d x P(x) = \int _{-\infty} ^{x} f(x) dx P(x)=xf(x)dx。然后在[0,1]间随机生成一个数 a a a,求使得 x = C D F − 1 ( a ) x=CDF^{-1}(a) x=CDF1(a),此时便可得到一个采样结果。例如以高斯分布为例进行采样,高斯分布的概率密度函数如下所示
f ( x ) = 1 σ 2 π e x p ( − ( x − u ) 2 2 σ 2 ) f(x)= \frac{1}{\sigma \sqrt{2\pi}} exp({- \frac{(x-u)^2}{2 \sigma ^2}}) f(x)=σ2π 1exp(2σ2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值