zel*_*ell 1 python minimization scipy
我尝试使用 fmin_bfgs 来找到绝对函数的局部最小值abs(x)。初始点设置为100.0;预期答案是 0.0。但是,我得到:
In [184]: op.fmin_bfgs(lambda x:np.abs(x),100.0)
Warning: Desired error not necessarily achieved due to precision loss.
Current function value: 100.000000
Iterations: 0
Function evaluations: 64
Gradient evaluations: 20
Out[184]: array([100.0])
Run Code Online (Sandbox Code Playgroud)
为什么?
fmin_bfgs 和 fmin_slsqp 等方法需要平滑(连续导数)函数才能提供可靠的结果。abs(x) 具有最小值的不连续导数。在这种情况下,像 Nelder-Mead 单纯形这样不需要连续导数的方法可能会提供更好的结果。
| 归档时间: |
|
| 查看次数: |
2520 次 |
| 最近记录: |