EMT-DAVT--基于子空间分布对齐和决策变量转移的多目标多任务优化

EMT-DAVT–基于子空间分布对齐和决策变量转移的多目标多任务优化

title: Multiobjective Multitasking Optimization With Subspace Distribution Alignment and Decision Variable Transfer

author: Weifeng Gao, Jiangli Cheng, Maoguo Gong, Hong Li, and Jin Xie.

journal: IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTATIONAL INTELLIGENCE (TETCI)

DOI:10.1109/TETCI.2021.3115518

code:

1.主要贡献:

​ EMT-DAVT包含子空间分布对齐(DA)策略和决策变量转移(VT)机制。在DA策略中,利用学习映射矩阵对齐子空间中的分布,减少属于不同任务的子种群之间的差异。然后,使用VT机制进一步促进正向信息传递。最后,设计了一种搜索策略来平衡探索和开发。

2.问题提出:

​ 许多迁移学习方法被应用到多任务优化中,如EMEA、MO-MFEA-II、MOMFEA-SADE等,但是这些算法还是会带来负迁移,主要原因如下:

​ 1)迁移个体的质量依赖于任务的相似度,而任务相似度是不确定的;并且当任务间相似度较低时,映射矩阵也可能是不准确的。

​ 2)由于每个个体都有相同的概率被选中,所以一些低质量的个体也可能会被选择去交换信息;

​ 3)常用的子空间对齐方法忽略了种群的平稳分布,使得目标空间中的预测个体缺乏多样性。

​ 如图所示,假设红色方块表示从源任务迁移的个体,蓝色圆圈表示目标任务的种群。对于最小化问题来说,直接迁移个体不会帮助目标任务的搜索。

image-20240914154404791 # 3.EMT-DAVT:

3.1 子空间分布对齐策略(DA)

​ 领域自适应可以通过建立一种映射矩阵来对齐子空间的偏差,但是这些方法没有考虑到子空间分布信息的散度,导致在自适应之后还是未对齐。为此,文章中提出了一种DA策略,它将源域和目标域投影到相应的低维子空间中,然后在两个子空间之间建立两个映射矩阵 M s t M_{st} Mst M t s M_{ts} Mts。与直接建立映射相比,该方法可以最小化两个域之间的差异。DA策略的细节介绍如下:

​ 1)PCA降维得到分别属于种群 P s ∈ R N × D m a x , P t ∈ R N × D m a x × P_s\in R^{N\times D_{max}},P_t\in R^{N\times D_{max}\times} PsRN×Dmax,PtRN×Dmax×的子空间 S s ∈ R D m a x × h , S t ∈ R D m a x × h S_s\in R^{D_{max}\times h},S_t\in R^{D_{max}\times h} SsRDmax×h,StRDmax×h

​ 2)构建两个子空间的映射矩阵如下:
M s t = Q s t A s t M_{st}=Q_{st}A_{st} Mst=QstAst
其中, A s t A_{st} Ast是用来对齐子空间分布的矩阵, Q s t Q_{st} Qst是用来对齐偏差的矩阵,且是通过最小化Bregman矩阵散度损失构建:
F ( Q s t ) = ∣ ∣ S s Q s t − S t ∣ ∣ F 2 F(Q_{st})={||S_s Q_{st}-S_t||}^2_F F(Qst)=∣∣SsQstSt∣∣F2

Q s t ∗ = arg ⁡ min ⁡ Q s t ∈ R h × h F ( Q s t ) = S s T S t Q^*_{st}=\arg \min_{Q_{st\in R^{h \times h}}} F(Q_{st})=S^T_s S_t Qst=argQstRh×hminF(Qst)=SsTSt

​ 3)构建矩阵 A s t A_{st} Ast:首先通过归一化使得均值不会影响子空间的映射,则 A s t A_{st} Ast就可以直接在子空间中通过 P s P_s Ps P t P_t Pt的协方差矩阵构建。
A s t = W s − 1 W t = E s − 1 2 E t 1 2 A_{st}=W^{-1}_s W_t=E^{-\frac 1 2}_s E^{\frac 1 2}_t Ast=Ws1Wt=Es21Et21
其中, W s , W t W_s,W_t Ws,Wt表示两个协方差矩阵的平方根, E s , E t E_s,E_t Es,Et是两个子空间对应的特征值(通过PCA得到的)。因此最终的映射矩阵表示如下:
M s t = Q s t ∗ A s t = ( S s T S t ) ( E s − 1 2 E t 1 2 ) M_{st}=Q^*_{st}A_{st}=(S^T_s S_t)(E^{-\frac 1 2}_s E^{\frac 1 2}_t) Mst=QstAst=(SsTSt)(Es21Et21)

