11.3.3 进化计算方法

11.3.3 进化计算方法

进化计算的灵感来自遗传学和自然选择的原理。进化计算或进化算法的核心组成部分包括遗传算法(GA)、进化策略(ES)、进化规划(EP)和遗传规划(GP)。这些进化方法为启发式解决方案不可用或不令人满意的问题提供了替代解决方案。由于简单性、灵活性和鲁棒性的优势,进化算法已成功应用于不同领域的各种问题,包括优化、自动编程、机器学习、运筹学、生物信息学和社会系统等。GA算法和GP算法是最重要的两个进化计算中的代表性方法。

11.3.3.1 GA算法

遗传算法通常用于通过应用生物启发性算子(例如突变、交叉和选择)来生成用于优化和搜索问题的高质量解决方案。如图11-5所示,进化通常从随机生成的个体群体开始。在每一代中,使用目标函数来评估人口中每个个体的适应性。从当前人群中随机选择合适的个体,并对每个个体的基因组进行修饰以形成新一代,新一代候选解决方案将在算法的下一次迭代中使用。通常,当产生了最大数量的代数或达到了令人满意的适应性水平时,算法终止。

图11-5 遗传算法流程图

11.3.3.2 GP算法

遗传编程是一种通过使用各种数学构造块(例如函数、常数和算术运算)并将它们组合为单个表达式来演化方程的方法。它最初是由Koza开发的。遗传编程和遗传算法之间的主要区别是解决方案的表示形式。GP作为一种先进的进化计算技术,是遗传算法的扩展,已广泛应用于符号数据挖掘(符号回归、分类和优化)。与传统回归分析不同,基于GP的符号回归会根据可用数据自动演化数学模型的结构和参数;同时,在无须假定现有关系的先验形式的情况下生成经验数学方程的能力方面,它优于其他机器学习技术。图11-6显示了多基因符号回归模型的结构。

图11-6 遗传编程GP结构图

GP模型可以看作是输入变量的低阶非线性变换的线性组合。输出yGP定义为由偏置项b0和缩放参数b1,…,bn修改的n棵树的向量输出:

其中,ti(i=1,…,n)是第i个包含多基因个体的树的输出的m×1向量。进化过程从最初的种群开始,首先是创建包含GP树的个体,这些GP树具有随机产生的不同基因。进化过程继续进行,包括对新种群的适应性评估,获取和删除基因的两点高级交叉以及子树上的低级交叉;然后,创建的树通过变异算子替换下一代的父树或未更改的个体,定义GP算法的输出。