MOMFEA-SADE--基于子空间对齐和自适应差分进化的多目标多任务优化算法

MOMFEA-SADE–基于子空间对齐和自适应差分进化的多目标多任务优化算法

title: Evolutionary Multitasking for Multiobjective Optimization With Subspace Alignment and Adaptive Differential Evolution

author: Zhengping Liang, Hao Dong, Cheng Liu, Weiqi Liang, and Zexuan Zhu.

journal: IEEE TRANSACTIONS ON CYBERNETICS (TCYB)

DOI:10.1109/TCYB.2020.2980888

code: [MTO-Platform/MTO/Algorithms/Multi-objective Multi-task/Multi-population/MOMFEA-SADE at master · intLyc/MTO-Platform · GitHub](https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Multi-objective Multi-task/Multi-population/MOMFEA-SADE)

1.主要贡献:

​ 1)设计了**子空间对齐策略(SA)**来最小化两个任务间的分布差异,并实现有效的高质量知识迁移

​ 2)设计了自适应DE策略来选择合适的试验向量生成方式,它会将每个产生了非支配解的DE策略存储为经验,然后估计使用不同DE策略的概率。

2.问题提出:

​ 1)在两个相关或者相似的任务间共享知识可以得到好的效果,但是实际情况中两个任务很少是高度相关的。

​ 2)在现有的多目标多任务优化算法中,非支配解的存档没有得到充分的利用。

​ 3)下图是MO-MFEA在CILS问题中得到的任务 T 1 T_1 T1 T 2 T_2 T2 T 1 T_1 T1的目标空间的种群分布。可以看出,在目标空间中的种群分布呈现出不同的特征,解决一个任务获得的知识对另一个任务的的解决没有帮助,甚至有害。

image-20240429110043003 ![在这里插入图片描述]() ![在这里插入图片描述]() ![在这里插入图片描述]() ![在这里插入图片描述]()

3.MOMFEA-SADE:

3.1 算法框架

​ MOMFEA-SADE的算法框架与MO-MFEA大体一致,但是引入了子空间对齐(SA)和自适应DE策略。首先,初始化种群并评估每个个体的技能因子,因子等级,标量适应度等,如1-2行所示。其次,初始化DE策略的选择概率向量,如第3行所示。然后,在每一次迭代过程都会随机选择一个父代个体,根据DE策略选择概率向量选择一个DE策略来产生试验向量,根据SA策略产生子代个体,如5-11行。接着,环境选择产生下一代种群并更新DE策略选择概率向量,如12-13行。

image-20240429105053891

3.2 子空间对齐策略

​ SA先基于主成分分析(PCA)将源域数据和目标域数据投影到各自的子空间中,然后学习一个变换矩阵将源子空间映射到目标子空间。SA的目的是尽量减少源数据和目标数据之间的差异。具体流程如下:

​ 首先,利用PCA降维的方法分别得到源数据与目标数据的特征向量。

​ 然后,将保留95%信息的特征值所对应的特征向量作为基础生成源数据和目标数据的子空间, S 1 , S 2 ∈ R r × h S_1,S_2\in R^{r\times h} S1,S2Rr×h,其中 r r r表示源数据与目标数据的维度, h h h表示子空间的维度。通过优化线性变换函数 L L L来实现了 S 1 S_1 S1 S 2 S_2 S2的最优对齐,该线性变换称为布雷格曼矩阵,计算如下:
L ( M ) = ∣ ∣ S 1 ⋅ M − S 2 ∣ ∣ F 2 L(M)={||S_1\cdot M-S_2||}^2_F L(M)=∣∣S1MS2∣∣F2
其中, ∣ ∣ ⋅ ∣ ∣ F 2 {||\cdot||}^2_F ∣∣∣∣F2表示Frobenius范数, M M M表示可以使得 S 1 S_1 S1 S 2 S_2 S2差异最小化的变换矩阵。 L ( M ) L(M) L(M)的最优解 M ∗ M^* M表示如下:
M ∗ = arg ⁡ min ⁡ M ( L ( M ) ) M^*=\arg\min_M(L(M)) M=argMmin(L(M))
解上式得到最优解 M ∗ M^* M如下:
M ∗ = S 1 ′ ⋅ S 2 M^*=S'_1\cdot S_2 M=S1S2
其中, S 1 ′ S'_1 S1表示 S 1 S_1 S1的标准正交,且 S 1 ′ ⋅ S 1 = I S'_1\cdot S_1=I S1S1=I, I ∈ R h × h I\in R^{h\times h} IRh×h是一个恒等矩阵。这也就说明 S 1 S_1 S1转换后的新坐标 S 1 ∗ S^*_1 S1计算如下:
S 1 ∗ = S 1 ⋅ M ∗ S^*_1=S_1\cdot M^* S1=S1M
这样,子空间 S 1 S_1 S1可以通过 M ∗ M_∗ M映射到 S 2 S_2 S2。因此,数据从源域到目标域的传输可以通过使用 M ∗ M_∗ M的乘法操作来完成。