M t s = Q t s ∗ A t s = ( S t T S s ) ( E t − 1 2 E s 1 2 ) M_{ts}=Q^*_{ts}A_{ts}=(S^T_t S_s)(E^{-\frac 1 2}_t E^{\frac 1 2}_s) Mts=QtsAts=(StTSs)(Et21Es21)

​ 4)一个个体 x ∈ P s x\in P_s xPs可以转换如下:
x ˉ = x ⋅ S s ⋅ M s t ⋅ S t T \bar x=x\cdot S_s \cdot M_{st} \cdot S^T_t xˉ=xSsMstStT
image-20240916095011980

3.2 决策变量迁移机制(VT)

​ 采用无监督聚类的方式将 P t P_t Pt分成n类,聚类中心点表示为 C 1 t , C 2 t , . . . , C n t C^t_1,C^t_2,...,C^t_n C1t,C2t,...,Cnt,每一个聚类的点集表示为 B 1 t , B 2 t , . . . , B n t B^t_1,B^t_2,...,B^t_n B1t,B2t,...,Bnt。同理, P ˉ s \bar P_s Pˉs也被分为n类,聚类中心点表示为 C 1 s , C 2 s , . . . , C n s C^s_1,C^s_2,...,C^s_n C1s,C2s,...,Cns,每一个聚类的点集表示为 B 1 s , B 2 s , . . . , B n s B^s_1,B^s_2,...,B^s_n B1s,B2s,...,Bns。因为聚类中心更靠近于同一类的其他点,所以将聚类中心看作该聚类的代表点。

​ 首先,点集 B 1 s B^s_1 B1s中的所有点被迁移到点集 B j 0 t B^t_{j_0} Bj0t通过如下计算:
p ˉ ˉ 1 , s i = p ˉ 1 , s i + ( C j 0 t − C 1 s ) \bar {\bar p}^i_{1,s}={\bar p}^i_{1,s}+(C^t_{j_0}-C^s_1) pˉˉ1,si=pˉ1,si+(Cj0tC1s)
其中, p ˉ 1 , s i {\bar p}^i_{1,s} pˉ1,si表示聚类 B 1 s B^s_1 B1s中第i个点, p ˉ ˉ 1 , s i \bar {\bar p}^i_{1,s} pˉˉ1,si表示与 p ˉ 1 , s i {\bar p}^i_{1,s} pˉ1,si对应的迁移点, C j 0 t − C 1 s C^t_{j_0}-C^s_1 Cj0tC1s代表两个聚类间的偏差。

image-20240916100029514

3.3 搜索策略

1)任务内搜索策略:

​ “DE/rand/1”:
v i = x r 1 + β ⋅ ( x r 2 − x r 3 ) v_i=x_{r_1}+\beta\cdot(x_{r_2}-x_{r_3}) vi=xr1+β(xr2xr3)
​ “DE/best/1”:
v i = x b e s t + β ⋅ ( x r 1 − x r 2 ) v_i=x_{best}+\beta\cdot(x_{r_1}-x_{r_2}) vi=xbest+β(xr1xr2)
​ “DE/current-to-pbest/1”:
v i = x i + β ⋅ ( x p b e s t − x i ) + β ⋅ ( x r 1 − x r 2 ) v_i=x_{i}+\beta\cdot(x_{pbest}-x_{i})+\beta\cdot(x_{r_1}-x_{r_2}) vi=xi+β(xpbestxi)+β(xr1xr2)
2)任务间搜索策略:

