首页 理论教育多目标算法性能比较:最新研究成果

多目标算法性能比较:最新研究成果

【摘要】:目前进化算法中常常使用统计检验方法对算法进行比较。为了对两个算法的性能进行比较,需要将这两个算法在同一个测试集上运行多次,然后利用统计信息作出判断。这样比较的理由是,在多目标优化算法中,收敛性能是要达到的首要目标,当两个算法收敛性能存在显著性差异时,对它们的分布性能进行比较是没有意义的。此时采用同时兼顾分布跨度和均匀性能的指标比较合适。

多目标优化的实验比较流程一般由以下几个步骤组成[5]:

选择参与比较的算法

选择测试问题;

选择性能评价准则

参与比较的每个算法在每一个测试问题上执行设定的次数,得到结果;

根据各算法得到的结果和性能评价准则,计算出性能指标;

按多次运行的性能指标值进行统计比较,得出结论。(www.chuimin.cn)

为了得出较为准确的结论,以上每一个环节都显得十分重要。第一,参与比较的算法一般应该是被多数研究者所认可且经受过普遍检验的算法。另外,如果设计的算法是受到某种算法的思想启发,则也应该将该算法作为比较算法。第二,选择问题时,应考虑各类问题的代表性,避免选择特征相似的测试问题。至于这些测试问题的来源,它们可以来自已有的基准测试问题,也可以是现实世界中的问题,还可以是新设计的问题。第三,选择性能评价准则时应首先考虑能独立反映算法性能的不同方面的评价准则,避免重复。同时,所选的评价准则应尽可能全面地覆盖各种性能指标。第四,运行算法时应考虑将各类算法中共同的参数尽可能设为一样的值较合适,这样可以凸显公平、公正地对比各算法的性能。第五,选择合适的比较方法。目前进化算法中常常使用统计检验方法对算法进行比较。

实验部分除了要考虑以上问题外,还有一点值得注意的是,如果一个算法包含多个新的特征,或所谓新的创新之处,则应该逐个评价这些新特征对算法性能的影响。为此,Laumanns等[22]提出了表示大多数算法一般结构的统一模型,该模型可以方便地将算法的各个特征从算法中分离开来以单独评价它们的作用。基于这个模型,他们对各种算法中使用的档案集、精英保留策略和密度评估方法进行了研究。需要指出的是,对于算法的创新点,可以采用逐个追加的方式测试它们的性能,而不是在原始的框架上每次使用一个进行测试,这样可以避免多个创新点同时使用时效能相互抵消而不能反映各创新点在算法中所起的实际作用。

为了对两个算法的性能进行比较,需要将这两个算法在同一个测试集上运行多次,然后利用统计信息作出判断。使用描述统计方法如均值、方差可以描述实验结果的分布,能反映结果的平均情况和稳定性。然而,由于实验有限,无法给出一个较为确切的判断,因此,越来越多的文献采用基于概率的统计推断方法,即假设检验方法。采用假设检验方法可以检查各个算法获得的结果是否存在显著性差异,对于存在显著性差异的数据,根据均值和方差可以给出哪个算法在相应测试集上更有的判断。进化算法实验中常用的假设检验方法包括T检验、Z检验、Wilcoxon符号秩检验、Mann-Whitney U检验和Kruskal-Wallis H检验等。其中,T检验和Z检验是参数检验方法,分别适合于小样本和大样本数据服从正态分布的情形;其他的几种检验方法属于非参数统计检验方法,不需要对总体分布进行假设。

Fonseca和Knowles等将统计检验方法用于两种结果值的比较,一个是非支配的近似解集,另一个是多次运行结果的指标值。他们建议在只有两个优化算法的结果时使用Mann-Whitney秩和检验,在有多个优化算法的结果时采用Kruskal-Wallis秩检验。同时,他们也认为Fisher置换检验是一种更强大的秩检验方法。

一般按如下顺序来比较两个多目标优化算法的性能:首先确定它们在收敛性能上是否存在显著性差异,如果存在显著性差异,则不再进行下一步的比较,否则,接下来检查它们的分布性能是否存在显著性差异。这样比较的理由是,在多目标优化算法中,收敛性能是要达到的首要目标,当两个算法收敛性能存在显著性差异时,对它们的分布性能进行比较是没有意义的。分布性能的比较相对比较复杂,因为它涉及解集的分布跨度和均匀程度。此时采用同时兼顾分布跨度和均匀性能的指标比较合适。