当前位置: 首页 > news >正文

关于多目标进化算法评估指标

超体积指标(HV,Hypervolume):

介绍:

算法获得的非支配解集与参照点围成的目标空间中区域的体积。HV值越大,说明算法的综合性能越好

优点:同时评价收敛性和多样性;无需帕累托前沿进行评估

缺点:面对高维问题时,计算复杂度高;参考点的选择在一定程度上决定超体积指标值的准确性

示例:

示例图片:

示例图片说明:

棕色为一开始的参考点。

计算方法为首先按照第一个维度x的坐标排序,然后从最大的x坐标开始。
对于第一个参考点采用以下做法:

(参考点的y-第一个点的y)*(参考点的x-第一个点的x)

对于其他的参考点采用以下做法:
(前一个点的y-当前点的y)*(前一个参考点的x-当前点的x)

最后累加得到超体积

示例代码:

% 以下是hypervolume函数的简单实现(示例)
function hv = hypervolume(points, refPoint)
    % 简单三维超体积计算(假设无支配关系)
    if isempty(points)
        hv = 0;
        return;
    end
    
    % 按第一个维度排序
    [~, idx] = sort(points(:,1), 'descend');
    sortedPoints = points(idx, :);
    
    hv = 0;
    prevX = refPoint(1);
    for i = 1:size(sortedPoints, 1)
        p = sortedPoints(i, :);%逐步分割目标空间,避免体积重复计算
        width = prevX - p(1);
        height = refPoint(2) - p(2);
        depth = refPoint(3) - p(3);

        hv = hv + width * height * depth;
        prevX = p(1);
    end
end

http://www.dtcms.com/a/82192.html

相关文章:

  • 可编辑52页PPT | 智慧园区安全生产顶层设计方案
  • 在C语言基础上学Java【Java】【二】
  • 工业软件的破局与重构:从技术依赖到自主创新的未来路径
  • Vagrant+VMWare 安装Ubuntu24.04
  • JVM常见概念之条件移动
  • 《掌握基础DOM操作:从零开始的前端入门指南》
  • C++的常用容器嵌套
  • Android Compose 基础布局之 Box 和 Stack 源码深度剖析(九)
  • 【留一下记录】Vllm在Linux环境下的学习笔记
  • 多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案
  • Burp Suite HTTPS解密原理
  • 星越L_大灯延时关闭使用讲解
  • vue3之写一个aichat---实现聊天逻辑
  • OpenCV Imgproc 模块使用指南(Python 版)
  • 【ACM竞赛的必要性】
  • 鸿蒙开发工程师简历项目撰写全攻略
  • 力扣刷题——143.重排链表
  • 如何利用环境监控看板提升工厂生产质量和效率
  • 《信息系统安全》(第一次上机实验报告)
  • 无需邀请码,实在智能发布通用智能体-实在Agent
  • 智能,触手可及:揭秘高灵活、高精度仿生机器手的操作与实现
  • django怎么配置404和500
  • 【PCIe 总线及设备入门学习专栏 3.1 -- PCIe 中为何只有 TLP 会被 Switch 和 RC 进行路由?】
  • 【实操】Mybatis-plus2.x升级到3.x
  • 基于深度学习的运动想象脑电信号分类研究
  • django如何配置使用asgi
  • LDAP从入门到实战:环境部署与配置指南(上)
  • 使用 Tkinter 编写简单计算器应用
  • JAVA多线程编程技术
  • 可发1区的超级创新思路: