遗传算法调参

遗传算法(Genetic algorithm)遵循适者生存、优胜劣汰的法则,即寻优过程中保留有用的,去除无用的。在科学和生产实践中表现为在所有可能的解决方法中找出最符合该问题所要求的条件的解决方法,即找出一个最优解

遗传算法有4个参数需要提前设定,一般在以下范围内进行设置:

(1)群体大小:20~100

(2)遗传算法的终止进化代数:100~500

(3)交叉概率:0.4~0.99

(4)变异概率:0.0001~0.1

算法参数的设计原则

1.种群初始化

初始的种群生成是随机的。在初始种群的赋值之前,尽量进行一个大概率的区间估计,以免初始种群分布在远离全局最优解的编码空间,导致遗传算法的搜索范围受到限制,同时也为算法减轻负担

虽然初始种群中的个体可以随机产生,但最好采用如下策略设定:

(1) 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始种群;

(2) 先随机产生一定数目的个体,然后从中挑选最好的个体加入到初始群体中。这种过程不断迭代,直到初始群体中个体数目达到了预先确定的规模。

2.种群的规模

​ 群体规模太小,很明显会出现近亲交配,产生病态基因。而且造成有效等位基因先天缺失,即使采用较大概率的变异算子,生成具有竞争力高阶模式的可能性仍然核销,况且大概率变异算子对已有模式的破坏作用极大。同时,遗传算子存在随机误差(模式采样误差),妨碍小群体中有效模式的正确传播,使得种群进化不能按照模式定理产生所预期的期望数量。

​ 群体规模太大,结果难以收敛且浪费资源,稳健性下降

3.变异概率

变异概率太小种群的多样性下降太快,容易导致有效基因的迅速丢失且不容易修补;

变异概率太大,尽管种群的多样性可以得到保证,但是高阶模式被破坏的概率也随之增大

4.交配概率

与变异概率类似,交配概率太大容易破坏已有的有利模式,随机性增大,容易错失最优个体

交配概率太小不能有效更新种群

5.进化代数

进化代数太小,算法不容易收敛,种群还没有成熟

进化代数太大,算法已经熟练或者种群过于早熟不可能再收敛,继续进化没有意义,只会增加时间开支和资源浪费

小结:
遗传算法(GAs)作为一种鲁棒的、实用的优化方法,既可以用于离散域也可以用于连续域上。
关于个体(individual)和染色体(chromosome):在编程的过程中我将两者看作同一个东西。但是实际上:种群由一定数量的个体组成,每个个体实际上是染色体带有特征的实体,染色体又由若干个基因组成。

除了上述参数调整以外,在实际的应用中,我发现基于GA的算法,比如多目标进化算法(Multi-objective evolutionary algorithm)。种群的初始化方法还是很有许多值得探索的地方,有的时候完全的随机化方法并不能得到好的解。

    原文作者:helloHKTK
    原文地址: https://www.cnblogs.com/helloHKTK/p/9772778.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