我使用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 =函数求值的数目,nit应该对应于‘迭代次数’。但是,为什么是nit!
发布于 2015-01-01 08:38:06
一些输出记录在scipy.optimize.OptimizeResult中。
nfev:功能评估的数量njev:雅可比评价的数量nit:算法的迭代次数其他选项没有很好的文档记录,但是您可以始终查看Github源来理解。minimization_failures指的是本地优化器无法收敛的次数(如果Monte步骤为本地优化器提议一个离本地最小值太远的起始位置,则可能会发生这种情况)。
nit,即跳盆算法的迭代次数,预计要比nfev函数求值的次数少得多。迭代对应于以下步骤:
作为局部最小化过程的一部分,将有许多函数计算,因此我们期望nfev比nit大得多。
https://stackoverflow.com/questions/27728483
复制相似问题