我正在使用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
最小化故障
njev
nit
我想nfev=函数求值的次数,nit应该对应于“迭代次数”。但为什么是尼特!=nfev?在
一些输出记录在^{} :
nfev
:函数求值的数目njev
:雅可比求值数nit
:算法的迭代次数其他选项的文档较少,但是您可以随时查看Github source来理解。
minimization_failures
表示局部优化器未能收敛的次数(如果montecarlo步骤为局部优化器建议的起始位置离局部最小值太远,则可能会发生这种情况)。在盆跳算法的迭代次数
nit
,预计远远少于nfev
,函数求值的次数。迭代对应于以下步骤:在局部极小化过程中会有许多函数求值,因此我们期望
nfev
比nit
大得多。在相关问题 更多 >
编程相关推荐