遗传算法结果展示

Dav*_*vid 2 genetic-algorithm evolutionary-algorithm

我有我使用遗传算法运行的实验数据,并试图在论文中展示它。什么是表示遗传算法结果的好/经典方法。我正在考虑做一个散点图,代表他们几代人的最大拟合个体。这是结果的一个很好的表示吗?

zeg*_*jan 5

当您衡量遗传算法(或任何其他随机算法)的性能时,您会多次运行它,然后汇总结果以消除某些运行“幸运”或“不幸”的影响。然后是关于呈现这样的汇总结果。

对于单次运行(其中许多),您通常只关心适合度中的最佳个体(除非您正在分析我认为您没有的种群动态),因为这是算法在任何给定条件下的输出运行时的时间。

当您每次运行都有这样的最佳人选时,您就可以展示结果。GA 的典型视觉表示是“进化图”或“进度图”(我个人使用第一个术语,其他研究人员也使用它),它看起来像这样(来自我的硕士论文):

进化图示例

我知道,这有点乱。但是,实线是聚合运行的中位数。这意味着在 X 次评估中,对于每个算法,实线位于特定算法每次运行中所有最佳个体的适应度中值(有时也使用平均值,但它对异常值没有抵抗力)。在我的情况下,误差线从第 1 个四分位数延伸到第 3 个四分位数(有时也使用标准偏差,但误差线关于实线对称,并且没有像分位数那样显示分布)。

如果您对进化的进程而不是对最终结果感兴趣,您可以使用例如箱线图来正确显示算法最终值的分布。它看起来像这样(同样,来自我的硕士论文,对应于上面的进化图):

最终值箱线图示例

这是在 MATLAB 中创建的。有一个用于创建箱线图的在线工具:http : //boxplot.bio.ed.ac.uk

如果您只有一个算法要呈现,您还可以将进化图与箱线图结合起来——由箱线图组成的进化图!您只需在每 N 次评估中放置一个箱线图(N 取决于可读的图形大小)。四分位数误差条和中值实线是一种(扭曲的)方式的箱线图。

最后一个选项是以文本形式(或以表格形式)呈现一些统计测试支持的结果。对于两种算法(最终值​​)的比较,您可以使用例如Mann-Whitney U-test。比较两种以上的算法变得很棘手,您需要找到一位友好的统计学家来帮助您:)。