遗传算法(GAs):仅被视为优化算法?GA 是否以任何方式用于机器学习?

数据挖掘 机器学习 优化 遗传算法
2021-10-13 02:56:45

作为一个快速的问题,遗传算法的用途是什么?我在其他地方读到它们应该用作优化算法(类似于我们使用梯度下降来优化线性回归、神经网络的最佳参数搜索......)。如果是这样,为什么这些 GA 在机器学习中没有那么多存在(或者至少我在文献中没有看到太多)?

3个回答

是的,正如您发现的那样,它们(进化算法,如遗传算法)正在用于优化任务。他们没有主要用于机器学习的一个原因可能是他们的性能收敛到最佳点。此外,某些领域的 GA 实现可能会出现问题,并且它不能像梯度下降那样被概括,因为它涉及至少 5 个阶段(突变、交叉、...)。

我认为你对 GA 太轻描淡写了。GA 仍然在机器学习中实际使用,尽管没有那么广泛。您可以通过代码项目符号和更学术的例子看到一些实现GA 的一个问题是它在大多数情况下计算成本很高,并且在某种程度上需要运气(因为您正在随机改变实例),因此当我们已经知道问题的更具确定性的解决方案时,它通常不受欢迎。但是有一组 GA 可以擅长的问题,其中一个是当你没有可区分的目标时,例如参数搜索或强化学习。

解决问题的第二部分,是的,GA 可以用于机器学习,但不是常用的方法。

主要是,为了优化(参数)模型的参数,通常使用封闭解决方案(如最小二乘法)或梯度下降(及其变体),但超参数的选择通常是开放的,GA 可能是在这里使用,但人们通常会尝试随机搜索、网格搜索等。