多因子优化,多任务优化,多模式优化之间的区别

news2024/12/26 2:31:14

最近几年在进化计算这个圈子里多任务优化Multitasking很火,其中包含多因子Multifactorial Evolutionary, 多任务 Multitasking Evolutionary, 和多模式进化 Multiform Evolutionary。

今天就来讲讲他们之间的区别。

多因子优化

在“Enhancing Evolutionary Multifactorial Optimization based on Particle Swarm Optimization”这篇文章中讲到,传统的单目标优化问题,如果要求解每个测试问题必须得串行的执行算法,Gupta说这样太慢了。所以就提出了多个问题之间并行求解,每个求解问题即为一个任务task。那么不同的求解问题可能具有不同的维度,适应值函数。所以需要在不同的问题之间设置迁移的指标,即为因子消耗(factorical cost)。

1)因子消耗 ϕ i j = λ ∗ δ i j + f i j \phi_i^j=\lambda*\delta_i^j+f_i^j ϕij=λδij+fij,其中定义为 λ \lambda λ为惩罚权重, δ i j \delta_i^j δij表示当前任务T中的个体 p i p_i pi在目标任务 T j T_j Tj中的目标函数的约束违反度,而 f i j f_i^j fij表示当前任务T中的个体 p i p_i pi在目标任务 T j T_j Tj中的目标函数。

2)因子排序 r i j r_i^j rij,表示当前任务T中的个体 p i p_i pi,想要迁移到目标任务 T j T_j Tj中的因子消耗,在任务 T i T_i Ti中的升序排序的索引。

  1. 技能因子 τ i = a r g m i n { r i j } , j = { 1 , . . . , K } \tau_i=argmin\{r_i^j\},j=\{1,...,K\} τi=argmin{rij},j={1,...,K},表示当前任务T中的个体 p i p_i pi,在所有可迁移的任务中,获得过的最高排名。

在不同任务的迁移中,选择技能因子更高的个体进行交叉,生成子代,达到一种隐式的知识迁移的目的。加速不同任务的优化。
在这里插入图片描述
测试集是不同的优化任务
在这里插入图片描述
结果需要对比,多因子的算法在不同的任务重是否是被加速收敛了。
在这里插入图片描述
多因子优化最大的特点在于是一个种群来解决不同的任务。
在这里插入图片描述

在这里插入图片描述
rmp表示用来控制知识迁移概率的因子。
在这里插入图片描述

多任务进化

多任务优化与多因子优化最大的区别是用多个种群优化多个任务,即每个种群优化一个任务。关键在于如何实现多个种群之间的知识迁移机制。

既有显示的迁移方法,即直接用原任务的技能因子高的解去替换目标任务相似的解,达到加速目标任务收敛的目的。

也有隐式的迁移方法,比如神经网络的域的变化,生成对抗网络学习分布的变换,降噪编码器学习分布之间的转换。

多模式进化

多任务进化的思想被广泛讨论后,也有学者提出了多模式进化,即借用多任务优化的思想,在一个优化问题中,设置不同的优化模式,目前仅被部分学者定义为,不同的适应值函数评价方法,代表不同的模式。

最关键的是,如果定义不同种群之间的区别,同时设计知识迁移的方式,使得不同种群可以学到其他辅助种群中自身没有的知识,加速自身的收敛,最后达到良好的收敛效果。

那么多模式优化与多任务优化的区别在于,多任务求解的是不同的优化问题,多模式优化是采用不同的标准求解一个优化问题。参考“A Multiform Optimization Framework for
Constrained Multiobjective Optimization”文章中提出的,约束松弛种群作为源任务,辅助约束MOEA种群的收敛。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其实本质上也是一种协同进化,但与协同进化有明显区别的是,协同进化在交叉变异的进化过程中有相互借鉴的交互,但在这类多任务思想或多模式思想求解约束多目标优化问题的过程中,重点在于辅助任务的设计,和辅助任务与目标任务之间的知识迁移的机制。在后者中,在交叉变异中是没有相互交互的。

更重要的是,根据将问题的简化,将CMOP简化为MOP和约束松弛的CMOP,设定更好求解更简单的辅助问题,来帮助困难的CMOP跳出不可行区域。

其实本质上,只要构造不同的辅助问题,即可定义为辅助任务,可以是不同的决策空间的范围,不同的函数表达式,不同的子问题等等。

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

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

相关文章

CCF-CSP真题《202303-1 田地丈量》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202303-1试题名称:田地丈量时间限制:1.0s内存限制:512.0MB问题描述: 问题描述 西西艾弗岛上散落着 n 块田地。每块田地可视为…

HTTP与HTTPS详解

一、HTTP的概念 HTTP是超文本传输协议,是一种应用层协议,是基于为浏览器/服务器间提供统一的信息交换格式而出现的,其发展历程为HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3。 在HTTP/3之前,HTTP都是基于TCP传输的。 二、HTTP报文格式 …

设计模式之状态模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、状态模式是什么? 状态模式是一种行为型的软件设计模式,当一个对象的内在状态改变时,其行为…

