![](/img/trans.png)
[英]Why is a matrix argument of my objective function changed when I minimize it with scipy.optimize.minimize()?
[英]Why my scipy.optimize.minimize fails?
我嘗試使用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])
為什么?
像fmin_bfgs和fmin_slsqp之類的方法需要平滑(連續導數)函數才能提供可靠的結果。 abs(x)的最小值為雙連續導數。 在這種情況下,不需要連續導數的Nelder-Mead單純形法之類的方法可能會提供更好的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.