4. 基准测试函数与评估指标
调参之前必须先有一把“尺子”。粒子群优化(PSO)没有梯度信息、没有解析最优路径,算法好坏只能通过在一组已知最优解的测试函数上反复运行来度量。基准测试函数提供“标准答案”,评估指标则把多次运行的原始数据压缩成可比较的数字。本节围绕四个最常用的测试函数和三类核心指标展开,并给出可直接套用的实验记录方式。
一、四个必知测试函数:它们各自“卡”住算法的什么能力
测试函数按地形分为单峰与多峰两类。单峰函数只有一个全局最优,考察的是收敛速度与开发(exploitation)能力;多峰函数存在大量局部最优,考察的是全局探索(exploration)与跳出局部极值的能力。四个函数的标准定义(均以求最小值为例)如下:
- Sphere:f(x)=Σxi2,最优值 0,位于原点。地形是光滑碗状,无局部陷阱,几乎所有 PSO 变体都能收敛,主要用来观察收敛速度与初期下降斜率。
- Rosenbrock:f(x)=Σ[100(xi+1−xi2)2+(1−xi)2],最优值 0,位于全 1 向量。存在一条狭长的弯曲山谷,最优解在谷底尽头,算法容易沿谷壁来回震荡、进展缓慢,是检验方向协调性的经典难题。
- Rastrigin:f(x)=10n+Σ[xi2−10cos(2πxi)],最优值 0,位于原点。余弦项制造出大量规则分布的局部极小,是检验跳出局部最优能力的标准多峰函数。
- Griewank:f(x)=1+Σxi2/4000−Πcos(xi/√i),最优值 0,位于原点。乘积项使局部极值随维度增加而密集,且各维耦合,用于检验高维下的探索均匀性。
实践中的常见配置是:维度取 10 或 30,搜索空间统一设为 [−5.12, 5.12](Rastrigin、Griewank 常用)或 [−30, 30](Sphere、Rosenbrock 常用),种群规模 30~50,最大评价次数固定为 10000 或 20000。注意:比较不同算法时必须固定评价次数而非迭代代数,否则种群规模大的算法会因每代评价更多而占便宜,结论失真。
二、三类评估指标:从一条曲线到一组统计量
收敛曲线是最直观的工具:横轴为评价次数(或迭代代数),纵轴为当前全局最优适应度,通常取对数坐标。单次运行的曲线只能看趋势,规范做法是独立运行 30 次以上,绘制中位数曲线并叠加四分位带,这样既能看出典型收敛速度,也能看出运行间的离散程度。观察要点有三个:初期下降斜率反映探索效率;曲线何时进入平台期反映收敛速度;平台高度反映最终精度。
成功率(Success Rate, SR)定义为达到预设精度阈值的运行次数占总运行次数的比例。阈值必须事先声明,例如对 Sphere 取 f≤1e−6、对 Rastrigin 取 f≤1e−2,不同函数阈值不同,不能混用。SR 回答的是“算法能不能稳定找到足够好的解”,对多峰函数尤其关键。
稳定性用多次运行最终适应度的统计量刻画:均值反映整体水平,标准差或四分位距(IQR)反映波动,最差值与最优值给出边界。一个均值好但标准差大的算法,在工程上往往不如均值稍差但波动小的算法可靠。此外还可记录平均收敛代数(首次达到阈值的评价次数均值),用于比较达到同等精度所需的代价。
三、一次可复现的对比实验怎么做
下面给出一个最小但完整的实验记录结构,可直接作为实验日志模板使用。假设比较标准 PSO 与惯性权重线性递减 PSO(w 从 0.9 降到 0.4),在 30 维 Rastrigin 上各跑 30 次,最大评价次数 20000,阈值 1e−2。
实验配置
函数: Rastrigin, D=30, 搜索空间 [-5.12, 5.12]
算法A: PSO, w=0.729, c1=c2=1.494
算法B: PSO-LDIW, w: 0.9→0.4 线性递减, c1=c2=1.494
种群: 40, 最大评价次数: 20000, 独立运行: 30 次
成功阈值: 最终适应度 ≤ 1e-2
记录字段(每次运行一行)
run_id, algo, best_fitness, evals_to_threshold, success(0/1)
汇总输出
SR = sum(success)/30
均值±标准差、中位数[IQR]、最差值
平均收敛代数(仅统计成功运行)
收敛曲线: 每 200 次评价采样一次全局最优,取 30 次的中位数与四分位
结果判读时不要只看一个数字。若算法 B 的 SR 明显高于 A,但平均收敛代数也更长,说明它用更多评价换取了可靠性,是否值得取决于实际问题的评价成本。若两者 SR 接近而 B 的 IQR 更小,则 B 在稳定性上占优。若某算法在 Sphere 上曲线漂亮、在 Rastrigin 上平台很高,说明其探索能力不足,调参方向应转向增大惯性权重上限、提高认知/社会系数中的探索分量,或引入重启与变异机制。
把四个函数、三类指标和固定评价次数的实验协议组合起来,就构成了一套可重复的评估基线。后续任何参数调整或算法改进,都应在这套基线上对比,用成功率判断可靠性、用统计量判断稳定性、用收敛曲线判断速度,三者结合才能得出站得住脚的调参结论。