遗传算法结果表示

时间:2015-04-27 17:05:59

标签: genetic-algorithm evolutionary-algorithm

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

1 个答案:

答案 0 :(得分:3)

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

对于单次跑步(其中许多),你通常只关注健身中最好的个体(除非你正在分析我认为你没有的种群动态),因为这是算法的输出在运行期间的任何给定时间。

如果每次跑步都有这么好的个人,那么就会显示结果。 GA的典型视觉表现形式是“演化图”或“进展情节”(我个人使用第一个术语,其他研究人员也使用它),它看起来像这样(来自我的硕士论文):

evolution plot example

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

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

final values box plot example

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

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

最后一个选项是以文本方式(或在表格中)显示某些统计测试支持的结果。为了比较两种算法(最终值​​),您可以使用例如Mann-Whitney U-test。比较两个以上的算法变得棘手,你需要找一个友好的统计学家来帮助你:)。