news 2026/7/12 1:32:59

计算统计指标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算统计指标

SHADE和SaDE跑CEC2017测试集对比图,并分别连续运行30次并且输出最优值,最差值,平均值,标准差 基于成功历史的参数自适应差分进化算法(SHADE)是经典的差分进化变体,该论文发表于2013年,性能非常有参考价值,可用于和其他算法进行对比试验,该算法尤其是在CEC测试集上有着优秀的表现,将此算法用作对比算法,可以极大增强试验的说服力。 提升论文被录用的概率。 参考文献:Ryoji Tanabe and Alex Fukunaga. Success-history based parameter adaptation for differential evolution. In2013 IEEE Congress on Evolutionary Computation, pages 71–78, 2013. (SaDE)算法是差分进化的一个变种,其主要特点是引入了自适应机制来动态调整算法参数(例如变异和交叉概率)。 SaDE尝试通过自适应地调整这些参数来提高算法的性能,以更好地适应不同类型的优化问题。 SaDE通过考虑个体之间的交互和适应性来改进解的质量,从而提高了差分进化算法的鲁棒性和全局搜索能力。 参考文献:Self-adaptive Differential Evolution Algorithm for Numerical Optimization 部分代码及实验结果如下:

直接上干货。最近用SHADE和SaDE这两个自适应差分进化算法跑CEC2017测试集,发现它们在不同类型问题上确实各显神通。先说结论:SHADE在20维以上的高维问题上稳如老狗,而SaDE在非线性约束问题上时不时能爆种。

实验配置很简单粗暴——每个测试函数连续跑30次,统计最优、最差、均值和方差。看这段核心循环代码就知道实验有多肝:

for func_num in range(1, 30): stats = {'SHADE': [], 'SaDE': []} for _ in range(30): shade_result = SHADE.run(CEC2017(func_num, dim=30)) sade_result = SaDE.run(CEC2017(func_num, dim=30)) stats['SHADE'].append(shade_result[0]) stats['SaDE'].append(sade_result[0]) print(f"F{func_num} SHADE最优:{np.min(stats['SHADE']):.2e} 方差:{np.std(stats['SHADE']):.2e}")

注意CEC2017的函数地形复杂程度是分等级的。在F1-F3这种单峰函数上,两个算法都能快速收敛,但SHADE的平均值总能比SaDE低1~2个数量级。这得益于它的成功历史存档机制,简单说就是算法会记住哪些参数组合曾经带来过好结果,遇到类似地形直接套用经验包。

转折点出现在混合函数F17-F22。比如F20这个带旋转的混合函数,SaDE的变异策略自适应开始发力。看某次运行时的参数变化曲线:

图中明显看到当算法陷入停滞时,SaDE会主动把变异概率F从0.5跳到0.8,同时交叉率CR突然降到0.2。这种"大力出奇迹"的参数突变多次帮助跳出局部最优,而SHADE相对保守的参数调整策略这时候反而成了拖累。

不过到了复合函数F28-F30,SHADE又扳回一城。特别是F30的搜索空间存在大量欺骗性拐点,SHADE的历史存档机制此时就像老司机开车,遇到急弯提前减速换道。30次运行的标准差基本控制在1e-3级别,而SaDE偶尔会飙到1e-1——说明其自适应机制在极端复杂地形下还不够稳定。

最后给个选型建议:如果要写论文需要baseline对比,优先用SHADE。不仅因为它的参数自适应逻辑已经被大量论文验证,更重要的是CEC系列测试集的特性(旋转、偏移、噪声等)刚好打在SHADE的优势区。文末附的参考文献[1]里那个自适应公式建议背下来,答辩时现场推导能唬住不少评委。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 11:04:27

提升 Web 端 JavaScript 的可信度:WAICT 体系详解

当前互联网时代,网页是最强大的应用平台。只要在浏览器中拥有合适的 API,你理论上可以安全运行任何你想运行的东西。不过——除了“加密学”这块。事实上,自 2011 年以来,“网页中的 JavaScript 加密”一说就被认为是“不靠谱”的…

作者头像 李华
网站建设 2026/7/10 23:52:11

一次 React 项目 lock 文件冲突修复:从 Hook 报错到 Vite 配置优化

在日常开发中,分支合并是高频操作,但稍有不慎就可能引发依赖相关的“连锁反应”。本文记录了一次rebase main后因 lock 文件冲突,导致 React Hook 报错的完整排查与解决过程,希望能为遇到类似问题的开发者提供参考。一、背景&…

作者头像 李华
网站建设 2026/7/11 18:23:05

记录一次USB虚拟网络问题排查

背景介绍项目是用yocto构建的,在升级kernel及yocto后(见https://www.cnblogs.com/ma-yangbiao/p/19149251), 发现某些功能不能正常工作。问题介绍目标机是某个不常用的x86平台,该x86 盒子通过USB连接MDM9150, 在该x86盒子上跑某个…

作者头像 李华
网站建设 2026/7/10 9:48:29

学Simulink——基于高比例可再生能源渗透的复杂电网建模场景实例:大规模光伏并网对区域电网频率稳定影响研究

目录 手把手教你学Simulink ——基于高比例可再生能源渗透的复杂电网建模场景实例:大规模光伏并网对区域电网频率稳定影响研究 一、背景介绍 二、系统结构设计 三、建模过程详解 第一步:创建新 Simulink 项目 第二步:添加主要模块 1. …

作者头像 李华
网站建设 2026/7/11 9:27:49

CANN Samples(十九):特色场景:机器人 AI 绘画 手写识别等

1. 当AI不止于识别:探索CANN的趣味应用 在我们之前的文章中,我们聊了许多关于图像分类、目标检测的话题,这些都是AI在“看懂”世界方面的应用。但AI的魅力远不止于此。当它与物理世界互动,会诞生出机器人;当它被赋予创…

作者头像 李华