集成|利用Python纯手工实现蒙特卡洛集成


一个著名的赌场启发技巧 , 用于数据科学 , 统计和所有科学 。 如何在Python中完成?
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

什么是蒙特卡洛积分? 实际上 , 蒙特卡洛是举世闻名的赌场的名称 , 该赌场位于举世闻名的法国里维埃拉摩纳哥城邦(也称为公国)的同名地区 。
事实证明 , 赌场激发了著名科学家的思想 , 发明了一种有趣的数学技术来解决统计 , 数值计算 , 系统仿真中的复杂问题 。
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

当时高浓缩铀中的链反应动力学为科学家们提供了难以想象的复杂理论计算 。 即使像约翰·冯·诺依曼(John Von Neumann) , 斯坦尼斯拉夫·乌兰(Stanislaw Ulam) , 尼古拉斯都会(Nicholas Metropolis)这样的天才头脑也无法以传统方式解决它 。 因此 , 他们转向了奇妙的随机数世界 , 让这些概率量驯服了最初难以处理的计算 。
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

令人惊讶的是 , 这些随机变量可以解决计算问题 , 这阻碍了确定性确定性方法的发展 。 不确定因素实际上赢了 。
就像蒙特卡洛游戏世界中的不确定性和随机性规则一样 。 这就是这种特殊绰号的灵感来源 。

集成|利用Python纯手工实现蒙特卡洛集成
本文插图

如今 , 它是广泛领域中使用的一种技术

  • 供应链物流
  • 药物开发
  • 统计学习和建模
  • 图像处理
  • 大型系统仿真
  • 天文学等
尽管获得了所有成功和名声 , 但基本构想却看似简单且易于展示 。 我们在本文中使用一组简单的Python代码对其进行演示 。
这项技术的最早和最著名的用途之一是曼哈顿计划 。
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

专栏机器学习难点问题秒懂课堂作者:AI火箭营148币155人已购查看棘手的积分 尽管常规的蒙特卡洛模拟技术的范围要广泛得多 , 但在此我们特别关注蒙特卡洛积分技术 。
它只不过是一种计算复杂的定积分的数值方法 , 它缺乏闭合形式的解析解 。
我们要计算 ,
对于不确定形式的积分 , 要获得封闭形式的解决方案并非易事或完全不可能 。 但是数值逼近总是可以给我们定积分作为和 。
这是函数的图
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

黎曼和 的总分类下有许多这样的技术 。 这个想法只是将曲线下的区域分成矩形或梯形小块 , 通过简单的几何计算对其进行近似 , 然后将这些分量求和 。

为了简单说明 , 我展示了只有5个等距间隔的这种方案 。
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

实际上 , 对于程序员朋友来说 , 有一个现成的 , 可以快速准确地进行此计算 。
随机走会怎么样? 如果我告诉您不需要统一地选择间隔 , 并且实际上我可以完全概率地选择100%随机间隔来计算相同的积分该怎么办?
我选择的样本可能像这样……
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

或这个…
集成|利用Python纯手工实现蒙特卡洛集成
本文插图

我们没有时间或范围来证明其背后的理论 , 但是可以证明 , 通过相当大量的随机抽样 , 我们实际上可以以足够高的精度计算积分!


推荐阅读