【问题标题】:Genetic Algorithm Results Presentation遗传算法结果展示
【发布时间】:2015-04-27 17:05:59
【问题描述】:

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

【问题讨论】:

  • 首先,使用哪种类型的显示取决于生成的结果,而不是用于生成它们的算法。其次,应该在 cs.SEstats.SE 上问这个问题,因为 SO 专注于编码问题而不是更一般的 CS/IT 问题。
  • 在这种情况下,我试图显示有关使用的特定算法的结果,而不是特定应用程序。
  • 遗传算法的结果可以使用控制图、条形图/直方图、组合线/条形图、不同的散点图、运行图等来显示。这取决于哪种显示方式对数据的可视化效果最好。
  • 在下一条评论之前,我只想说:如果你想要一个准确的答案,你需要给出一个你生成的数据的例子。但是,为了按代进行最大拟合 - 我通常使用某种形式的运行图或其他折线图。

标签: genetic-algorithm evolutionary-algorithm


【解决方案1】:

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

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-02-03
    • 2014-09-27
    • 2011-01-11
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2011-07-22
    • 1970-01-01
    相关资源
    最近更新 更多