我有一个用遗传算法进行的实验数据,并试图在一篇论文中展示出来。什么是表示遗传算法结果的好的/经典的方法。我正在考虑做一个零散图,代表几代人最适合的个体。这是否很好地反映了结果?
发布于 2015-04-28 05:42:47
当您评估遗传算法(或任何其他随机算法)的性能时,您会多次运行它,然后汇总结果,以消除某些运行“幸运”或“不吉利”的影响。然后是关于显示这样的聚合结果。
对于一次运行(其中许多次),您通常只关注健身中最好的个体(除非您正在分析人口动态(我认为您没有)),因为这是算法在运行期间任何给定时间的输出。
当您有这样最好的个人为每次运行,您提出的结果。遗传算法的典型视觉表现形式是“进化图”或“进度图”(我个人使用第一个术语,其他研究人员也使用它),它看起来如下(来自我的硕士论文):

我知道,有点乱。然而,实线是聚合运行的中介。这意味着在X评估中,对于每一种算法,实线都是来自特定算法运行的所有最佳个体的中位适应度(有时也使用均值,但它不抵抗异常值)。误差条从1到3四分位数,在我的情况下(有时也使用标准差,但是误差条在实线上是对称的,不像分位数那样显示分布)。
如果您对进化的进展不感兴趣,而是对最终的结果感兴趣,您可以使用例如盒图来正确地显示算法的最终值的分布。它看起来像这样(再一次,从我的硕士论文来看,相当于上面的进化图):

这个是在MATLAB中创建的。有一个在线工具可以创建盒子图:http://boxplot.bio.ed.ac.uk
如果你只有一个算法,你也可以把进化图和盒图结合起来--一个由盒图组成的进化图!您只需在每一个第N次评估中放置一个框图(N取决于可读的图形大小)。四分位数误差条和中间实线是一种方格图,以一种(扭曲的)方式。
最后一种选择是以文本形式(或在表中)显示由某些统计测试支持的结果。为了比较两种算法(最后的值),可以使用例如曼-惠特尼U-检验。比较两个以上的算法变得很棘手,您需要找到一个友好的统计学家来帮助您:)。
https://stackoverflow.com/questions/29901891
复制相似问题