从期望到蒙特卡洛再到抽样(MCMC学习和梳理)

您所在的位置:网站首页 怎么用积分求期望 从期望到蒙特卡洛再到抽样(MCMC学习和梳理)

从期望到蒙特卡洛再到抽样(MCMC学习和梳理)

2024-07-12 09:43| 来源: 网络整理| 查看: 265

文章目录 怎么计算期望 用蒙特卡洛方法计算期望(积分) 无法使用蒙特卡洛计算积分的情况——无法采样 接受-拒绝采样 重要性采样 MCMC Metropolis Hasting算法实现 Reference 近期在学习MCMC(Markov Chain Monte Carlo)算法,但是看了网上的博客发现,大家都是在讲如何什么是马尔科夫链,如何构造马尔科夫链。这对于一个做工程的学生来说很不友好,相比于严谨的证明,我们更想知道这个算法是为了解决什么问题,应该如何使用。

在这篇文章里面,我梳理了MCMC算法的发展之路 。

我们常常用期望值来估计一些未知的参数,然而期望值的积分有时候很难算,此时就出现了蒙特卡洛方法求取近似数值解。但是蒙特卡洛遇到了采样难的问题,因此出现了各种采样的方法,MCMC就是其中之一。

怎么计算期望

对于一个随机变量 X X X而言,它可以取许多许多数值,但是取到每个数值是有一定概率的。取到某些值的概率比较大,取到某些值的概率比较小,取到每个值的概率画成一张图就是概率密度图。通常,我们也会用随机变量的期望 E ( x ) E(x) E(x)来描述这个随机变量的性质,期望 E ( x ) E(x) E(x)的计算公式如下: E ( X ) = ∫ x p ( x ) d x E(X) = \int xp(x)dx E(X)=∫xp(x)dx 如果这时候存在一个关于随机变量的函数 g ( x ) g(x) g(x),实际上 Y = g ( x ) Y=g(x) Y=g(x)也是个随机变量。此时期望 E ( Y ) = E [ g ( x ) ] E(Y)=E[g(x)] E(Y)=E[g(x)]可以用如下公式计算: E ( Y ) = E [ g ( x ) ] = ∫ g ( x ) p ( x ) d x E(Y) = E[g(x)] = \int g(x)p(x)dx E(Y)=E[g(x)]=∫g(x)p(x)dx 其中, p ( x ) p(x) p(x)是随机变量 X X X的概率密度函数。

在这里,期望是一个积分的形式,当这个积分难以写出显式解(表达式)的时候,就可以用蒙特卡洛模拟的方法去近似计算这个积分值,从而计算出期望。

用蒙特卡洛方法计算期望(积分)

蒙特卡洛方法给出的计算积分的方法是:生成一系列服从 p ( x ) p(x) p(x)分布的 x i x_i xi​,然后算出一系列 g ( x i ) g(x_i) g(xi​),然后用这些值的平均值近似代替我想要的积分值。这篇博客里面写了证明,用公式描述就是: E ( Y ) ≈ 1 N Σ i = 1 N g ( x i ) w h e r e   x i ∼ p ( x ) E(Y) \approx \frac{1}{N}\Sigma_{i=1}^{N}g(x_i) \\ where \ x_i \sim p(x) E(Y)≈N1​Σi=1N​g(xi​)where xi​∼p(x) 那么问题来了,应该怎么取服从 p ( x ) p(x) p(x)分布的 x i x_i xi​呢?这里的 p ( x ) p(x) p(x)是概率密度函数(Probability Density Function, PDF),实际上如果能把概率密度函数写成概率分布函数(Cumulative Distribution Function, CDF)就方便了,CDF实际上就是PDF的积分。举个例子:

假设我们要取服从正态分布 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1)的100个样本 [ x 1 , . . . , x 100 ] [x_1,...,x_{100}] [x1​,...,x100​]。已知其PDF,由PDF计算出CDF如下图:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3