使用遗传算法的好处

机器算法验证 遗传算法
2022-02-10 15:59:50

谁能向我解释遗传算法与其他传统搜索和优化方法相比的好处?

4个回答

使用遗传算法的主要原因是:

  • 有多个局部最优
  • 目标函数不平滑(因此不能应用导数方法)
  • 参数的数量非常大
  • 目标函数是嘈杂的或随机的

当您没有梯度的定义时,大量参数可能会成为基于导数的方法的问题。在这种情况下,您可以通过 GA 找到一个不错的解决方案,然后使用基于导数的方法对其进行改进。“大”的定义一直在增长。

  • 概念很容易理解
  • 模块化,与应用程序分离
  • 支持多目标
  • 优化 适合“嘈杂”的环境
  • 总是一个答案;随着时间的推移,答案会变得更好
  • 本质上是平行的;易于分发

遗传算法与传统搜索和优化方法的不同之处在于四个重要点:

  • 遗传算法从一组点中并行搜索。因此,它有能力避免像传统方法那样陷入局部最优解,从单点搜索。
  • 遗传算法使用概率选择规则,而不是确定性规则。
  • 遗传算法适用于染色体,它是潜在解决方案参数的编码版本,而不是参数本身。
  • 遗传算法使用适应度分数,它是从目标函数中获得的,没有其他衍生或辅助信息

遗传算法是最后的手段。它们仅在分析解决方案不可行时才有用(请参阅 Patrick 的回答,了解最常见的原因),并且您手头有大量 CPU 时间。