bilibili讲解视频:Click here,CSDN:Click here,运用实例以及解说:Click here
蒙特卡罗方法(Monte Carlo method),也称 统计模拟方法 蒙特卡洛方法的理论基础是大数定律。大数定律是描述相当多次数重复试验的结果的定律,在大数定理的保证下:
利用事件发生的 频率 作为事件发生的 概率 的近似值
所以只要设计一个随机试验,使一个事件的概率与某未知数有关,然后通过重复试验,以频率近似值表示概率,即可求得该未知数的近似值。
样本数量越多,其平均就越趋近于真实值
此种方法可以求解微分方程,求多重积分,求特征值等。
应用举例
假设我们要求解圆周率π,我们可以这样利用Monte Carlo method进行求解。
在一个边长为2的正方形内,随机生成n个矩形内点(x, y),我们假设落在圆内的点为m个,那么显然π满足:π/4 = m/n,判断点是否在圆内使用与原点距离,这样只要提高n的大小,我们就可以近似求解π。
运用思路
蒙特卡罗方法一般分为三个步骤,包括构造随机的概率的过程,从构造随机概率分布中抽样,求解估计量:
-
构造随机的概率过程 对于本身就具有随机性质的问题,要正确描述和模拟这个概率过程。对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程了。它的某些参数正好是所要求问题的解,即要将不具有随机性质的问题转化为随机性质的问题。如本例中求圆周率的问题,是一个确定性的问题,需要事先构造一个概率过程,将其转化为随机性问题,即豆子落在圆内的概率,而π就是所要求的解。
-
从已知概率分布抽样 由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量,就成为实现蒙特卡罗方法模拟实验的基本手段。如本例中采用的就是最简单、最基本的(0,1)上的均匀分布,而随机数是我们实现蒙特卡罗模拟的基本工具。
-
求解估计量 实现模拟实验后,要确定一个随机变量,作为所要求问题的解,即无偏估计。建立估计量,相当于对实验结果进行考察,从而得到问题的解。如求出的近似π就认为是一种无偏估计。
在使用前要计算好什么数据量可以达到什么精度,权衡好精度和求解时间
方法特点
一般情况下,蒙特卡罗算法的特点是,采样越多,越近似最优解,而永远不是最优解。 优点:对于具有统计性质的问题可以直接进行解决,对于连续性的问题也不必进行离散化处理。 缺点: 1、对于确定性问题转化成随机性问题做的估值处理,丧失精确性,得到一个接近准确的N值也不太容易。 2、如果解空间的可能情况很多则很难求解(NP问题) 与穷举法的区别:穷举法是按某特定规则进行搜索,蒙特卡洛方法则是随机搜索,但是两者都是属于盲目搜索
Comments powered by Disqus.