我正在构建一个遗传算法,我偶然发现了这个:
计算累计归一化适应度值(累计 个体的适应值是其自身适应值的总和 加上所有先前个体的健康值)。该 最后一个人的累积适应度应为1(否则 在规范化步骤中出现问题)。 from Wikipedia
有人可以解释我为什么要这样做?这种规范化可以获得什么?
我已经有一个标准化的健康分数(我正在使用gene_score / total_scores),这给了我所有分数等于1的总和。我可以将基因从最好到最差排序并进行任何类型的重组/ crossover。
答案 0 :(得分:0)
累积归一化适应度是每个个体的归一化拟合度的累积和。
示例:您的个体的适合度为2,1和7.它们的标准化拟合度为0.2,0.1和0.7。它们的累积拟合度为0.2,0.3和1.顺序可能不同,但对选择程序没有影响。
累积的适应性允许您使用单个随机生成的数字进行(一个人)的选择。
如果您的健康状况已经正常化,那么进一步的标准化当然不会做任何事情,您可以安全地跳过此步骤并继续积累。
还有其他选择技巧,如排名选择或锦标赛选择,不需要进行规范化和积累。