是CMA-ES(mu,lambda)还是(mu + lambda)?

时间:2012-10-08 06:57:09

标签: matrix covariance evolutionary-algorithm

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

我知道这种区别会对进化计算产生巨大影响,因为你的人口是否会陷入困境并收敛于局部最优,或者是否能够从局部优势中脱离并找到全局最优。任何有关解决这一困境的帮助都非常感谢。

1 个答案:

答案 0 :(得分:3)

CMA-ES中的人口实际上是使用(mu / mu_w,lambda)建造的。这个表示法来自CMA-ES tutorial,它详细介绍了算法:

  

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

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

CMA-ES首先从高斯分布中采样λ溶液。然后,它通过计算mu最适合的采样解决方案的平均值来计算搜索分布的新均值。最后,该算法使用专门的机制更新分布的协方差矩阵,这里不会涉及但也使用mu最适合的采样解决方案。