[英]scipy.optimize.basinhopping interval and accept test syntaces
[英]Understanding the output of scipy.optimize.basinhopping
我正在使用scipy.optimize.basinhopping來最小化一個函數。 這是我得到的:
Out[96]:
nfev: 162178
minimization_failures: 2501
fun: 4.4702905615653705
x: array([-194.7754468])
message: ['requested number of basinhopping iterations completed successfully']
njev: 44057
nit: 2500
但是,我很難理解輸出。 這些返回參數的含義是什么:
nfev
minimization_failures
njev
尼特
我猜nfev =函數評估的數量,而nit應該對應於'迭代次數'。 但為什么尼特!= nfev?
一些輸出記錄在scipy.optimize.OptimizeResult
:
nfev
:功能評估的數量 njev
:雅可比評估的數量 nit
:算法的迭代次數 其他選項的文檔記錄較少,但您可以隨時查看Github源代碼來理解。 minimization_failures
是指本地優化器未能收斂的次數(如果蒙特卡羅步驟提出本地優化器的起始位置距離本地最小值太遠,則可能會發生這種情況)。
nit
,盆地跳躍算法的迭代次數預計遠小於nfev
,即函數評估的次數。 迭代對應於以下步驟:
將有許多功能評估作為局部最小化過程的一部分,因此我們期望nfev
比nit
大得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.