我希望最小化具有潜在随机输出的功能。传统上,我会使用scipy.optimize库中的某些东西,但我不确定如果输出不是确定性的话,它是否仍然有效。
以下是我正在处理的问题的最小示例:
def myfunction(self, a):
noise = random.gauss(0, 1)
return abs(a + noise)
关于如何算法最小化其预期(或平均)值的任何想法?
数值近似值可以,只要它可以“相对”接近实际值。
我们已经通过对许多可能的运行进行平均来降低噪声,但是该功能在计算上有点昂贵,如果我们可以帮助它,我们不希望做更多的平均。
答案 0 :(得分:0)
事实证明,对于我们的应用程序,使用scipy.optimize退火算法提供了足够好的局部最大值估计值。
对于更复杂的问题,pjs指出Waeber,Frazier和Henderson(2011)link提供了更好的解决方案。