求解大规模稀疏多目标优化问题的一种进化算法(SparseEA)笔记
阅读文献:An Evolutionary Algorithm for Large-Scale Sparse Multiobjective Optimization Problems
是由BIMK的田野、张兴义等人发表在IEEE Transactions on Evolutionary Computation(SCI 一区)期刊上的一篇文章
Abstract—亮点
提出了一种求解大规模稀疏多目标优化问题的进化算法,该算法考虑到Pareto最优解的稀疏性,提出了新的种群初始化策略和遗传算子,来保证生成解的稀疏性。
Introduction
下面就介绍一下相关概念,之前文章也提到过
多目标优化问题(MOPS)–是指具有多个待优化目标的问题
Pareto最优解–可以获得多个解作为不同目标之间的权衡
Pareto前沿面–是由所有Pareto最优解构成的Pareto集在客观空间上的像
什么是大规模优化问题?
简单来看就是决策变量的维度比较高的优化问题。
稀疏指的是?
在大规模优化问题中,并不是每一维变量都会对目标函数函数产生影响,也就是虽然决策变量的维度很高,但是有意义的维度却很少.
为什么稀疏的大规模问题比较难以解决?
1.维度越高,搜索空间越大,越需要搜索能力更强的算法.
2.交叉变异有可能对没有意义的维度进行操作,会使种群中存在大量冗余的个体.
本文的解决方案:
1)提出了一种求解大规模稀疏拖把问题的多目标进化算法。该算法通过一种新的种群初始化策略和遗传算子来保证解的稀疏性,验证了其在逼近稀疏Pareto最优解方面的有效性。
种群初始化策略简要介绍
从个体编码角度出发,找出所有维度中比较重要的维度。
dec表示个体的决策变量, mask表示每维变量是否重要, 由0和1组成,最终决策变量是两者的内积。
2)设计了一个多目标测试集来评估算法的性能,该测试集包含8个Pareto最优解稀疏度可调的基准问题。
3)对提出的测试集和四个应用实例进行了实验。统计结果表明,在求解大规模稀疏多目标优化问题时,该算法的性能明显优于现有的7个多目标进化算法。
稀疏的多目标优化问题
大规模稀疏应用方面很多领域,主要是:机器学习、数据挖掘、神经网络
本文主要是介绍了四种流行的稀疏多目标优化问题:
1、特征选择
通过(a)图我们可以清晰的看到,Bear和Frog两种动物他们的有一些相同的特征和一些不同的特征,如果我们需要进行特征选择,我们会选择相关特征中Hair、Eggs、Milk 这几个特征来进行分类,这样的话不仅可以减少特征数量,同时可以提高分类性能。
2、模式挖掘
目的:从交易数据集中找到最频繁和完整的模式
由图(b)可知,通过众多用户的购买交易记录,我们发现划横线的商品是大部分用户经常一起购买的,这相当于是一个完整的模式(Hat、Scarf 、Gloves),当用户购买其中一件商品的时候,往往会给你推荐其他两件商品,相信大家应该在电商平台上有所经历吧,这就是通过从所有的历史购物清单中挖掘最佳模式来向客户推荐匹配的商品。
3、关键节点检测
由图(c)可知,在复杂网络中,某些节点是比较重要的,而绝大部分节点一般都不太重要.删除法是一种搜索重要节点的方法,具体地,删除某些节点,检测网络的连通性.删除的节点越重要,对网络连通性的破坏越大。
4、神经网络训练
由图(d)可知,进化算法已经应用在神经网络训练的优化网络拓扑、权重、超参数方面,而且为了控制神经网络的复杂性,主要是优化输入层到隐藏层、隐藏层到输出层的权重以达到最小化复杂性和误差的目的。
通过上述特征选择,关键节点检测和神经网络训练等问题,能够看到相同点是,它们的Pareto最优解是很少的,将稀疏性定义为直接优化的目标,因此可以看到Corresponding solution中有一部分为0,重要的部分为非零,达到稀疏的目的。
SparseEA算法具体内容
A、SparseEA算法框架
SparseEA框架与NSGA-II类似,SparseEA中的交配选择和环境选择与NSGA-II中的相似
1-3:首先初始化大小为N 的种群P,在种群P中计算每个解的非支配前沿数和拥挤距离-
在主循环中
4-13:通过二元锦标赛选择来选择2N个父代,生成N个后代并与P组合之后,删除合并种群中的重复解,合并种群中具有更好的非支配前沿数和拥挤距离的N个解可以生存到下一代。
B、SparseEA的种群初始化策略(重点)
采用实变量和二元变量的混合表示法来集成两种不同的编码来求解稀疏多目标优化问题。
双编码:实数编码dec ,二进制编码mask
每个解的实向量dec 记录最佳决策变量,二进制向量掩码记录应该设置为0的决策变量,最终决策变量为两个向量的内积。
种群初始化策略主要分为两部分:
1.计算决策变量得分
D维决策变量:构造D个解
实变量dec:随机
二进制变量mask:DD的单位矩阵
对D个解进行非支配排序,将第i个解的非支配前沿数作为第i个决策变量的得分,得到每个决策变量的得分。
决策变量的得分代表的是其被设置为0的概率,较低的非支配前沿数指示较好的解质量。
那么得分越小,为0的可能性越小,为1 的可能性越大;反之,得分越大,为0的可能性越大,为1的可能性越小。
2.生成初始种群
初始化:N个解。
实变量dec:ND随机
二进制mask:N*D全0矩阵(设置为0)
通过二进制锦标赛选择从掩码中选择rand()×D个元素,设置为1,其中rand()表示[0,1]中均匀分布的随机数。
通过上图绘制了SparseEA生成的种群和目标空间中随机生成的种群,个种群包含一个特征选择问题的50个解决方案。可以看到,通过该初始化策略,获得一个一个近似于pareto面的良好分布,具有更好的收敛性和多样性。
C、SparseEA的遗传算子
先从p’中随机选择两个父代p和q,以每次生成一个子代o(3)
然后将o的二进制向量掩码设置为与p的二进制向量掩码相同(6)
以相同的概率执行下面的两个操作(7)
根据决策变量的得分(越大越好),通过二进制锦标赛选择从p.mask∩(q.mask反) 掩码中的非零元素中选择一个元素,并将o的掩码中的该元素设置为0 (8-12)
或者根据决策变量得分(越小越好),通过二进制锦标赛选择,从(p.mask反)∩q.mask 掩码中的非零元素中选择一个元素,并将o的MASK中的该元素设置为1 (14-18)
下一步
对o的掩码进行相同概率执行,根据决策变量的分数(越大越好),通过二进制竞赛选择从o.mask中的非零元素中选择一个元素,并将该元素设置为0;或者根据决策变量的分数,通过二进制锦标赛选择,从(o.mask反)中的非零元素中选择一个元素,并将该元素设置为1。
总结起来一句话就是:以相同的概率翻转二进制向量掩码中的零元素或非零元素中的一个元素,其中要翻转的元素是基于决策变量的分数来选择的
目的:生成的子代不期望具有相同数量的0和1,并且可以保证子代的稀疏性
根据上图可知,现有MOEA产生的大多数子代位于双亲之间,而SparseEA产生的一些子代可以同时支配两个双亲。因此,可以证实所提出的遗传算子的有效性。
实验Experiment
对比于其他的算法来解决大规模问题,SparseEA算法效果显著。
结论
SparseEA采用了一种新的种群初始化策略和遗传算子来生成稀疏解,实验证明该算法比现有的多目标进化算法在稀疏多目标优化问题上更有效。
原文链接:https://download.csdn.net/download/qq_36317312/12920027
如果有需要,可以下载进行理解。
本篇博客参考了这两篇文章,受益匪浅:https://blog.csdn.net/xyisv/article/details/90736084
https://blog.csdn.net/you_jin/article/details/106927996
求解大规模稀疏多目标优化问题的一种进化算法(SparseEA)笔记相关推荐
- 计算智能课程设计(遗传算法求解无约束单目标优化问题)
写在前面 前天写完了基于传递闭包的模糊聚类,今天准备写"遗传算法求解无约束单目标优化问题".昨天和npy玩了一下午,去齐白石艺术学院看了画展,一起在最高处看了夕阳,并在落日前接吻. ...
- 【优化求解】基于NSGAII算法求解含约束多目标优化问题matlab代码
1 简介 NSGA(非支配排序遗传算法).NSGAII(带精英策略的非支配排序的遗传算法),都是基于遗传算法的多目标优化算法,都是基于pareto最优解讨论的多目标优化. 2 部分代码 clear ...
- 【优化布局】基于差分进化算法求解电力系统负荷分配中的应用问题matlab代码
1 简介 差分进化算法在处理连续域.非凸.不确定性和全局优化问题时具有优势,已在包括电力系统最优潮流在内的诸多领域得到广泛应用.电力系统最优潮流是一个复杂的非线性优化问题,要求在满足特定的电力系统运行 ...
- nsga2多目标优化之核心知识点(快速非支配排序、拥挤距离、精英选择策略)详解(python实现)
文章目录 一.多目标优化算法简介 1.基本知识 二.NSGA2算法 1.基本原理 2.快速非支配排序 2.1快速非支配排序 python实现 3.拥挤距离 3.1 拥挤距离python 实现 4.精英 ...
- 多目标优化系列(四)RM-MEDA
RM-MEDA: A Regularity Model-Based Multiobjective Estimation of Distribution Algorithm 原文:http://ieee ...
- 《复杂约束下的多目标优化算法》阅读笔记
摘要:约束多目标优化问题(CMOP)由于需要同时考虑目标和约束,特别是当约束极其复杂时,处理起来比较困难.最近的一些算法在处理具有简单可行域的CMOP时工作得很好,然而,对于具有复杂可行域的CMOP, ...
- platEMO里多目标进化算法对应的参考文献
1.AGE-II M. Wagner and F. Neumann, A fast approximation-guided evolutionary multi-objective algorith ...
- 【优化求解】基于粒子群算法求解多目标优化问题matlab源码
[优化求解]基于粒子群算法求解多目标优化问题matlab源码 1 算法介绍 1.1 关于速度和位置 粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快 ...
- 前沿 | VLDB 2019论文解读:阿里巴巴大规模数据库智能参数优化的创新与实践
一年一度的数据库领域顶级会议VLDB 2019于美国当地时间8月26日-8月30日在洛杉矶召开.在本届大会上,阿里云数据库产品团队多篇论文入选Research Track和Industrial Tra ...
最新文章
- c++回调函数 callback
- 华为FusionCompute-VRM密码重置
- Wireshark软件的安装,进行数据包的捕获【Wireshark安装使用】
- 安装centos6.0 未找到任何驱动器
- 基于Session共享的单点登录或通行证系统方案
- 蚁族之痛:过年如过关
- 使用VS Code开发 调试.NET Core 应用程序
- 【转】__declspec用法详解
- 洛谷 P3183 [HAOI2016]食物链
- Magento教程 6:商店设定与参数
- [USACO4.2] 草地排水 Drainage Ditches (最大流)
- mysql delete 数据之后 .MYD文件大小没有发生变化
- Cesium:鼠标移动事件判断是否在地球上操作以及获取经纬度
- java put请求_计算机毕业设计中用java实现小程序推送(springboot实现)
- 有哪些免费不收费的文件数据恢复软件?
- Linux mmc驱动框架(4)——卡检测及初始化
- 畅销书排行榜html作业,制作畅销书排行榜.html
- byte(字节)根据长度转成kb(千字节)和mb(兆字节)
- mysql key reads 参数_mysql Key_reads 调优(转)
- QTreeWidget使用整理