【发布时间】:2012-01-18 16:02:50
【问题描述】:
自适应进化策略背后的基本思想是什么?策略参数是什么?在算法运行过程中如何操纵它们?
【问题讨论】:
-
除了基本思想之外,每个算法都不同。基本思想可以在任何有关进化算法的论文或教科书中找到。投票结束,因为这个问题对 SO 来说太宽泛了。
自适应进化策略背后的基本思想是什么?策略参数是什么?在算法运行过程中如何操纵它们?
【问题讨论】:
scholarpedia 上有一篇关于进化策略的优秀文章。我还可以推荐优秀的期刊文章:Beyer, H.-G。 & Schwefel,H.-P。进化策略 - 综合介绍。自然计算, 2002, 1, 3-52.
在 ES 的历史上,有几种采用策略参数的方法。自适应的目标一般是当前解周围的采样区域的形状和大小。第一个是 1/5 成功规则,然后是 sigma 自适应,最后是协方差矩阵自适应 (CMA-ES)。为什么这很重要?简而言之:突变强度的适应对于保持搜索各个阶段的进化进程是必要的。越接近最优值,就越不想改变向量。
CMA-ES 相对于 sigma 自适应的优势在于它还可以适应区域的形状。 Sigma 自适应仅限于轴平行自适应。
【讨论】:
为了获得更大的图景,Introduction to Evolutionary Computing 这本书有一个很棒的章节 (#8) 关于参数控制,其中自适应是其中的一部分。
这是引言部分的引述:
在全球范围内,我们区分设置参数值的两种主要形式: 参数调整和参数控制。通过参数调整,我们的意思是 等同于寻找良好价值的常用方法 对于参数不会运行算法,然后运行 使用这些值的算法,这些值在运行期间保持固定。之后 在本节中,我们给出任何静态参数集的参数 在 EA 运行期间固定值似乎是不合适的。 参数控制形成了另一种选择。因为这相当于开始一个 使用在运行期间更改的初始参数值运行。
参数调优是一种典型的算法设计方法。这样的 通过尝试不同的值并选择 在测试问题上给出最佳结果的那些。手。 但是,可能的参数数量及其不同的值 意味着这是一项非常耗时的活动
【参数控制】是基于观察发现好的 进化算法的参数值结构很差, 定义不明确,复杂的问题。这正是上的那种问题 哪些 EA 通常被认为比其他方法表现更好。 因此,使用 EA 将 EA 调整为 特别的问题。这可以使用两个 EA 来完成:一个用于问题 解决和另一个 - 所谓的元 EA - 调整第一个 一。也可以通过仅使用一个 EA 来完成 在解决该问题的同时调整自身以适应给定的问题。 自适应,如在进化策略中介绍的 变异参数,属于这一类
然后是具体示例和更多细节。
【讨论】:
一般来说,进化计算中自我适应背后的目标是算法应该是通用的,并且需要尽可能少的问题知识,即您必须指定的输入参数形式。 自适应使算法更通用,而不需要问题知识来选择正确的参数化。
【讨论】: