论文解读:NSGA-II, EFR, EFR-RR

本文主要回顾三种算法(NSGA-II, EFR, EFR-RR)的动机以及他们之间的差异。

  1. EFR是基于NSGA-II框架提出的集成适应度排序算法。二者之间的差异主要在环境选择上。

    具体来说,在每一代中,NSGA-II对合并种群 R=PUQR = P U QR=PUQ 中的每个个体执行非支配排序以产生所有分类排序子集F=(F1,F2,⋯)F = (F_1, F_2, \cdots)F=(F1​,F2​,⋯)。然后,根据需要计算某个分类排序子集中所有个体的聚集距离,并建立偏序集。接下来从偏序集依次选取个体进入Pt+1P_{t+1}Pt+1​。

    摆渡给出偏序集的定义:它是数学中,特别是序理论中,指配备了部分排序关系的集合。这个理论将排序、顺序或排列这个集合的元素的直觉概念抽象化。这种排序不必然需要是全部的,就是说不必要保证此集合内的所有对象的相互可比较性。部分排序集合定义了部分排拓扑。

    对应Matlab代码实现为:

    %% Select the solutions in the last front based on their crowding distances
    Last     = find(FrontNo==MaxFNo);
    [~,Rank] = sort(CrowdDis(Last),'descend');
    Next(Last(Rank(1:N-sum(Next)))) = true;
    

    也就是说,偏序关系只可能在最后一个分类子集FLast上被使用到。因为按照非支配关系可知,FLastF_{Last}FLast​之前的分类子集中的所有个体均被选入了新群体,但只有FLastF_{Last}FLast​中的一部分个体被选入新群体,此时称FLastF_{Last}FLast​为临界层分类子集

  2. EFR采用了类似NSGA-II的分层框架。

    首先,初始化父代种群,以及全局排序号RgR_gRg​。 执行以下循环直到算法结束:
    算法根据得到的RgR_gRg​进行选择(binary tournament selection),并执行交叉(SBX)、变异(polynomial mutation)等操作产生子代种群QtQ_tQt​。合并父代和子代种群Rt=Pt⋃QtR_t = P_t \bigcup Q_tRt​=Pt​⋃Qt​。

    然后,采用一组更具一般性的适应度函数 F1,F2,⋯,FK\mathcal {F}_1, \mathcal {F}_2, \cdots, \mathcal {F}_KF1​,F2​,⋯,FK​将个体xxx在mmm个目标上的函数值转换为一组适应度值(KKK维向量)。其目的是通过整合多个由不同的简单排序器(适应度函数)产生的排序结果来提高排序的可靠性和合理性。

    选择适应度函数时需要考虑这样一个问题: 当计算xxx的适应度 Fi(x)\mathcal {F}_i(x)Fi​(x)时,应该独立于其它解。否则Fi(x)\mathcal {F}_i(x)Fi​(x)对种群的更新毫无意义。 因此需要额外手段来分配适应度值。 文章作者采用了三个适应度函数:LpnormL^p~normLp norm,TchebycheffFunctionTchebycheff~FunctionTchebycheff Function 以及 PBIPBIPBI。

    进一步地,需要为所有个体分配全局排序号RgR_gRg​。具体来说,这类似于AR和MR过程,即为每个解xxx产生KKK个序号位,由向量R(x)=((r1(x),r2(x),⋯,rK(x)))TR(x)=((r_1(x), r_2(x), \cdots, r_K(x)))^TR(x)=((r1​(x),r2​(x),⋯,rK​(x)))T表示。其中,rj(x)r_j(x)rj​(x)表示xxx对应于适应度Fj\mathcal {F}_jFj​的排序号。当全部解R(x)R(x)R(x)计算完成之后,可通过集成排序机制(如,ARARAR,MRMRMR以及作者提出的LRLRLR)为每个解xxx分配RgR_gRg​。由于一些解可能具有相同的RgR_gRg​。所以,根据RgR_gRg​可以将种群分为不同的子集(){F1,F2,…}\{F_1, F_2, \dots \}{F1​,F2​,…}(这类似于NSGA-II中前沿的概念)。其中F1F_1F1​为第一层,具有最小的RgR_gRg​值,依次类推。同一子集FiF_iFi​中的所有解个体都具有相同的第iii个最小RgR_gRg​值。(关于ARARAR和MRMRMR排序算法略)。 在种群更新时,将子集依次合并到新种群中,具体过程如下:
    这里,Sort(Fi)Sort(F_i)Sort(Fi​)采用随机排序。

  3. EFR-RR在EFR的基础上,分析了影响解分布的另一个重要因素,距离。
    首先说一说该优化机制的动机。高维空间中(Many-objective),由于等值线的存在,仅仅依靠权重向量难以维持解的多样性。为此,需要借助解到权重向量的垂直距离来维持演化过程中解的多样性,从而获得具有良好分布的帕累托前沿(Pareto front)。该思想具有不同的实现形式,例如,基于标准的MOEA/D和EFR算法,分别提出了MOEA/D-DU和EFR-RR。这里只介绍后者。

    假设解x\textbf{x}x具有mmm个目标向量f(x)=(f1(x),f2(x),…,fm(x))\textbf{f}(\textbf{x})=(f_1(\textbf{x}), f_2(\textbf{x}), \dots, f_m(\textbf{x}))f(x)=(f1​(x),f2​(x),…,fm​(x)),直线LLL为穿过参考点z∗\textbf{z}^*z∗且以权重向量λj\lambda_jλj​为方向的直线。定义x\textbf{x}x到λj\lambda_jλj​的距离Dj,2(x)D_{j,2}(x)Dj,2​(x)为:
    Dj,2(x)=∥f(x)−z∗−Dj,1(x)(λj/∥λj∥)∥D_{j,2}(\textbf{x}) = \parallel \textbf{f}(\textbf{x})- \textbf{z}^*-D_{j,1}(\textbf{x})(\lambda_j / \parallel \lambda_j\parallel)\parallelDj,2​(x)=∥f(x)−z∗−Dj,1​(x)(λj​/∥λj​∥)∥
    其中,Dj,1(x)D_{j,1}(\textbf{x})Dj,1​(x) 是 z∗\textbf{z}^{*}z∗ 与交点 u\textbf{u}u 之间的距离
    Dj,1(x)=∥(f(x)−z∗)Tλj∥/∥λj∥D_{j,1}(\textbf{x}) = \parallel (\textbf{f}(\textbf{x})- \textbf{z}^*)^T \lambda_j \parallel / \parallel \lambda_j \parallelDj,1​(x)=∥(f(x)−z∗)Tλj​∥/∥λj​∥
    下图是二维空间中解到权重向量垂直距离的示意图:

    理想的情况是,由Tchebycheff函数得到最优解之后,也能够同时获得最理想的多样性。但是EFR并非如此。由其产生的最终解通常集中在最优解附近,而不能保证种群的多样性。为了解决这个问题,在EFR-RR在原始EFR算法中使用了排序限制(Ranking Restriction)方案:
    只允许解x\textbf{x}x在目标空间中相应权重向量接近的适应度函数上排序。换句话说,并非所有权重向量都参与适应度的计算,而是目标空间中那些与当前解相近的权重向量组成的子集,记为B(x)B(\textbf{x})B(x)。其中包含NNN个权重向量中在垂直距离上与x\textbf{x}x最接近的K(K≪N)K(K\ll N)K(K≪N)个权重向量的下标,即:参与排序的适应度为Fj\mathcal {F}_jFj​,其中j∈B(x)j\in B(\textbf{x})j∈B(x)。相应地,EFR-RR算法中解x\textbf{x}x的全局序号为:Rg(x)=min rj(x),j∈B(x)R_g(\textbf{x}) = \text{min}~r_j(\textbf{x}), ~j\in B(\textbf{x})Rg​(x)=min rj​(x), j∈B(x)

    参考文献:

  4. (NSGA-Ⅱ)-2002-A fast and elitist multiobjective genetic algorithm.

  5. (EFR)-2014-Evolutionary Many-Objective Optimization Using Ensemble Fitness Ranking.

  6. (EFR-RR)-2016-Balancing convergence and diversity in decomposition-based many-objective optimizers

