Is CMA-ES (mu, lambda) or (mu + lambda)?



我知道协方差矩阵适应进化策略所需的基本组件,但我似乎找不到任何地方明确说明所选子项(lambda)是否替换了父种群(mu)或被添加到其中。

我知道这种区别在进化计算中产生了巨大的差异,即你的种群是否卡在局部最优值上并收敛,或者它是否能够脱离局部最优值并找到全局最优值。 非常感谢任何关于解决这一困境的帮助。

CMA-ES 中的人口实际上是使用 (mu/mu_w, lambda) 构建的。这个符号来自CMA-ES教程,它详细介绍了算法:

(mu/mu_w,lambda)-ES,与父母的进化策略,所有父母的重组,无论是中间的还是加权的,以及后代。

在经典的进化策略中,mu个体发生突变以产生λ新的解决方案。然后,算法要么将这些 lambda 解决方案添加到第一个 mu (mu+lambda),要么只保留 lambda 解决方案(mu、lambda)。

CMA-ES首先从高斯分布中采样λ解。然后,它通过计算 mu 适配采样解的均值来计算搜索分布的新均值。最后,该算法使用专门的机制更新分布的协方差矩阵,此处不涉及这些机制,但也使用μ Fitest采样解。

在进化策略(ES)中,(μ,λ)选择通常优于(μ + λ)选择,原因如下:

  1. (μ, λ) 丢弃所有父母,因此原则上能够离开(小)局部最优。这在多模式搜索中可能是有利的具有许多局部最优的空间。

  2. 如果适应度函数不是固定的,而是随时间变化的,则 (μ+λ) 选择会保留过时的解,因此无法很好地遵循移动最优值。

  3. (μ+λ)选择阻碍了用于适应的自我适应机制策略参数。

来源:"进化计算导论",第2版(2015),Eiben & Smith

相关内容

  • 没有找到相关文章

最新更新