automl-演化算法-多目标

NSGA-Net: Neural Architecture Search using Multi-Objective Genetic Algorithm
论文笔记:NSGA-Net: Neural Architecture Search using Multi-Objective Genetic Algorithm

Efficient multi-objective neural architecture search via lamarckian evolution—ICLR2019

多目标优化简介

多目标进化算法的种类很多,可以依据某一特征将它们分门别类。基于不同的选择机制,我们可以对其进行分类:

(1) 基于Pareto的方法(Pareto-based Approaches)

(2) 基于群体的方法(Population-based Approaches)

(3) 聚集函数(AggregatingFunctions)

多目标优化

多目标遗传算法NSGA-II

NSGA-II入门C1
NSGA2 算法MATLAB完整代码 中文注释详解
多目标优化算法(一)NSGA-Ⅱ(NSGA2)(原理与代码交替进行,算法流程图)

多目标中的目标是个啥?
多目标即是优化问题中的优化目标在3个及以上,一般这些优化的目标都存在着矛盾,例如:我要买一个又便宜又漂亮又性能好的车的时候,价格,外观, 性能 这就是一个典型的多目标问题,我们必须在商品的价格,外观和性能上做出取舍,毕竟外观漂亮性能强劲的车型往往意味着高的价格。

多目标中的支配是个瓦特?
我们经常听说 支配与非支配解集 ,那么什么叫做支配,什么叫做非支配呢?还是上面汽车的例子,如果汽车A价格30万,外观A等,性能A等;汽车B价格40万,外观A-等,性能A-等,就说汽车A支配了汽车B。如果有一辆汽车C价格20万,外观B等,性能B等,相较于汽车A,虽然C的外观和性能都比汽车A要差,但是其价格上比汽车A要低,从价格这个评价标准上来看,汽车C是要优于汽车A的,所以说汽车C和汽车A是属于一个非支配的关系。即 当A所有目标都优于B时,就说A支配了B,否则A和B就是一个非支配的关系 ,而在NSGA-II中,种群中所有不被任何其他解支配的解构成了非支配前沿(Pareto最优解)

  • 多目标遗传算法与遗传算法的联系-交叉变异的方法相同
  • 多目标遗传算法与遗传算法的区别-选择的方法不同
    遗传算法中和多目标遗传算法中最大的不同在于 选择 的过程,遗传算法中通过适应度函数进行种群中个体的选择,而多目标遗传算法中根据 非支配的Rank值和拥挤度进行排序 选择保留的个体。
  1. 对于Rank值,首先我们将解集中的 所有不能被任何其他的解支配的解集 (即最厉害最牛的解)挑出来设为Rank0,然后将这些解从解集中排除,考虑剩下所有解中 所有不能被任何其他的解支配的解集 挑出来设为Rank1,…通过支配关系将解集中所有的解进行排序,得到所有解的等级。我们认为 Rank值越小的解越好。在选择的过程中我们设定 每次迭代种群中个体的数量N是定值 ,而每次挑选时,先挑选表现最好的解–即Rank0的解,接着是Rank1,Rank2,Rank3…,
  2. 但是我们总会出现Rank值相同的情况。为了判定同一个Rank层的解的好坏,设置 拥挤度 作为同Rank非支配解集中解的评价标准
  3. 遗传算法有自动收敛的性质,所以为了保证解的多样性,我们往往希望同一Rank层中的解能够相互分开,所以设置了 拥挤度 这个概念,认为 解之间距离开的解比解之间距离小的解更好 拥挤距离排序用于保持解的多样性。 每个个体的拥挤距离是通过计算与其相邻的两个个体在每个子目标函数上的距离差之和来求取,即下图中虚线四边形的长和宽之和
    在这里插入图片描述
  4. 每个父代Pt 都会通过 交叉和变异 (其中多目标遗传算法中的交叉和变异与传统遗传算法中的交叉和变异没有区别) 生成子代Qt ,父代和子代的所有个体集合称为 Rt ,先通过 非支配排序 选出Rt中的合适个体,再通过 拥挤度排序 选出同一Rank层中的个体,使新的种群集合 Pt+1 的个体数目为N。 这一过程常常会使用以下两种图进行表示:
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其它多目标基因算法

多目标优化1——基于分解的多目标进化算法(MOEA/D)
多目标进化算法(MOEA)概述
多目标进化算法详述-MOEA/D与NSGA2优劣比较

为了深入理解进化算法,我们给出了基于Pareto的MOEA的基本流程,如图2.1所示。首先初始化种群P,然后选择某一个进化算法(如基于分解的多目标进化算法,MOEA/D)对P执行进化操作(如选择、交叉、突变),得到新的种群R。然后构造P∪R的帕累托最优解集Nset,我们将最优解集的大小设置为N,如果当前最优解集Nset的大小与N的大小不一致,那么我们需要调整Nset的大小,同时必须注意调整过后的Nset需要满足分布性要求。之后判断算法终止条件是否已经被满足,如果不满足条件则将Nset中的个体复制到种群P中继续下一轮的进化,否则结束。我们一般用算法的迭代次数来控制它的执行。

在MOEA中,算法收敛的必要条件同时也是一个极其重要的方面是:保留上一代的最优解集并将其加入新一代的进化过程。这样进化下去,进化种群的最优解集不断向真正的Pareto前沿面收敛,最终得到令人满意的进化结果。
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值