用噪声评估找到凸函数的最小值

计算科学 凸优化
2021-12-16 19:37:44

我想找到它最小的函数的参数。该函数预计是凸的,但我无法准确评估它,所以我必须处理顶部有噪音的事实。噪音纯粹是统计的,我大致知道它的大小。本质上,我为函数的每次评估运行蒙特卡罗模拟,因此我什至可以控制错误。

我不需要太精确地知道最小值。函数的值越高,模拟的产量越大。

因此我的要求是:

  • 真正昂贵的功能评估
  • 一维函数
  • 没有可用的衍生产品
  • 达到已知量级的统计误差的凸度

此外,整个过程不是非常复杂是相当重要的。我知道这个线程:

找到一个平滑的、有界的、非凸的 2D 函数的全局最小值,该函数的评估成本很高

但这有点太多了。我需要一些简单但可靠的东西。我尝试了一个简单的二等分方案,但这确实不能很好地处理噪音。

1个回答

解决这类问题的标准方法是在覆盖合理范围的几个点上评估目标函数,并将简单的(例如二次模型)拟合到这些点,然后最小化这个“响应面”。您可以通过使用第一个拟合模型的最小值附近的点拟合新的响应曲面来重复该过程。在您提到的先前问题的答案中讨论了响应面建模或代理建模 - 它确实是解决此类问题的最简单方法。

如果您的 Monte Carlo 模拟不仅产生函数值,而且产生近似次梯度,那么已经对使用不精确函数值和次梯度的方法进行了一些研究。然而,这些方法通常需要大量的功能评估。