论文解读:NSGA-II, EFR, EFR-RR相关推荐

  1. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  2. 点云配准的端到端深度神经网络:ICCV2019论文解读

    点云配准的端到端深度神经网络:ICCV2019论文解读 DeepVCP: An End-to-End Deep Neural Network for Point Cloud Registration ...

  3. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  4. 论文解读丨Zero-Shot场景下的信息结构化提取

    摘要:在信息结构化提取领域,前人一般需要基于人工标注的模板来完成信息结构化提取.论文提出一种zero-shot的基于图卷积网络的解决方案,可以解决训练集和测试集来自不同垂直领域的问题. 本文分享自华为 ...

  5. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

  6. 进化计算(六)——NSGA II代码实现(Matlab)

    NSGA II代码实现 代码流程图 Code Main 函数选择 种群初始化 非支配排序 拥挤度计算 二进制锦标赛选择算子 SBX&Poly mutation 精英策略选择 目标函数 参考链接 ...

  7. Learn to See in the Dark 论文解读

    整理下最近一篇论文的学习笔记.这是由UIUC的陈晨和Intel Labs的陈启峰.许佳.Vladlen Koltun 合作提出的一种在黑暗中也能快速.清晰的成像系统,让机器"看破" ...

  8. 论文解读:《基于预先训练的DNA载体和注意机制识别增强子-启动子与神经网络的相互作用》

    论文解读:<Identifying enhancer–promoter interactions with neural network based on pre-trained DNA vec ...

  9. Accurate prediction of molecular targets using a self-supervised image rep...(论文解读)

    Accurate prediction of molecular targets using a self-supervised image representation learning frame ...

