1
我一直遇到scipy.optimize.fmin_tnc
問題。「線性搜索失敗」錯誤初始猜測設爲最小二次函數
我使用一個簡單的功能測試優化的標誌:
f(x)=(x-2)**2+5
優化按預期工作,除了當我用已知的最小的初始猜測。
當我這樣做時,我收到一條消息,說Linear search failed
。環顧網上,這個錯誤似乎是說這個方程式不是很好,但我知道情況並非如此。
爲什麼我會收到此消息?
我一直遇到scipy.optimize.fmin_tnc
問題。「線性搜索失敗」錯誤初始猜測設爲最小二次函數
我使用一個簡單的功能測試優化的標誌:
f(x)=(x-2)**2+5
優化按預期工作,除了當我用已知的最小的初始猜測。
當我這樣做時,我收到一條消息,說Linear search failed
。環顧網上,這個錯誤似乎是說這個方程式不是很好,但我知道情況並非如此。
爲什麼我會收到此消息?
我不知道scipy,但根據scipy.optimize.fmin_tnc docs,函數使用了「截斷的牛頓算法」。 Newton's method涉及的值除以當前的導數x的值,並且在最小值(或最大值或拐點)處不能很好地工作,因爲導數在零那裏。
然而,SciPy的-0.15.1有着密切相關的
使用下降單純算法最小化的功能。
該算法只使用函數值,而不是衍生詞或第二個 衍生物。
希望那個人在靠近靜止點的位置表現不錯。