C++ Linux Web Server 面试基础篇-操作系统(二)

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️ Qt5.9专栏定期更新Qt的一些项目Demo 项目与…

ClickHouse分区表的正面与侧面

当我们处理连续数据并需要基于移动窗口(如,仅使用过去三个月数据)计算时使用分区功能非常有用,因为分区无需删除数据,就能高效避过不使用的(或过期)数据。本文介绍分区表原理,对比查…

一文读懂|数字化到底是什么?

现在大家都在说数字化,数字化到底是什么? 翻阅很多关于数字化的文章,大部分都在混淆术语,部分文章已经开始将数字化标记为数字化转型,以安抚管理层、获得项目批准或进行销售...... 所以这篇内容,我会尽可…

第十四章 动手,高级写法应用让SQL飞

参考《收获,不止SQL优化》作者: 梁敬彬 / 梁敬弘 所谓高级SQL,就是内部被优化过的SQL,可以用简单的语法实现复杂的功能,同时性能上还有提升。比如INSERT ALL、WITH子句、MERGE…… 一、 高级写法思维导图(自己整理&am…

java连接webservice

前言 WebService 也叫XML Web Service,WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。 一、…

什么是 IT 基础架构管理

各行各业的企业组织不断面临创新和扩展的压力。就在十多年前,一个企业组织可以争取时间,在投资新技术方面保持保守,同时仍然保持竞争优势。快进到今天,随着业务实践的变化和新技术的不断涌现,商业和技术格局更加动态。…

【C++】文件IO流及stringstream流的使用

文章目录 一、引入二、自定义类型隐式类型转换三、sync_with_stdio同步四、文件IO流4.1 open和close文件4.2 写入文件与读出文件 五、stringstream流的使用5.1 将数值类型数据格式化为字符串5.2 序列化和反序列化 一、引入 int main() {string str;while (cin >> str){c…

适合零基础小白,循序渐进学习--文件操作--相关函数

目录 一. 前言 二. 正文 2. 1什么是文件 (1)程序文件 (2)数据文件 2.2文件名 2.3文件类型 2.4 文件缓冲区 2.5 文件指针 2.7 文件操作函数 (1) fopen()--- 打开文件 (2) fclose()--- 关闭文件 2.7 文件的顺序读写&…

ArcGIS制图技巧

目录 1、经纬度网置于底层 2、设置经纬网刻度为英文 3、设置左右经纬度为垂直,不显示分秒,以及改变字体等 4、拖动制图中的图层 5、设置经纬度网为曲线 6、根据经纬度导入样本点 1、经纬度网置于底层 最初我们的网格是下图这个样子: 然…

智慧化工业企业能耗管理系统平台的构建

节能监测技术是节能减排、有效节能的重要支撑技术,当前能源资源日渐枯竭的紧张形势下,节能意识的增强以及各行业对节能技术的需求不断增加,使得节能技术的开发越来越受到人们的重视。工业企业能耗监测系统的构建是按照“统一规划、分期分批”…

头像展示样式

先上效果图 再上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>body {align-items: center;background-color: #f2f2f2;display: flex;font-fa…

代码随想录算法训练营第三十天| 332.重新安排行程、回溯总结

文章目录 332.重新安排行程:star:回溯总结:star:1.组合问题2.切割问题3.子集问题4.排列问题5.棋盘问题(未完待续)6.复杂度分析 332.重新安排行程⭐️ 链接:代码随想录 本题是一道困难题&#xff0c;其实困难点也就在容器的选择和使用上 结果集采用数组存取即可操作集要用一个m…

算法篇——栈与队列大集合(js版)

232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int…

SpringBoot集成Redis及问题解决

SpringBoot集成Redis 此篇文章为SpringBoot集成Redis的简单介绍&#xff0c;依赖、序列化操作、工具类都可以在后面的实操中直接搬运使用或者在此基础上进行改进使用 1、集成Redis 1.1、新建SpringBoot项目 新建项目这边就不一一介绍了&#xff0c;大家如果还有不会的可以自行…

【LeetCode】144.二叉树的前序遍历

1.问题 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输入&#xff1a;root [1]…

七大排序的时间复杂度和空间复杂度

文章目录 七大排序的分类时间复杂度空间复杂度稳定性直接插入排序希尔排序选择排序堆排序冒泡排序快速排序归并排序总结 七大排序的分类 时间复杂度 时间复杂度是指一个程序中基本语句被执行的次数,一般认为是最坏情况。 空间复杂度 空间复杂度是指在一个程序执行时要额外开…

美团DAT:A Dual Augmented Two-tower Model for Online Large-scale Recommendation

A Dual Augmented Two-tower Model for Online Large-scale Recommendation 美团的对偶增强双塔为了user塔和item塔操碎了心&#xff0c;众所周知&#xff0c;双塔的一个大毛病就是item和user的交叉太晚&#xff0c;重要的信息经过层层神经网络的抽象提取&#xff0c;有些重要…