​ “DE/rand/1”变体:
v i = x r 1 + β ⋅ ( x ~ r 2 − x ~ r 3 ) v_i=x_{r_1}+\beta\cdot(\tilde x_{r_2}-\tilde x_{r_3}) vi=xr1+β(x~r2x~r3)
​ “DE/best/1”:
v i = x b e s t + β ⋅ ( x ~ r 1 − x ~ r 2 ) v_i=x_{best}+\beta\cdot(\tilde x_{r_1}-\tilde x_{r_2}) vi=xbest+β(x~r1x~r2)
​ “DE/current-to-pbest/1”:
v i = x i + β ⋅ ( x ~ p b e s t − x i ) + β ⋅ ( x ~ r 1 − x ~ r 2 ) v_i=x_{i}+\beta\cdot(\tilde x_{pbest}-x_{i})+\beta\cdot(\tilde x_{r_1}-\tilde x_{r_2}) vi=xi+β(x~pbestxi)+β(x~r1x~r2)
其中,索引 r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3是从 [ 1 , 2 N ] [1,2N] [1,2N]中选择的三个不同的随机数, x ~ r 1 , x ~ r 2 , x ~ r 3 \tilde x_{r_1},\tilde x_{r_2},\tilde x_{r_3} x~r1,x~r2,x~r3是从 P s P_s Ps P ˉ ˉ t \bar{\bar P}_t Pˉˉt的集合中随机采样的。

3.4 算法框架

​ 1)初始化一个包含 K ⋅ N K\cdot N KN个个体的种群并分配技能因子;

​ 2)为每个任务 T k T_k Tk随机选择一个源任务 T s T_s Ts;

​ 3)对 P s P_s Ps应用DA策略(算法2)获得 P ˉ s \bar P_s Pˉs;

​ 4)对 P ˉ s \bar P_s Pˉs应用VT策略(算法3)获得 P ˉ ˉ s \bar{\bar P}_s Pˉˉs;

​ 5)应用算法4来产生子代 C k C_k Ck

​ 6)环境选择

image-20240916104658195 # 4.思考

1)EMT-DAVT中提出来两种策略:DA策略通过构建映射矩阵来对齐子空间分布,VT策略通过考虑源域与目标域中聚类中心间的距离来减少偏差。

2)领域自适应在MTO中的发展历程:整个高维矩阵的映射:EMEA是源域与目标域之间的直接映射,降维子空间的映射:MO-MFEA-SADE是源域与目标域的子空间之间的映射,EMT-DAVT是源域与目标域的子空间的聚类中心之间的映射,一维向量之间的映射:MFEA-GSMT、KR-MTEA是源域与目标域的维度之间的映射。

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

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

相关文章

Python酷库之旅-第三方库Pandas(118)

目录 一、用法精讲 521、pandas.DataFrame.drop_duplicates方法 521-1、语法 521-2、参数 521-3、功能 521-4、返回值 521-5、说明 521-6、用法 521-6-1、数据准备 521-6-2、代码示例 521-6-3、结果输出 522、pandas.DataFrame.duplicated方法 522-1、语法 522-2…

III 网络诈骗也玩区块链?加密货币的分类小知识!

大家好啊,我是豆小匠。 区块链第三期,这期拓展一下加密货币的话题。 如果要用加密货币来发工资,你希望用哪个? 你大概不会希望是比特币,比特币的波动性太高,可能刚发下来工资,亏损就超过了10%…

Java小区物业管理系统

技术架构: springboot mybatis thymeleaf Mysql5.7 有需要该项目的小伙伴可以添加我Q:598748873,备注:CSDN 功能描述: 控制台、数据库、楼栋管理、单元管理、房屋管理、车位管理、缴费类型、缴费管理、公告管理…

Linux下进程间的通信--共享内存

共享内存概述: 共享内存是进程间通信的一种方式,它允许两个或多个进程共享一个给定的存储区。共享内存是最快的一种IPC形式,因为它允许进程直接对内存进行读写操作,而不需要数据在进程之间复制。 共享内存是进程间通信&#xff…

Python基础语法(3)下

列表和元组 列表是什么,元组是什么 编程中,经常需要使用变量,来保存/表示数据。变量就是内存空间,用来表示或者存储数据。 如果代码中需要表示的数据个数比较少,我们直接创建多个变量即可。 num1 10 num2 20 num3…

2024.9.12(k8s环境搭建2)

一、接9.11 19、部署calico的pod 4. 查看容器和节点状态 异常处理: 出现Init:0/3,查看node节点 /var/log/messages是否有除网络异常之外的报错信息 三台机器执行:(更新版本) yum list kernel yum update kernel reb…

【ArcGIS】栅格计算器原理及案例介绍

ArcGIS:栅格计算器原理及案例介绍 栅格计算器(Raster Calculator)原理介绍案例案例1:计算栅格数据平均值 参考 栅格计算器(Raster Calculator)原理介绍 描述:在类似计算器的界面中,…

