首页 > 其他分享 >基于皮尔逊相关性的大规模多目标优化自适应变量分组方法

基于皮尔逊相关性的大规模多目标优化自适应变量分组方法

时间:2024-03-27 22:37:48浏览次数:22  
标签:... 变量 相关系数 皮尔逊 分组 相关性 line

APearsoncorrelation-based adaptive variable grouping method for large-scale multi-objective optimization

Abstract

根据作者的实验观察,具有相似得到性能的变量在进化过程成中的趋势也是类似的。换而言之皮尔逊相关系数很大。

搜索方法

  1. Novel search methods: 设计新的交叉变异的算子。
  2. Divide-and-conquer based methods: 决策变量分析,典型的MOEA/DVA。
  3. Problem transformation-based methods: 典型的WOF。

IDEAL

如果能将变量分析和WOF结合起来。将相关性强的变量放在一起分组,然后一起优化。这样就达到了降维的目的,创行之处就是提出了新的分组方式。

传统的DVA(decision variables analysis)例如MOEA/DVA需要消耗大量的FE去计算相关性,性能很差。所以作者提出了根据皮尔逊相关系数的分组方法。

皮尔逊相关系数

补充一点概率统计知识点

给定种群(solution)大小N,经历T代。表达方式 {\(X^T_1, X^T_2,...,X^T_i,...,X^T_N\)},第i代的解表示方式 \(X^T_i\) = {\(x^T_{1,i},x^T_{2,i},...,x^T_{d,i},...x^T_{D,i}\)}.

两个不同变量 \(x^T_d, x^T_{d'}\) 的皮尔逊相关系数计算公式如下:

img

\(\sigma V^{ave}_d\) 是\(V^{ave}_d\) 的标准差,计算公式如下:

img

img

这里和原文给的不一样。我觉得作者公式化简错了。

然后计算完变量之间的相关系数之后采用下面的公式分组:

img

算法部分:

Algorithm 1: WOF-PAG.

img

重点解释line 6: \(V_{pre}\) 存储的数据,列:表示变量下标。行:表示第几代。
具体内容如下图所示:

img

至于怎么采样解,我觉得应该是每一代在第一层里面根据拥挤度采样,然后算平均。

Algorithm 2: PAG.

img

解释:为什么是R+1 之前有R代,最后传入的q个解是最新的一代所以是R+1代一共。

line 2 - line 6:就是吧q个解对应的\(x_1,...,x_D\) 分别加到\(V_ave\)的1,2,...,D的数组中。计算这一代各个变量的和。

接下来的就很好理解了。
line 11 - line 18:就是将 \(V_pre,V_ave\)的值传进\(V_cur\)

然后分组优化。
结束。

标签:...,变量,相关系数,皮尔逊,分组,相关性,line
From: https://www.cnblogs.com/kz7430/p/18096055

相关文章

  • abc310D 带限制的分组方案数
    将n个人分成T组,有m条限制条件,第i个条件为{a[i],b[i]},表示a[i]与b[i]不能分到同一组,问总共有多少种可行的分组方案?1<=T<=n<=10由于最多只有10人,直接爆搜也能过,可以再加个剪枝:如果剩下人每人单独一组都不够T组则不可行。另外,为了去重,可以按编号从小到大的顺序,依次考虑每个人,要么加......
  • pandas笔记(五)-- 部门工资最高的员工(数据表的合并与分组)
    题目描述输入employee表和department表,查询部门工资最高的员工,按任意顺序返回结果表测试用例employee表:idnamesalarydepartmentId1Joe7000012Jim9000013Henry8000024Sam6000025Max900001department表:idname1IT......
  • 计算两列的相关性
    计算两列的相关性使用Pandas中的corr()函数计算DataFrame中特定的两列之间相关系数。defcorr_analys(input_file_path,col_1,col_2,output_pic_path,sheet_name='Sheet1'):'''########################################计算两列之间的相关系数(Pearson相关......
  • Springboot3基于SpringDoc实现接口分组功能
    问题最近在接触SpringBoot3,整合Swagger文档组件的过程中发现一个问题,通过springdoc.group-configs[0].display-name=示例接口配置分组名称在界面上面还是显示OpenAPIdefinition,如下图所示:查询了下官方文档,可以通过注入GroupedOpenApi对象实现接口分组描述信息展示,同时找到了一......
  • 排序算法练习——按照字符串的异位词分组:给定一个字符串数组,将所有异位词(字符相同但顺
    按照字符串的异位词分组:给定一个字符串数组,将所有异位词(字符相同但顺序不同的字符串)分组到同一个组中。要按照字符串的异位词分组,可以使用哈希表来将每个字符串排序后作为键,相同键的字符串即为异位词。以下是实现这个算法的Python代码:fromcollectionsimportdefaultdict......
  • 华为OD机试C++ - 游戏分组
    游戏分组前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:[email protected];备注:CSDN。题目描述部门准备举办一场王者......
  • PointNet++论文复现(二)【最远点采样-球查询-采样和分组 代码详解】
    最远点采样-球查询-采样和分组-代码详解专栏持续更新中!关注博主查看后续部分!最远点采样、球查询等位于pointnet2_utils.py定义点云坐标归一化点云坐标归一化是一种预处理步骤,用于将点云数据标准化到一个统一的尺度,通常是在一个特定的范围内,比如[-1,1]或[0,1]。这一......
  • 基于Python代码的相关性热力图,VIF共线性诊断图及残差四图的使用及解释
    注:热力图和共线性诊断图易看易解释,这里不再阐述残差四图(ResidualsvsFittedPlot,NormalQ-QPlot,Scale-LocationPlot,Cook'sDistancePlot)各种现象的相关解释如下:ResidualsvsFittedPlot(残差与拟合值散点图):这个图用于帮助检验回归模型的线性关系假设。在这个图中,我......
  • 关于简单序列分组的基本思路
    描述:题目是很简单的题目,大家应该都能秒了,只是也许大家都没有认真琢磨过这个简单的算法是怎么通过逻辑推理出来的,我看了网上很多大佬的解释都是直接给结论,这并不利于我们逻辑思维的成长,记忆并不是懂得。不才力求谁看谁明白。问题:现有一副扑克牌,需要按顺序轮流发给三个玩家,编......
  • Collections工具类,可以使用collections工具类对代码中的list进行分组
    /***根据活动id进行分组*key活动id*value活动id对应的商品id*/Map<Long,Set<Long>>collect=activitySkuList.stream().collect(Collectors.groupingBy(ActivitySku::getActivityId......