《A Classification Based Surrogate-Assisted Evolutionary Algorithm for Expensive Many-Objective Optimization》

摘要

提出了一种基于分类模型网络预测的模型,比较candidate solutions 和 reference solutions之间的支配关系而不是去分别对目标值进行近似,考虑预测时的不确定性和分类的类别进行个体选择。

创新点
1、是做分类,但是是和分类边界(参考解)进行比较,而不是每个个体之间进行相互比较
2、选择的参考解可以很好地保持种群的收敛性和多样性,没有使用主流的三类MOEA方法,而是使用了基于径向过程的方式来进行环境选择
3、考虑到模型可能发生错误,使用了交叉验证和可信度配置的方式验证模型的效果

速看版本

图1 模型的框架伪代码

  • 使用径向过程将m维目标空间投影到2维,在2维径向空间里使用网格的方式选点作为分类参考点,本文经过实验对比选定k=6
  • 使用真实的目标函数依次与参考点集合进行支配关系对比,将种群分为Ⅰ(被支配的)和Ⅱ(非支配的)两类
  • 分别在Ⅰ、Ⅱ中按照1:3选择验证集和测试集,使用训练集进行网络的训练,网络使用了基础的FNN
  • 使用验证集对网络进行验证,并根据原始的分类与预测的结果得到可信度支配结果
  • 使用模型进行个体选择
  • 再次使用径向方式投影,并用网格的方法进行环境选择
  • 循环上述所有步骤,直到FE>FEmaxFE > FE_{max}FE>FEmax​

实现框架
模型:a classification based surrogate-assisted evolutionary algorithm(CSEA)

图2 模型的框架图示

1、初始化
使用LHS采样生成初始种群P,使用随机生成的权重参数构成的三层的FNN,隐层有H个神经元,激活函数是sigmoid。并使用objective function来预测解,得到解对应的目标值,并将这些目标值和对应的解存档。

2、选择参考解构建分类模型
使用基于径向的选择方法从1中的存档中选择解生成参考解种群PRP_RPR​,作为分类的边界

3、模型更新和验证
根据分类的边界,使用分类模型将步骤1中存档的解分为两类,在径向空间里可以表现为被参考解支配或是支配参考解,并将这些解根据3:1的比例作为训练数据和测试数据,使用交叉验证方法来评估模型的可靠性,构建训练分类模型

4、模型辅助的选择(surrogate-assisted selection)
在1生成的种群P中使用交叉和变异来生成下一代,根据分类模型的结果和模型可信度(所预测的解的确定度)从子代中选出有希望的解(promising solutions),加入存档Arc中,作为下一迭代的训练数据

5、环境选择
使用径向过程选择从中间种群中选出N个作为下一代种群

6、结束
循环2,3,4,5,直到FE>FEmaxFE>FE_{max}FE>FEmax​,该算法停止

细节详细说明
A)分类边界定义
根据产生的参考解生成一个分类边界,根据在径向空间中与分类边界对应的支配关系被分为Ⅰ/Ⅱ类(即:Ⅱ类支配参考解,参考解支配Ⅰ类)
将m维的目标向量投影到2维的径向空间,2维的径向空间(radial space)被分成一个一个的网格


图3 径向投影过程(Radial Projection)伪代码

W:投影矩阵
K:所需要选择解的个数=参考解的个数=种群大小
ConConCon:在目标空间里计算理想点和待选点之间的欧式距离来计算收敛性
CrowdCrowdCrowd:在径向空间里同一个网格内被选择的点的个数来计算分布性

关于径向过程的参考:《A radial space division based evolutionary algorithm for many-objective optimization》
一个m维的向量根据径向权重参数矩阵W1W_1W1​和W2W_2W2​可以投影到2维的空间中,根据n和BlB_lBl​,BuB_uBu​可以将2维径向空间分成m/nm/nm/n个网格,每个网格有一个crowd(Gs)crowd(G_s)crowd(Gs​)表示这个网格内解的个数;每个解有一个con(P)表示这个解的收敛性,con(P)=∣∣P−minPmaxP−minP∣∣con(P)=||\frac {P-min\;P}{max \; P-min \;P}||con(P)=∣∣maxP−minPP−minP​∣∣表示这个解离当前种群中最优解的距离(标准化)。

进行K次循环,每次循环先找一个crowd最小的网格,在该网格内计算Fit(Q,PR)Fit(Q,P_R)Fit(Q,PR​)值,得到最小的解,将该个体放入待参考的种群中,将该解从原始种群中除去,更新该解所在的网格crowd=crowd+1,这样求得的解应该是在满足分布性的基础上收敛性最好的解。最后得到K个带参考解

参考解的数量会影响分类边界的分类效果,也就是影响到种群的多样性和分布性

目标个数 K的选择 描述
3、4 强调多样性的维持,K应该要比较大
≥4\geq 4≥4 强调收敛,K小一些比较合适 将更多的非支配解分在类别Ⅰ中,确保类别Ⅱ的收敛

根据不同的实验对比得到K=6表现比较稳定

B) 分类模型管理方法(surrogate management method)
1)模型初始化
FNN的结构如下所示,所有的权重w均是随机在[0,1]的数字,初始时是随机生成的权重参数,后面随着模型的训练进行更新

结构 描述 激活函数
输入层 d维输入(d表示决策变量的个数)
隐层 H个隐层神经元 sigmoid
输出层 1维输出 sigmoid

sigmoid=11+e−λxsigmoid=\frac {1} {1+e^{-\lambda x}}sigmoid=1+e−λx1​

2)模型更新
将数据分为3:1的比例,是按照已经分好类的Ⅰ和Ⅱ中各选择1/3和3/4的解作为验证和训练数据。

  • 模型使用LM(Levenberg-Marquardt back-propagation method)作为反馈函数。
  • 每一个测试样例分别迭代50次。
  • 使用一个存档来存储用适应度函数计算出来的解

3)模型验证
使用交叉验证计算FNN的不确定性。

  • 分别计算类别Ⅰ,类别Ⅱ和测试集的误差,并使用MAE(mean absolute error)计算误差,可以得到类别Ⅰ/Ⅱ的平均绝对误差p1p_1p1​、p2p_2p2​。
    MAE=Σi=1∣Qc∣abs(c−Cpi)∣Qc∣MAE=\frac {\Sigma _{i=1} ^{|Q_c| }abs(c-C_{p_i})} {|Q_c|}MAE=∣Qc​∣Σi=1∣Qc​∣​abs(c−Cpi​​)​
    表示类别c的测试误差,∣Qc∣|Q_c|∣Qc​∣表示所有类别c的的集合的元素个数

4)模型辅助选择原则
根据精英原则,我们需要尽可能多的选择类型Ⅱ的个体保留。

联合测试误差p1p_1p1​、p2p_2p2​来评估FNN的不确定性,判断由模型得出的解是否可信,结合不确定性判断是否需要使用目标函数计算来选择promising solution。

图4 reliable configuration

  • R1区域中

    • p2<trp_2 < trp2​<tr (棕色部分):表明分类器正确预测了第Ⅱ类
    • p1<trandp2<(1−tr)p_1<tr \quad and \quad p_2 <(1-tr)p1​<trandp2​<(1−tr) (黄色部分):表明对于Ⅰ的分类是可信的,因此预测到的Ⅰ类是可以丢弃的。需要通过调节阈值来进行分类器的准确度改善。
  • R2区域(绿色部分):对于Ⅰ和Ⅱ类都未正确地分类,这些解都不需要使用真实的目标函数来评估。
  • R3区域(灰色部分):在这个区域里,p2较大,因此本该属于第Ⅰ类的解很有可能被分为了第Ⅱ类,因此,被分为第Ⅰ类的解应该使用适应度函数计算来估计,它们很有可能被分为第Ⅱ类。

如果一个解分布在R1,这个被分为Ⅱ类的解用于生成子代直到终止条件;
如果一个解分布在R3,这个被分为Ⅰ类的解用于生成子代直到终止条件;
否则,则没有解被选择。

C) 模型准确性分析
使用如下指标来评价FNN的准确性。
{Cp1,Cp2,...,Cp∣Q∣}\{ C_{p_1} ,C_{p_2} ,...,C_{p_{|Q|}} \}{Cp1​​,Cp2​​,...,Cp∣Q∣​​}:表示使用FNN预测的解
{Cr1,Cr2,...,Cr∣Q∣}\{ C_{r_1} ,C_{r_2} ,...,C_{r_{|Q|}} \}{Cr1​​,Cr2​​,...,Cr∣Q∣​​}:表示使用目标函数计算而得到的真实的分类

表示所有预测中被预测为第Ⅱ类的比例rp=Σi=1∣Q∣(CpiiscategoryⅡ)∣Q∣表示所有预测中被预测为第Ⅱ类的比例\quad rp=\frac {\Sigma ^{|Q|}_{i=1} (C_{p_i} \; is \; category\; Ⅱ)}{|Q|}表示所有预测中被预测为第Ⅱ类的比例rp=∣Q∣Σi=1∣Q∣​(Cpi​​iscategoryⅡ)​

表示真实的样本中所有第Ⅱ类的比例rr=Σi=1∣Q∣(CriiscategoryⅡ)∣Q∣表示真实的样本中所有第Ⅱ类的比例\quad rr=\frac {\Sigma ^{|Q|}_{i=1} (C_{r_i} \; is \; category\; Ⅱ)}{|Q|}表示真实的样本中所有第Ⅱ类的比例rr=∣Q∣Σi=1∣Q∣​(Cri​​iscategoryⅡ)​
rp−>rrrp->rrrp−>rr,∣rp−rr∣|rp-rr|∣rp−rr∣越小,表明FNN的准确性越高

图5 模型辅助选择

