解释科学差异进化中tol paramer的直觉

时间:2018-09-03 03:54:59

标签: scipy differential-evolution

我正在scipy中使用differential evolution优化器,但我不理解tol参数背后的直觉。在文档中具体说:

  

tol:浮动,可选

     

当总体能量的平均值乘以tol时,除   通过总体能量的标准偏差大于1   解决过程终止:
  convergence = mean(pop) * tol / stdev(pop) > 1

从用户的角度来看,设置功能代表什么?

1 个答案:

答案 0 :(得分:2)

也许文档中的公式以以下形式更易于理解(请参见the code中的第508和526行):

{{1}}

这意味着当总体中每个个体的能量标准偏差(以平均值为标准)小于给定的公差值时,就可以收敛。

优化算法是迭代的。在每次迭代中,都会找到更好的解决方案。公差参数用于定义停止条件。停止条件实际上是所有个人(参数集)具有大约相同的能量,即具有相同的成本函数值。然后,返回给出最低能量的参数集作为解。

这也暗示着所有个体在参数空间中彼此相对接近。因此,在以后的世代中没有更好的解决方案。