蒙特卡罗方法简介

Posted by BitLines on June 2, 2013

蒙特卡罗简介

蒙特卡罗方法(英语:Monte Carlo method),也称统计类比方法,是1940年代中期由于科学技术的发展和电脑的发明,而提出的一种以机率统计理论为指导的数值计算方法。是指使用乱数(或更常见的伪乱数)来解决很多计算问题的方法。

20世纪40年代,在科学家冯·纽曼、斯塔尼斯拉夫·乌拉姆和尼古拉斯·梅特罗波利斯于洛斯阿拉莫斯国家实验室为核武器计划工作时,发明了蒙特卡罗方法。因为乌拉姆的叔叔经常在摩纳哥的蒙特卡罗赌场输钱得名,而蒙特卡罗方法正是以机率为基础的方法。

与蒙特卡罗方法对应的是确定性演算法。确定性演算法方法过程是先对问题建立数学模型,然后通过数据工具计算问题的解。而蒙特卡罗方法则也是先建立数学模型,而求解过程不是精确计算,而是通过采样统计近似求解。

蒙特卡罗能干什么

通常蒙特卡罗方法可以粗略地分成两类:

一类是所求解的问题本身具有内在的随机性,借助电脑的运算能力可以直接类比这种随机的过程。例如我们要计算一个爆竹爆炸之后纸片落地点的概率分布。可以燃放一批爆竹,然后记录每次燃放后爆竹的落地点,最后统计所有实验结果估算出概率分布。

另一种类型是所求解问题可以转化为某种随机分布的特征变量,比如随机事件出现的机率,或者随机变数的期望值。通过随机抽样的方法,以随机事件出现的频率估计其机率,或者以抽样的数字特征估算随机变数的数字特征,并将其作为问题的解。例如我们要计算一个单位正方形内一个不规则图形的面积,可以随机往正方形中抛沙,最后统计在图形内沙子数量,图形面积=图形内沙子数量/总沙子数量。

在机器学习中的应用

蒙地卡罗演算法也常用于机器学习,特别是强化学习的求解中。一般情况下,针对得到的样本集建立相对模糊的模型,通过蒙地卡罗方法对于模型中的参数进行估计,例如对将来行为进行采样,估计当前策略下的长期回报。

参考文献

[1] https://zh.wikipedia.org/wiki/%E8%92%99%E5%9C%B0%E5%8D%A1%E7%BE%85%E6%96%B9%E6%B3%95