大都会hastings或MonteCarlo方法优于简单的网格搜索?

use*_*220 1 python montecarlo

我有一个相对简单的函数,有三个未知的输入参数,我只知道上限和下限.我也知道我的所有数据的输出Y应该是什么.

到目前为止,我已经在python中进行了简单的网格搜索,循环遍历所有可能的参数组合,并返回Y预测和Y观察到的误差在设定限制内的结果.

然后我查看结果以查看哪组参数对每组样本的效果最佳,查看参数之间的权衡,查看异常值如何影响数据等.

所以我真正的问题是 - 虽然我使用的网格搜索方法有点麻烦,但使用蒙特卡罗方法(例如大都市hastings)会有什么优势呢?

我目前正在研究MCMC方法,但没有任何使用它们的实际经验,在这种情况下,不能完全看到可能获得的东西.

我非常感谢任何意见或建议

非常感谢

Mr *_*ooz 6

当底层函数复杂(有时太复杂而无法直接计算)和/或高维空间时,MCMC方法往往很有用.当其他任何事情都不可行或运作良好时,通常会使用它们.由于您有一个简单的低维问题,我不希望MCMC方法对您特别有用.

如果您可以在足够短的时间内以足够精细的比例对问题域执行网格搜索,那么这可能是一种很好的方法.

如果你的函数是凸的,那么有许多众所周知的方法,如梯度下降.

如果您的函数具有可以轻松解决的简单函数形式,但是您有大量具有总异常值的数据,则RANSAC可能会有所帮助.

如果您的函数在未知位置具有许多局部最小值,则模拟退火可以很好地工作.