进化计算、遗传编程与符号回归模型的验证和选择
1. 进化计算与遗传编程基础
1.1 子代生成的线性组合方法问题
在进化计算和遗传编程中,一种简单的子代生成方法是将其作为父母的线性组合,公式为 (o = (pr × p1) + ((1 - pr) × p2))。然而,这种方法会导致程序规模呈指数级增长,因为父母的完整表示都会被复制到子代中。尽管可以通过巧妙的实现避免对从父母复制部分的重新评估,但最终的解决方案规模仍然会很大。
1.2 近似几何交叉与语义操作符
为了解决线性组合方法的问题,出现了近似几何的替代操作符。经验证据表明,近似几何交叉在符号回归(SR)问题中表现更好。这些语义操作符被描述为有能力的操作符,包括有能力的初始化、选择、重组和变异。有能力的语义遗传编程在布尔和 SR 问题领域取得了成功,这表明考虑语义和几何方面设计的遗传编程操作符对整体搜索性能有益。
1.3 行为程序合成
行为程序合成的主要思想是利用遗传编程个体执行过程中生成的数据来提高性能。在许多遗传编程系统中,标量适应度值是多个测试用例的聚合值,选择仅使用该标量值,这会导致大量信息丢失。例如,我们可以选择在不同测试用例上误差互补的父母进行组合。此外,执行轨迹包含的中间结果可以为遗传编程过程提供有价值的信息,可结合多个从执行轨迹计算出的搜索驱动因素用于行为遗传编程。
1.4 进化计算方法的本质
乍一看,进化计算方法似乎只是美化的随机搜索,但实际上它们是有引导的随机搜索。可进化性、多样性和选择压力等概念有助于我们直观理解进化计算过程,并根据具体问题调整参数设置。分析种群属性的动态,如适应度值和复杂度的
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



