Mitchell机器学习-遗传算法

来源:互联网 发布:最优化方法第二版 编辑:程序博客网 时间:2024/06/06 22:29
1. 遗传算法的特点
  • 遗传算法是基于自然选择和基因遗传学原理的一种群体寻优的搜索算法,特别适用于处理传统搜索方法难于解决的复杂和非线性问题
  • 遗传算法是群体寻优,不是从一个点开始,而是从许多点开始搜索。因而可以防止搜索过程收敛于局部最优解,较有可能得到全局最优解。
  • 遗传算法通过适应函数来选择优秀种群,而不需其他推导和附属信息,因而对问题的依赖性较小,求解的鲁棒性较好。
  • 遗传算法对寻优的函数(适应函数)基本无限制,即不要求函数连续可微,既可是显函数,也可是隐函数,因而应用广泛。
  • 遗传算法是一种启发式搜索,它不是穷举法,也不是完全的随机测试。只要基因位置选择恰当,遗传操作合适,搜索效率往往很高,仅有限次迭代,便可得到接近的最优解。
  • 遗传算法具有并行计算的特点,可以用大规模并行计算来提高计算速度。
  • 遗传算法特别适用于复杂大系统问题的优化求解

2. 基本的遗传算法

  • 基本的遗传算法(或称标准的遗传算法)由初始化选择交换变异四个部分组成。
    • 编码(coding)先把待寻优的参数或变量表示成“染色体串”(一般是用二进制码串表示),染色体中的基因是最基本的单位,用一个二进制码表示。有遗传特性的基因串,称为基因型染色体即由这些基因型组成。每个染色体所代表的生物体的性状(即搜索空间的参数或解)称为染色体的表现型。从基因型到表现型的转换,称为译码(decoding)。
    • 适应度(Fitness)表示染色体生存与复制(Reproduction)的能力,适应度愈大的染色体,复制下一代的个数愈多(表示“适者生存”)。
    • 交换(Crossover,又称交叉)在下一代染色体种群中,还要进行基因型之间的交换,产生新的个体。
    • 变异(Mutation)在某个基因型的某个或某几个位置上进行代码的突变。
    • 这样通过复制交换变异得到下一代染色体种群。然后再进行适应度计算,若收敛于最优解,遗传计算便结束,输出最优解,否则继续复制、交换和变异,再进行迭代计算,直到求得最优解为止。