我是一名实验物理学家,试图使我的测量中相对简单(但敏感)的优化自动化,该优化目前完全由人工完成,并占用了我很多时间。经过一些思考和评论中的提示,我将问题简化为以下内容:
我想最大化一些函数f(x)。但是,我只能评估f(x);我无法明确评估其派生词。而且,我无法对大范围的x进行采样;如果f(x)<阈值,则我有麻烦(并且我需要一天的时间才能恢复)。幸运的是,我有一个起始值x_0,使得f(x_0)>阈值,我可以猜出一些初始步长eps,f(x_0 + eps)>阈值也成立(但是,我不知道f(x_0 + eps)>或 我目前的手动操作如下:先评估f(x_0),然后评估f(x_0 + eps)。如果这导致减少,我改为评估f(x_0-eps)。基于梯度(本质上,我只是查看是否存在较大的步长或无法跨过阈值的大步长),我要么增大或减小eps,一边继续沿相同方向搜索,直到找到最大值为止,这是因为f (x)开始减少。然后,我回到那个最大值。这样,我一直在探测最大值的顶部,因此保持在安全范围内。