【问题标题】:Explain the intuition for the tol paramer in scipy differential evolution解释scipy差分进化中top参数的直觉
【发布时间】:2018-09-03 03:54:59
【问题描述】:

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

tol:浮动,可选

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

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

【问题讨论】:

    标签: scipy differential-evolution


    【解决方案1】:

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

    std(population_energies) / mean(population_energies) < tol

    这意味着当群体中每个个体的能量标准偏差(由平均值标准化)小于给定的容差值时,就达到了收敛。

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

    这也意味着所有个体在参数空间中彼此相对接近。因此,在接下来的几代人中,不能指望有更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 1970-01-01
      • 2018-08-24
      • 2018-10-27
      • 2019-12-07
      • 2015-11-24
      • 2018-05-21
      • 2020-12-27
      • 2019-05-29
      相关资源
      最近更新 更多