【问题标题】:Compare genetic programming performance比较遗传编程性能
【发布时间】:2017-10-25 08:37:22
【问题描述】:

我已经在一个数据集上运行了 30 * 7 次遗传程序,30 次运行了 7 种不同的参数设置,现在,我想比较一下结果。 每个程序运行 200 代 我收集了每一代的数据,但我想比较的是 30 次运行的最佳测试适应度与所有其他 30 次运行的每个设置,以检查不同参数的结果之间是否存在差异。 由于事物的性质,分布不正常,所以我正在考虑对 7 个数据列(每列有 30 个样本)运行 Kruskal Wallis 测试。

你们觉得呢?

谢谢 豪尔赫

【问题讨论】:

    标签: statistics genetic-algorithm genetic-programming


    【解决方案1】:

    您如何定义绩效? 假设您的意思是收敛到最优值(或至少收敛到局部极端值),您可能需要比较:

    1. 每次运行都达到最佳状态
    2. 您达到这些目标的速度(平均增量或类似的东西)。

    对于 2. 点,您甚至可能想要拟合曲线(例如线)并尝试比较 yi=a 中的 ai 参数ix+bi

    仅在统计方面,您也可以使用 Wilcoxon rank test,因为您可以成对分组运行。

    顺便说一下,由于每次使用一组给定参数(至少在理论上)运行可能会给您带来略微不同的结果(由于遗传编程的固有随机性),您可能希望每次运行至少几次您要调整的每组参数以消除随机性的(错误?)幸运影响。

    【讨论】:

    • 这是一个最小化问题,越接近 0 越好。每个参数设置我有 30 次运行。
    • 因此,首先您可能想要比较运行是否接近 0(具有一些“epsilon”容差)。然后你可以检查收敛速度。
    • 我已经有一些运行的图形分析等等,我喜欢一些定量的方法来告诉我方法结果有多么不同,所以我可以衡量使用方法是否有意义A 或 B。有 7 种不同的算法“竞争”。
    • 我不认为配对-Wilcoxon 是正确的方法,因为运行中没有有意义的配对(当然与研究无关。)一般来说,由于有七种治疗方法,如果完成任何 Wilconxon,您还需要控制多重比较,这自然是 Kruskal-Wallis 的原因。
    猜你喜欢
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 2012-07-07
    • 2011-07-09
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    相关资源
    最近更新 更多