【发布时间】:2019-02-25 19:30:50
【问题描述】:
我是一名实验物理学家,试图在我的测量中自动进行相对简单(但敏感)的优化,目前完全手动完成,占用了我很多时间。在 cmets 中经过一些思考和提示后,我将问题简化为以下几点:
我想最大化一些函数 f(x)。但是,我只能评估 f(x);我无法明确评估它的导数。此外,我无法对大范围的 x 进行采样;如果 f(x) 阈值,我可以猜到一些初始步长 eps,其中 f(x_0 + eps) > 阈值也成立(但是,我不知道 f(x_0 + eps) > 或
我目前如何手动执行如下:我评估 f(x_0),然后评估 f(x_0 + eps)。如果这导致减少,我将评估 f(x_0-eps)。基于梯度(基本上我只看是否有大步或大步超出我无法跨越的阈值),我要么增加或减少 eps 并继续沿同一方向搜索,直到找到最大值,我注意到这是因为 f (x) 开始减少。然后我回到那个最大值。这样,我总是在探查最大值的顶部,因此保持在安全范围内。
【问题讨论】:
-
我会说您需要定义问题或将其分解,例如finding local optimum。
-
我进一步分解了它。
标签: python algorithm measurement feedback