多目标优化算法评价指标(performance metrics)

news2024/10/5 13:40:21

参考Performance metrics in multi-objective optimization​​​​​​​

Riquelme, N., Lücken, C. V., & Baran, B. (2015, 19-23 Oct. 2015). Performance metrics in multi-objective optimization. Paper presented at the 2015 Latin American Computing Conference (CLEI). 

目录

1.多目标优化定义

2.常用评价指标 

2.1 hypervolume (HV)

2.2 generational distance(GD)

2.3 inverted generational distance(IGD)

2.4 set coverage(C)


单目标优化问题比较各种算法的性能可以直接通过目标值比较,但是多目标优化算法找到的往往是帕累托解,需要一些合适的评价指标来比较这些算法的性能。

1.多目标优化定义

多目标优化问题有n个决策变量,k个目标函数,空间包括两类:n维的决策空间\Omega,代表每个解,k维的目标空间\Lambda,代表每个解的目标值,\Omega中的每个点在\Lambda都有对应的点,但是\Omega中可能多个点对应\Lambda中一个点

  • 帕累托支配(Pareto Dominance):给定属于\Omega中的两个解s1和s2,如果s1在每个目标函数上都不比s2差,并且至少有一个更优,那么s1支配s2,如果s1不支配s2且s2也不支配s1,那么两者不可比,定义为s1\sim s2。如下1支配2,5支配1,1和4不可比
  • 帕累托最优集(Pareto optimal set):所有\Omega空间里未被支配的解集合P^{*}
  • 帕累托最优前沿(Pareto optimal front):P^{*}\Lambda中的映射为帕累托最优前沿PF^{*}
  • 近似集(approximation set):定义A\subseteq \Lambda为一些目标向量的集合,如果对于A中每个元素,都没有支配或等于A中的其它目标向量,那么A被称为一个近似集,所有近似集的集合定义为Z,解决现实问题的结果通常是一个近似集A而不是PF^{*}

给定一个近似集A,常从以下三个方面评价这个解集

  • 基数指标(Cardinality metrics):A的基数是指A 中存在的解的数量,直观上,解的数量越多越好
  • 准确性指标(Accuracy metrics):A的收敛性,也就是A和理论的帕累托最优前沿距离有多远,如果PF^{*}未知,考虑用参考集R代替
  • 多样性指标(Diversity metrics):包括分布distribution和广度spread,分布是指A中的解的相对距离,广度是指A中的解覆盖的值范围

2.常用评价指标 

以下是文献中整理的使用数量排名前10的评价指标及对应类别,本文主要介绍hypervolume (HV),generational distance(GD),inverted generational distance(IGD)和set coverage(C),基本文献里用到的都是这几种方法。

2.1 hypervolume (HV)

hypervolume (HV)也称为S metric,hyper-area,Lebesgue measure,用于评价目标空间被一个近似集覆盖的程度,是最为普遍的一种评价指标。其中需要用到一个参考点(reference point),HV值为PF与参考点之间组成的超立方体的体积。HV的比较不需要先验知识,不需要找到真实的帕累托前沿。如果某个近似集A完全支配另一个近似集B,那么A的超容量HV会大于B,因此HV完全可以用于Pareto比较。

2.2 generational distance(GD)

用于评价获得的帕累托前沿PF和最优帕累托前沿PF^{*},对于每个属于PF的解x,找到与其最近的PF^{*}中的解y,计算其欧式距离,GD为平均最短欧式距离,其值越小,代表收敛性更好,找到的PF与最优帕累托前沿越接近。

2.3 inverted generational distance(IGD)

 和GD相似,但是同时考虑了多样性和收敛性,对于真实的最优帕累托前沿中的每个解y,找到与其最近的PF中的解x,计算其欧式距离,取平均值而不需开方,如果PF^{*}的数量大于PF数量,那么IGD就能最完整的表达PF的性能,IGD值越好,代表算法多样性和收敛性更好。

如下图分别为GD和IGD,GD是从获取PF出发,找到真实PF中与之距离最近的点,IGD是从真实PF出发,找到获取PF中与之距离最近的点。GD和IGD都需要先确定真实的最优帕累托前沿。

2.4 set coverage(C)

用于评价两个帕累托解集的支配关系,假设A和B是两个帕累托前沿(Pareto fronts),那么C值可以表达如下,|B|代表B中的解数量,C(A,B)表示B中的解被A的某个解支配的百分比,C(A,B)值越大,A的性能越好。

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

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

相关文章

SpringBoot整合ES 实现简单项目(七)

一直在烂尾&#xff0c;对&#xff0c;说的就是你&#xff0c;楼. 上一章简单介绍了 SpringBoot 整合 ES (六), 如果没有看过,请观看上一章 这一章节老蝴蝶做一个简单的 ES 查询项目 一. pom.xml 添加依赖 <!--引入MySql的驱动--><dependency><groupId>mys…

小林coding——图解MySQL

文章目录基础篇执行一条select语句&#xff0c;期间发生了什么&#xff1f;MySQL一行记录是怎么存储的&#xff1f;索引篇索引常见面试题什么是索引&#xff1f;索引的分类&#xff1f;小结从数据页的角度看B树为什么MySQL采用B树作为索引&#xff1f;MySQL单表不要超过2000W行…

ElasticSearch分片与Lucene Index

在ES中一个索引有一个或者多个分片构成&#xff0c;在创建索引的时候可以设置主分片和副本分片的数量&#xff0c;当主分片确定之后就不可以再修改了(因为路由需要基于这个数量来分发请求)&#xff0c;而副本分片数量随时可以修改 PUT /myIndex {"settings" : {&quo…

使用ensp软件模拟DNS服务器实验

DNS服务器介绍&#xff1a; DNS服务器&#xff08;Domain Name Server&#xff0c;域名服务器&#xff09;是进行域名和与之相对应的IP地址进行转换的服务器。它起到将人类易于记忆的域名映射到相应的机器可识别的IP地址的作用。 DNS服务器中保存了一张域名和与之相对应的IP地…

Flutter 中 Provider 基本使用

前言&#xff1a; Provider.of<XXX>(context).数据 Provider.of<XXX>(context).方法 ChangeNotifier&#xff1a;这个是真正数据&#xff08;状态&#xff09;存放的地方。我们自己创建的provider 是混入ChangeNotifier 的。 一 安装 在pub.dev 上搜索provider …

2.技巧※(0x3f:从周赛中学算法 2022下)

来自0x3f【从周赛中学算法 - 2022 年周赛题目总结&#xff08;下篇&#xff09;】&#xff1a;https://leetcode.cn/circle/discuss/WR1MJP/ 技巧指一些比较套路的算法&#xff0c;包括双指针、滑动窗口、二分&#xff08;主要指二分答案&#xff09;、前缀和、差分、前后缀分解…

TypeScript由浅到深(下篇)

目录 七、TypeScript泛型编程 泛型实现类型参数化: 泛型接口和泛型类的使用: 泛型约束: 映射类型: TypeScript条件类型&#xff08;Conditional Types&#xff09;: 在条件类型中推断&#xff08;inter&#xff09;: 分发条件类型&#xff08;Distributive Conditional …

【Java基础】day15

day15 一、为什么需要使用多线程&#xff1f; 1、资源利用率提升&#xff0c;程序处理效率提高 2、软件运行效率提升 3、使用线程可以把占据时间长的程序中的任务放到后台去处理 4、充分利用 CPU 资源&#xff0c;多核 CPU 的情况下会更高效 二、Spring Boot 的启动流程&…

搭建个人网站没有公网IP地址可以吗?

搭建网站不一定需要公网IP地址&#xff0c;甚至都不需要云服务器或虚拟主机。可以先在本地个人电脑中搭建一个网站&#xff1b;然后网站需要为公网上的其他访客提供访问&#xff1b;所以&#xff0c;需要内网穿透&#xff0c;映射公网域名进行访问。但是完全没必要&#xff0c;…

一文了解Gralde

&#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公司实习&#x1f…

