基于遗传算法的人工神经网络优化
在多目标优化问题中,我们常常需要从众多解决方案中挑选出最优的一部分,以产生下一代的解决方案。下面将详细介绍相关的选择、计算和优化过程。
1. 解决方案的层级选择
在多目标优化里,解决方案会被划分成不同的层级,且层级 $i$ 的解决方案优于层级 $i + 1$ 的解决方案。例如,层级 1 的解决方案比层级 2 的好,层级 2 的又比层级 3 的好,依此类推。
当我们要挑选作为父代的最优解决方案时,会从第一层级开始选。若第一层级的可用解决方案数量少于所需父代的数量,就会从第二层级挑选剩余的父代,以此类推。
假设种群规模为 8,为了产生同样规模的新一代,我们需要挑选一半(即 4 个)的种群作为父代,剩下的一半则是由这些父代交配产生的子代。
首先,第一非支配层级仅有 3 个解决方案,分别是 {A, D, F},由于我们需要 4 个父代,所以会选择这 3 个解决方案。此时还剩下 1 个父代需要从第二层级挑选。
第二层级有 4 个解决方案 {B, C, E, H},我们只需从中选 1 个。那么该选哪个呢?这就需要用到拥挤距离这个指标。
2. 拥挤距离的计算与应用
拥挤距离是用于对同一非支配前沿的解决方案进行优先级排序的指标。以下是计算和使用拥挤距离的步骤:
1. 对于每个目标函数,将该层级内的解决方案按从差到好的顺序排序。
2. 对于处于边界的两个解决方案(即最右侧和最左侧的解决方案),将它们的拥挤距离设为无穷大。
3. 对于中间的解决方案,根据公式 4 - 7 计算拥挤距离。
4. 对于每个解决方案,将所有目标的拥挤
超级会员免费看
订阅专栏 解锁全文

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