D)环境选择
继续使用径向过程进行环境选择,参数K变为N(种群大小)
详情见上述

(顶刊)一个基于分类代理模型的超多目标优化算法相关推荐

  1. 实现一个基于动态代理的 AOP

    实现一个基于动态代理的 AOP Intro 上次看基于动态代理的 AOP 框架实现,立了一个 Flag, 自己写一个简单的 AOP 实现示例,今天过来填坑了 目前的实现是基于 Emit 来做的,后面有 ...

  2. 基于离散Markov模型的Web用户行为预测算法的研究

    目录 一.理论基础 二.案例背景 1.问题描述 2.思路流程 三.部分MATLAB程序 四.仿真结论分析 五.算法相关应用 六.参考文献 一.理论基础 对于 Kth -Markov 模型,常见的建模算 ...

  3. 文献记录(part69)--公平性机器学习中基于分类间隔的歧视样本发现和消除算法

    学习笔记,仅供参考,有错必纠 关键词:公平性学习 , 分类间隔 , 目标集 , 加权距离度量 , 歧视性 公平性机器学习中基于分类间隔的歧视样本发现和消除算法 摘要 公平性学习是机器学习领域的研究热点 ...

  4. FlexiBO:基于成本感知的深度神经网络多目标优化

    ©PaperWeekly 原创 · 作者 | 张玮玮 学校 | 东北大学硕士生 研究方向 | 脑电情绪识别 论文动机 设计机器学习系统的关键挑战之一是在几个目标之间的正确平衡,这些目标往往是不可比较和 ...

  5. 基于Grad-CAM与KL损失的SSD目标检测算法

    基于Grad-CAM与KL损失的SSD目标检测算法 人工智能技术与咨询 来源:<电子学报>,作者侯庆山等 摘 要: 鉴于Single Shot Multibox Detector (SSD ...

  6. 基于元学习的红外弱小点状目标跟踪算法

    基于元学习的红外弱小点状目标跟踪算法 人工智能技术与咨询 昨天 本文来自<激光技术>,作者热孜亚·艾沙等 引言 红外点状目标的跟踪是红外搜索和跟踪(infrared search and ...

  7. 差分进化算法_基于差分进化的水泥烧成系统动态优化算法

    基于差分进化的水泥烧成系统动态优化算法 郝晓辰, 冀亚坤, 郑立召, 史鑫, 赵彦涛 燕山大学电气工程学院,河北 秦皇岛 066004 [摘  要]针对水泥烧成过程的资源浪费以及难以建立有效数学机理模 ...

  8. 学习笔记--一个自管理(组织)的多目标进化算法(SMEA)

    学习笔记–一个自管理(组织)的多目标进化算法(SMEA) 摘要:在温和条件下,一个连续m维目标的优化问题的帕累托前沿(解集)可以形成一个(m-1)维的分段连续流形.基于这个性质,这篇文章提出了一个自管 ...

  9. 《MATLAB智能算法30个案例》:第9章 基于遗传算法的多目标优化算法

    <MATLAB智能算法30个案例>:第9章 基于遗传算法的多目标优化算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析> ...

最新文章

  1. MySQL的binlog数据如何查看
  2. Xamarin Essentials教程数据处理传输数据
  3. 数据库开发管理中的十条建议
  4. VTK:采样函数用法实战
  5. 【JEECG技术博文】JEECG 简单实例讲解权限控制
  6. 9 pcb螺丝焊盘打很多小孔_PCB板设计的10个基本设计流程
  7. 武德 | 年轻人!这才叫真正的程序猿的武德
  8. Spring的三大核心接口——BeanFactory、ApplicationContext、WebApplicationContext
  9. 10项技能让前端开发者价值百万!
  10. 使用CALayer设置图像边框
  11. 勤哲excel服务器自动计算工资,用勤哲Excel服务器做财务软件
  12. python支付系统开发_python实现银联支付和支付宝支付接入
  13. ORA-12162: TNS:net service name is incorrectly specified 错误解决
  14. Maxima绘图基础
  15. 在炼数成金报名的课程!加油!
  16. 欧拉角中各种角度的名称
  17. 新版方正教务系统爬虫
  18. python随机森林变量重要性_python机器学习之随机森林(七)
  19. 发那科sub_FANUC PMC常用功能指令
  20. 动态图片怎么制作 html,AE教程:怎么制作出GIF动态图

热门文章

  1. 【汇正财经】证券市场的结构有哪些?
  2. windows10系统-13-专利数据库检索及分析
  3. 开源摄影机:Axiom Camera
  4. 面经 - OpenStack(Docker、Django、K8S、SDN)知识点
  5. 开源openstack
  6. 如何构建社区团购的核心竞争力?
  7. 三星t5移动硬盘,升级mac系统后,一直提示断开链接
  8. 算极化率的格林函数算法
  9. 重庆师范大学计算机研究生导师推荐,重庆师范大学计算机与信息科学硕师计划推荐办法...
  10. [Erlang]如何使用NIF