Linux进程概念(下)

前言 上文介绍了进程的基本概念,进程内核数据结构可执行程序,查看进程的方式ps 和/proc指令。 又熟悉常见的进程状态,状态修改的本质就是将PCB标志位更改,然后放到指定的队列中。 本文继续介绍进程的概念,将介绍进程…

网络安全学习(四)渗透工具msf

本文简要介绍metasploit framework,是一款渗透工具。官网地址:Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit msf是一个框架,可以加载各种模块,这是它的最强大之处。 kali中有此工具。 点击即…

maya的重命名物体和材质工具(带ai过程)

对材质同样也有效 被AI干失业的卖衣服的小姐姐,开的士的小哥哥都可以再就业的易上手教程, 先看效果! 对物体命名也是,相当的美观 先提出需求我想在maya中批量重命名物体怎么办?AI给你弄个短代码 ,放进AI进…

音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现

一、引言 通过FFmpeg命令: ./ffmpeg -i XXX.aac 可以判断出某个文件是否为AAC裸流文件: 所以FFmpeg是怎样判断出某个文件是否为AAC裸流文件呢?它内部其实是通过adts_aac_probe函数来判断的。从《FFmpeg源码:av_probe_input_for…

3. 进阶指南:自定义 Prompt 提升大模型解题能力

怎么判断 Prompt 的好坏,有什么问题有着标准答案么? 答:让大模型求解数学问题。 李宏毅老师的 HW4 正好提到了有关数学问题的 Prompt,所以我决定中间插一篇这样的文章。通过本文你将: 了解各种 Prompt 如何影响大型语言…

无人机飞手培训机构组建及市场分析

飞手培训机构是专门为培养无人机飞行员(飞手)而设立的教育机构。这些机构通过提供专业的培训课程,帮助学员掌握无人机飞行技术、了解相关法规、提升实战能力,并最终获得相关证书,以便在航拍摄影、农业植保、物流配送、…

图新地球-将地图上大量的地标点批量输出坐标到csv文件【kml转excel】

0.序 有很多用户需要在卫星影像、或者无人机航测影像、倾斜模型上去标记一些地物的位置(如电线杆塔、重点单位、下水盖等) 标记的位置最终又需要提交坐标文本文件给上级单位或者其他部门使用,甚至需要转为平面直角坐标。 本文的重点是通过of…

【Go开发】Go语言基本语法入门:数据类型与方法定义

文章目录 环境准备一、引言二、Var关键字三、数据类型1. 整型符号表示值的范围 2. 浮点型精度范围性能 3. 布尔型4. 字符串 三、变量声明1. 指定变量类型2. 自动推导类型3. 批量声明 四、方法定义五、总结 环境准备 开发环境:MacOS Go版本:go version g…

单线程与2个线程的简易理解

前言 有个需要10个步骤完成的任务,假设每个步骤需要1秒 单线程耗费10秒完成任务 2根线程可能耗费6秒,也可能更少 单线程程序 单线程下,步骤按照次序顺序执行,共计耗费10秒 2个线程的程序 有步骤可以在同一时刻同时运行&…

python-素数中的等差数列

题目描述 质数是在数论中很有意思的数,有很多题都可以围绕它来出,就如你眼前所见的这道题。 给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序,对于连续的素数,我们可以发现很多等差数列(元素个数大于等于 3 )&#x…

【Leetcode:1184. 公交站间的距离 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

第十一章 【后端】商品分类管理微服务(11.1)——创建父工程

第十一章 【后端】商品分类管理微服务 11.1 创建父工程 项目名称:EasyTradeManagerSystem:Easy 表示简单易用,Trade 表示交易,Manager 表示管理,System 表示系统,强调系统在商品交易管理方面的便捷性,简称 etms。 新建工程 yumi-etms yumi-etms 作为所有模块的父工程,…

汽车免拆诊断案例 | 沃尔沃V40 1.9TD断续工作

故障现象 一辆04款的沃尔沃V40 1.9 TD,发动机代码D4192T3,使用博世EDC15C发动机管理。客户说车子断续工作,怀疑是正时皮带出现问题。卸下上皮带盖,检查发现皮带仍然在原来的位置上并且没有出现松动。起动发动机,车辆能…