【问题标题】:Difference between SR and AESSR和AES之间的区别
【发布时间】:2017-07-03 18:02:03
【问题描述】:

我想使用 SR(成功率)和 AES(对解决方案的平均评估次数)来比较两个“进化新策略”。我不确定“AES”是如何工作的......

假设我运行了 10 次算法,最优值为 0.0:

Run 1: 0.1
Run 2: 0.8
Run 3: NAN
Run 4: 1.5
Run 5: 0.4
Run 6: 0.3
Run 7: NAN
Run 8: 1.9
Run 9: 1.1
Run 10: 0.5

我了解如果我选择 1.0 的限制,成功率是:5/10。

问题:

1- SR值对吗?

2- AES 的价值是什么?

3- 我是否必须为 SR 和 AES 使用相同的限制值(例如 1.0)?

4- 要计算 AES,我是否需要知道在每次运行的哪个迭代中值低于 1.0(例如)?可以举个例子吗?

提前致谢

【问题讨论】:

    标签: algorithm genetic-algorithm evolutionary-algorithm genetic-programming


    【解决方案1】:

    成功率是特定算法可以达到预期准确度的运行次数与总运行次数的比率。代表着: SR =(成功运行次数/总运行次数)。为此,您首先需要确定错误阈值。这个阈值取决于问题的难度。可以在 Kordestani、J.K.、A. Ahmadi 和 M. R. Meybodi 中找到一个例子。 2014.“使用学习的改进差分进化算法 自动机和人口拓扑。” Applied Intelligence 41 (4): 1150–1169.,其中 1e-10 被认为是一些易于优化的功能的预期精度,而 1e-6 和 1e-2 被认为是一些更难的功能。 对解决方案的平均评估次数是为达到所考虑的准确度所花费的评估次数,这些评估次数是在各种运行中平均的。以下是进一步检查 SR 和 AES 的示例。 假设我们运行一个算法来优化一个数学函数 5 次(至少应该执行 30 次才能得出关于不同论文中建议的不同算法性能的结论,但是为了一个例子,我们考虑 5 次运行)。此外,终止条件达到 10000 个函数评估。以下是找到的最佳解决方案的误差(err)、成功运行的误差(ea)以及算法达到预期精度的评估数(FE)。

    run     err     ea     FE     Successful run
    1     1.35e-3  1e-2    8800      YES
    2     1.05e-1  1e-2    -          NO
    3     2.95e-4  1e-2    6000      YES
    4     5.55e-8  1e-2    4200      YES
    5     9.98e-0  1e-2    -         NO
    

    考虑到上表,SR = (3/5) = 0.6 或 60%。 成功运行的 AES 也计算为 (8800+6000+4200)/3

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 2020-05-10
      • 2014-09-20
      • 2010-10-28
      相关资源
      最近更新 更多