“线性搜索失败”错误初始猜测设置为二次函数的最小值

时间:2015-10-09 13:10:41

标签: python optimization

我遇到了scipy.optimize.fmin_tnc的问题。

我正在使用一个简单的函数测试优化器的标志:

f(x)=(x-2)**2+5

优化器按预期工作,除非我使用已知最小值作为初始猜测。

当我这样做时,我收到一条消息Linear search failed。在网上看,这个错误似乎是说方程式表现不好,但我知道情况并非如此。

为什么我收到此消息?

1 个答案:

答案 0 :(得分:1)

我不知道scipy,但根据scipy.optimize.fmin_tnc docs,该函数使用"截断牛顿算法"。 Newton's method涉及除以当前 x 值的导数,并且由于导数,导致最小值(或最大值或拐点)不能很好地解决那里是零。

然而,scipy-0.15.1具有密切相关的scipy.optimize.fmin

  

使用下坡单纯形算法最小化函数。

     

此算法仅使用函数值,而不是导数或秒   衍生物。

希望那个人能在静止点附近表现良好。