为什么使用蒙特卡罗方法而不是简单的网格?

机器算法验证 蒙特卡洛
2022-01-27 09:01:05

在集成功能或复杂模拟时,我看到蒙特卡罗方法被广泛使用。我在问自己为什么不生成点网格来集成函数而不是绘制随机点。这不会带来更准确的结果吗?

4个回答

几年前,当我自己问同样的问题时,我发现这些讲义的第 1 章和第 2 章很有帮助。一个简短的总结:一个网格ñ20维空间中的点将需要ñ20功能评价。那是很多。通过使用蒙特卡罗模拟,我们在一定程度上避开了维度灾难。蒙特卡罗模拟的收敛性是(ñ-1/2) 也就是说,尽管速度很慢,但在尺寸上是独立的。

当然可以;但是它具有更大的 CPU 使用率。这个问题在许多维度上尤其严重,在这些维度上,网格实际上变得无法使用。

之前的评论是正确的,因为模拟更容易用于多维问题。但是,有一些方法可以解决您的问题 - 请查看http://en.wikipedia.org/wiki/Halton_sequencehttp://en.wikipedia.org/wiki/Sparse_grid

虽然在考虑蒙特卡洛时通常是拒绝抽样,但马尔可夫链蒙特卡洛允许人们比使用网格(或拒绝抽样)更有效地探索多维参数空间。本教程中明确说明了如何使用 MCMC 进行集成 - http://bioinformatics.med.utah.edu/~alun/teach/stats/week09.pdf