python黑马程序员(单例模式工厂模式)笔记

一、单例模式 1、设计模式就是一种编程套路 使用特定的套路得到特定的效果 2、什么时单例设计模式 单例模式就是对一个类&#xff0c;只获取其唯一的类实例对象&#xff0c;持续复用它 节省内存 节省创建对象的开销 非单例模式效果&#xff1a; # 演示单例模式的效果 # 非…

chatgpt相关关键字

听了一堂chatgpt的课程&#xff0c;真假参半&#xff0c;但积累了一些关键词。不知道这些关键字会在什么时候起到作用&#xff0c;先记录下来作为灵感积累 1 自然进化的过程&#xff0c;是人选择工具&#xff0c;也是工具选择人 2 Copliot-自动编程&#xff0c;感觉适用于独立新…

安卓 Windows 通过ts链接获取m3u8视频地址进行视频下载

目录 环境&#xff1a; 解决思路及过程&#xff1a; .TS——> .m3u8 1.利用安卓视频缓存机制合成视频 1.1 找到鲨鱼浏览器目录 1.2 进入Android/data/com.zhijianzhuoyue.sharkbrowser/cashe 缓存目录 1.3 显示隐藏文件 1.4 进入可以看到两个随机生成的视频文件夹&…

傅盛“追风”GPT,猎户星空春天来了?

GPT的横空出世&#xff0c;让冷清已久的商用服务机器人市场&#xff0c;又有了“新故事”。 从技术底层逻辑而言&#xff0c;服务机器人受到这类新技术的影响会更为明显。因为抛开硬件&#xff0c;服务机器人的内核其实就是AI&#xff0c;GPT大模型的出现显然成了现阶段该产业进…

coreldraw2023安装教程及新功能讲解

coreldraw是一款非常好用的设计软件&#xff0c;功能非常强大&#xff0c;它可应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等领域&#xff0c;因此受到了不少设计师的青睐&#xff0c; CorelDRAW2023新功能有哪些&#xff1f;CorelDRAW2023最新版本更新怎么…

SpringBoot-核心技术篇

技术掌握导图 六个大标题↓ 配置文件web开发数据访问单元测试指标指控原理解析 配置文件 1.文件类型 1.1、properties 同以前的properties用法 1.2、yaml 1.2.1、简介 YAML是 “YAML Aint Markup Language”&#xff08;YAML不是一种标记语言&#xff09;的递归缩写。在…

JumpServer部署与应用实践

JumpServer部署与介绍 文章目录JumpServer部署与介绍前言堡垒机功能特点主要主件一、在线安装二、环境访问三、堡垒机的应用&#xff08;重点&#xff09;3.1用户与用户组的创建3.2资产管理3.3账号管理3.4权限管理四、应用实践前言 Jumpserver 是一款使用 Python, Django 开发…

Su+ELK实现网络监测(1)——Suricata安装与配置

Suricata安装配置文档一、环境准备1. 基础环境安装2. 安装基础组件二、Luajit部署1. LuaJIT的安装2. 需要更新动态库三、suricata部署1. 安装相关依赖2. 下载、编译并安装suricata3. 执行4. 安装其他组件5. 修改配置文件6. 启动测试7. 安装suricata-update8. 更新规则集9. 启动…

Java多线程:线程组

线程组 可以把线程归属到某一个线程组中&#xff0c;线程组中可以有线程对象&#xff0c;也可以有线程组&#xff0c;组中还可以有线程&#xff0c;这样的组织结构有点类似于树的形式&#xff0c;如图所示&#xff1a; 线程组的作用是&#xff1a;可以批量管理线程或线程组对象…

从4k到42k,软件测试工程师的涨薪史,给我看哭了

清明节一过&#xff0c;盲猜大家已经无心上班&#xff0c;在数着日子准备过五一&#xff0c;但一想到银行卡里的余额……瞬间心情就不美丽了。 最近&#xff0c;2023年高校毕业生就业调查显示&#xff0c;本科毕业月平均起薪为5825元。调查一出&#xff0c;便有很多同学表示自己…