最新文章

  1. 剑指offer八:跳台阶
  2. 神经网络的sigmoid激活函数是一种平方映射
  3. Python lambda表达式
  4. JVM从入门到精通(五): Java运行时数据区和常用指令
  5. 利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多...
  6. 利用ORB/AKAZE特征点进行图像配准
  7. 《游戏行业DDoS攻击解决方案》重磅发布
  8. python爬虫记录时间_Python新手写爬虫全过程记录分析
  9. Python Imaging Library: ImageChops Module(图像通道操作模块)
  10. sqlserver修改实例名
  11. 《概率统计》知识点(持续更新……)
  12. AIX补丁中TL、SP、CSP、IF、PTF的含义
  13. 告别陈彤,或是告别一个总编辑的时代
  14. matlab练习程序(RGB2CMY、CMY2RGB)
  15. 程序员就业大数据报告出炉:平均月薪近2万,90后成主力
  16. 3.表数据的CRUD
  17. 车载激光扫描系统介绍
  18. 百度地图 android 自身地点,Android使用百度地图SDK获得当前设备位置所在的省、市(系列1)...
  19. linux批量删除指定名称的文件夹
  20. css–sprit_高级CSS –类已用完–通过使用结构化格式标签避免类

热门文章

  1. Havel-Hakimi定理(判断一个度序列是否可图)
  2. 【面试】AI常见的面试问题
  3. layUI laydate 时间选择器近一天、近一月、近三月、近一年
  4. 算法珠玑-变位词的四种解法
  5. 使用Nuxt.js框架开发(SSR)服务端渲染项目
  6. 【实用软件】Json文件查看器(支持查看超大JSON文件)
  7. mysql中查询当年1-12月数据
  8. 企业微信公费电话怎么使用?
  9. x265线程池机制和并行编码机制分析
  10. “损失函数”是如何设计出来的?直观理解“最小二乘法”和“极大似然估计法”