步骤一:根据目标域Q和源域P的协方差矩阵 W Q , W P W_Q,W_P WQ,WP分别计算其特征值 E Q , E P E_Q,E_P EQ,EP和特征向量 Λ Q , Λ P \Lambda_Q,\Lambda_P ΛQ,ΛP
E P T W P E P = Λ P = d i a g ( λ 1 P , λ 2 P , . . . , λ d P ) E Q T W Q E Q = Λ Q = d i a g ( λ 1 Q , λ 2 Q , . . . , λ d Q ) E^T_PW_PE_P=\Lambda_P=diag(\lambda^P_1,\lambda^P_2,...,\lambda^P_d)\\ E^T_QW_QE_Q=\Lambda_Q=diag(\lambda^Q_1,\lambda^Q_2,...,\lambda^Q_d) EPTWPEP=ΛP=diag(λ1P,λ2P,...,λdP)EQTWQEQ=ΛQ=diag(λ1Q,λ2Q,...,λdQ)
步骤二:选择能够保留95%信息的最大h个特征值对应的特征向量来构造Q和P的子空间 S Q , S P ∈ R d × h S_Q,S_P\in R^{d\times h} SQ,SPRd×h
S P = E P s o r t ( 1 : h ) S Q = E Q s o r t ( 1 : h ) S_P=E^{sort}_P(1:h)\\ S_Q=E^{sort}_Q(1:h) SP=EPsort(1:h)SQ=EQsort(1:h)
步骤三:构建子空间映射矩阵 M ∗ M^* M
S P ∗ = S P ⋅ M ∗ S^*_P=S_P\cdot M^* SP=SPM
image-20240429105221419

如下图所示,任务 T 1 T_1 T1和任务 T 2 T_2 T2之间存在较明显的差异,而经过SA策略转换后的个体更靠近任务 T 2 T_2 T2的种群。

image-20240429105339713

3.3 自适应DE策略产生子代

​ 该策略主要是通过利用历史经验和成功的知识迁移来选择合适的试验向量生成策略。

​ 给定k个不同的策略, a i a_i ai记录了第i次试验向量生成策略在 g − e g−e ge g − 1 g−1 g1代之间生成非主导解的次数。ai越大,说明第i次试验向量生成策略的效果越好。根据进化经验,将在第g代时使用每个试验向量生成策略的概率定义为
a i = ∑ g − e g − 1 c i ψ i = a i ∑ i = 1 k a i , s u b j e c t t o ∑ i = 1 t ψ i = 1. a_i=\sum^{g-1}_{g-e} c_i\\ \psi_i=\frac{a_i}{\sum^k_{i=1}a_i},subject\ to\ \sum^t_{i=1}\psi_i=1. ai=geg1ciψi=i=1kaiai,subject to i=1tψi=1.
其中, c i c_i ci记录了第i个试验向量生成策略产生非支配解的次数, e e e是经验周期。

本文使用了三种常用的DE策略:“DE/best/1/bin”,“DE/rand/1/bin”,“DE/current-to-rand/1”。为了缓解这三种DE策略带来的负迁移,本文还对其进行了改进:

