我试图了解各种类型的机器学习算法之间的区别。

我知道进化算法的实现与神经网络的实现有很大不同。

但是,它们似乎都适合从一组可能嘈杂的训练/历史数据确定输入和输出之间的相关性。

从定性的 Angular 来看,是否存在与进化算法相反的,更适合作为神经网络目标的问题域?

我浏览了一些文章,建议以互补的方式使用它们。是否有一个合适的用例示例?

最佳答案

解决的方法是:在机器学习问题中,通常有两个组成部分:

a)模型(功能类等)

b)拟合模型的方法(优化算法)

神经网络是一个模型:给定布局和权重设置,神经网络会产生一些输出。存在一些拟合神经网络的规范方法,例如反向传播,对比发散等。但是,神经网络的重点在于,如果有人给您“正确的”权重,那么您会在此问题上做得很好。

进化算法解决第二部分-拟合模型。同样,进化算法还包含一些规范模型:例如,进化编程通常尝试对特定类型的所有程序进行优化。但是,EA本质上是一种为特定模型找到正确的参数值的方法。通常,您以一种合理的方式编写模型参数,以便进行交叉操作,然后转动EA曲柄以获取合理的参数设置。

现在,例如,您可以使用进化算法来训练神经网络,并且我确定它已经完成。但是,EA需要工作的关键一点是,交叉操作必须是一件合理的事情-通过从一个合理的设置中获取部分参数,并从另一合理的设置中获取其余参数,您通常会得到一个更好的参数设置。大多数情况下,使用EA并非如此,最终它就像模拟退火一样,只是更加困惑和效率低下。

关于artificial-intelligence - 进化算法和神经网络是否在同一领域中使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/628297/

10-12 21:55