改进的DE/best/1/bin
v j , g = x b e s t , g + α ∗ ( x r 1 , g ∗ − x r 2 , g ∗ ) v_{j,g}=x_{best,g}+\alpha*(x^*_{r_1,g}-x^*_{r_2,g}) vj,g=xbest,g+α(xr1,gxr2,g)
改进的DE/rand/1/bin
v j , g = x r 1 , g ∗ + α ∗ ( x r 2 , g ∗ − x r 3 , g ∗ ) v_{j,g}=x^*_{r_1,g}+\alpha*(x^*_{r_2,g}-x^*_{r_3,g}) vj,g=xr1,g+α(xr2,gxr3,g)
改进的DE/current-to-rand/1
v j , g = x j , g + β ∗ ( x r 1 , g ∗ − x j , g ) + α ∗ ( x r 2 , g ∗ − x r 3 , g ∗ ) v_{j,g}=x_{j,g}+\beta*(x^*_{r_1,g}-x_{j,g})+\alpha*(x^*_{r_2,g}-x^*_{r_3,g}) vj,g=xj,g+β(xr1,gxj,g)+α(xr2,gxr3,g)
其中, x r 1 , g ∗ , x r 2 , g ∗ , x r 3 , g ∗ x^*_{r_1,g},x^*_{r_2,g},x^*_{r_3,g} xr1,g,xr2,g,xr3,g分别是 x r 1 , g , x r 2 , g , x r 3 , g x_{r_1,g},x_{r_2,g},x_{r_3,g} xr1,g,xr2,g,xr3,g通过SA策略映射后的个体。

image-20240429105253882

4.思考

1)MOMFEA-SADE中提出来两种策略:使用子空间对齐策略(SA)来减少源任务与目标任务之间的差异,使用自适应DE策略(SaDE)来产生更优秀的子代。MOMFEA_SADE还曾在IEEE CEC2019多目标多任务优化竞赛中获胜。

2)MOMFEA-SADE为解决多目标多任务优化问题提出来了一种新的思路。不同于EMEA中离线使用的种群信息,它在线地使用子空间信息,可以更加准确地衡量任务之间的差异。其次,MOMFEA-SADE中提出的SaDE策略使用历史经验来选择合适地试验向量生成策略,可以使得生成的子代更加有效。

3)虽然MOMFEA_SADE可以取得很好的效果,但是在处理大规模问题时可能会特别耗时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言中的整形提升和算数转换

整形提升: 表达式中字符和短整型操作数在使用之前转换为普通整形 分为两种: 有符号整形提升:按照变量的数据类型的符号位来提升 无符号整形提升:按照高位补0的方式及进行提升 例如:char a20;char b130…

【Git】 如何将一个分支的某个提交合并到另一个分支

【Git】 如何将一个分支的某个提交合并到另一个分支 在使用 Git 进行版本控制时,常常会遇到这样的需求:将某个分支的特定提交合并到另一个分支中。这种情况下,我们可以使用 cherry-pick 命令来实现。本文将详细介绍 cherry-pick 命令的使用方…

Java基础巩固 -- 多线程

Java基础巩固 – 多线程 1.多线程 1.1 意义 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更…

“链动革新:2+1模式引领用户复购与留存潮流“

大家好!我是吴军,来自一家在业界享有盛誉的软件开发公司,担任产品经理一职。今天,我想和大家深入探讨一个话题——如何利用创新的链动21模式来显著提升用户的留存率和复购率。 提到链动模式,很多人可能第一时间想到的是…

DEBUG:机械臂无法连接

问题 机械臂无法连接 ip 网关正确 解决 检查网口是否正常 网口损坏 usb部分可能半坏(支持鼠标 不是转网口)

Whisper离线部署问题处理

Whisper是OpenAI开发一款开源语音识别模型,可以帮我们低成本的拥有语音识别的能力。具体的安装部署方法,我在这里就不详细说了,网上有很多相关文章: 使用OpenAI的Whisper 模型进行语音识别 (baidu.com) 我这里主要想说的是&…

醒醒,别睡了...讲《数据分析pandas库》了—/—<6>

一、 1、长宽格式转换 基于多重索引,Pandas 可以很容易地完成长型、宽型数据格式的相互转换。 1.1 转换为最简格式 stack()其使用法如下: stack函数用于将DataFrame中的列转换为行,即将宽格式数据转换为长格式数据。…

GitHub每周最火火火项目(7.22-7.28)

1. 项目名称:Django 项目介绍:Django 是一个高级 Python Web 框架,鼓励快速开发和简洁、实用的设计。它由经验丰富的开发者构建,旨在解决 Web 开发中的常见问题,提供了一套完整的工具和库,包括数据库ORM、…

中控屏UI设计全解析:布局与交互技巧

在现代科技的浪潮中,中控屏已成为智能系统不可或缺的交互界面。无论是智能家居、车载系统还是工业控制,一个直观、易用且美观的中控屏 UI 设计对于提升用户体验至关重要。本教程将带领你深入探索中控屏UI设计的精髓,指导你如何打造出既专业又…

2024.7.28 记录一次悲惨的笔试——作业帮NLP校招

小红的奇偶抽取 题目描述 题解 #include <iostream> #include<stack> using namespace std;int main() {long long n;stack <int> ji, ou;cin >> n;while (n) {int a n % 10;if (a % 2 0)ou.push(a);elseji.push(a);n n / 10;}long long jN 0, o…

用深度学习改进乳腺癌MRI诊断| 文献速递--AI辅助的放射影像疾病诊断

Title 题目 Improving breast cancer diagnostics with deep learning for MRI 用深度学习改进乳腺癌MRI诊断 01 文献速递介绍 乳腺磁共振成像&#xff08;MRI&#xff09;是一种检测乳腺癌的高度敏感的方式&#xff0c;报告的敏感性超过80%。传统上&#xff0c;其在筛查…

html+css+js作业王者荣耀司空震1个页面带js

htmlcssjs作业王者荣耀司空震1个页面带js 下载地址 https://download.csdn.net/download/qq_42431718/89595421 目录1 目录2 项目视频 htmlcssjs作业王者荣耀司空震1个页面 页面1

QQ微信头像制图工具箱小程序纯前端源码

微信小程序源码&#xff0c;经测试QQ小程序也可以完美运行&#xff0c;所以给大家分享一下这个QQ微信头像制图工具箱小程序纯前端源码。 主要功能有文字九格、头像挂件生成、爆趣九宫格、形状九宫格、创意长图、情侣头像、猫狗交流器。 这个QQ微信小程序源码是纯前端的&#x…

cesium添加流动线

1&#xff1a;新建Spriteline1MaterialProperty.js文件 import * as Cesium from cesium;export function Spriteline1MaterialProperty(duration, image) {this._definitionChanged new Cesium.Event();this.duration duration;this.image image;this._time performance.…

2024 Navicat Premium最新版简体中文版破解激活永久图文详细教程(亲测可用)

1.官网下载&#xff1a;下载地址 2.百度网盘下载&#xff1a;下载地址 3.未安装过的用户可直接跳过该步骤&#xff0c;如果已安装Navicat&#xff0c;记得先卸载干净&#xff0c;防止破解失效&#xff0c;卸载完成后执行补丁压缩包中的Navicat.bat脚本&#xff08;一闪而过表示…

Java语言程序设计——篇九(3)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 注解类型 概述标准注解实战演练实战演练实战演练 定义注解类型标准元注解 概述 注解以结构化的方式为程序元素提供信息&#xff0c;这些信息能…

Ubuntu22.04重装系统+基础配置

重装系统 note&#xff1a;备份数据&#xff0c;重装系统后home下的文件会丢失&#xff0c;所以先备份一下home的数据到其他的盘/mnt/下里。记住之前系统的DNS&#xff0c;IP和掩码。 先在Ubuntu官网下载22.04桌面版&#xff08;种子链接要用迅雷下载&#xff09;。但是版本还…

分布式ID详解

文章目录 分布式IDUUIDSnowflake算法数据库自增IDLeaf算法Redis自增ID 分布式ID 在我们业务数据量不大的时候&#xff0c;单库单表完全可以支撑现有业务&#xff0c;数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长&#xff0c;主从同步也扛不住了&#x…

数学重大错误:将无穷多各异射(直)线误为同一线

黄小宁 设本文所说集合往往是元不少于两个的集。定义&#xff1a;若数&#xff08;点&#xff09;集A可保距变为B则称A≌B。显然A≌A。 h定理1&#xff1a;数&#xff08;点&#xff09;集AB≌B的必要条件是A≌B。 证&#xff1a;⑴任何图≌本身。⑵若AB则A必可恒等变换地变…

AOP~面向切面编程介绍

AOP基础 概述 AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程、面向方面编程&#xff09;&#xff0c;面向特定方法的编程。 动态代理是面向切面编程最主流的实现。 SpringAOP是Spring框架的高级技术&#xff0c;旨在管理bean对象的过程中&#xff0c…