什么时候应该使用遗传算法而不是神经网络? [关闭]
artificial-intelligence
machine-learning
neural-network
9
0

是否有经验法则(或一组示例)来确定何时使用遗传算法而不是神经网络(反之亦然)来解决问题?

我知道在某些情况下可以将两种方法混合使用,但是我正在寻找两种方法之间的高级比较。

参考资料:
Stack Overflow
收藏
评论
共 8 个回答
高赞 时间 活跃

遗传算法(通常)适用于离散数据(枚举,整数范围等)。当唯一可用的替代方法是蛮力搜索(评估所有组合)时,GA的典型应用是在离散空间中搜索“足够好”的解决方案。

另一方面,神经网络(通常)处理连续数据(浮点数等)。 NN的一个典型应用是函数逼近,其中有一组输入X和一组相关输出Y,但是解析函数f:X→Y。

当然,两者都有数千种变体,因此它们之间的界限有些模糊。

收藏
评论

它们之间有许多相似之处,因此我将仅尝试概述它们之间的差异

神经网络

能够分析在线模式(随时间变化的模式)。通常,这是随时间变化的样本,需要进行匹配和预测。

例子

  • 图外推
  • 面部识别

遗传算法

在可以编码可能导致特定的不变问题的属性编码时使用。重点在于能够对这些属性进行编码(有时您知道它们是什么),并且问题在很大程度上是不变的(否则演化不会收敛)。

例子

  • 安排飞机/运输
  • 时间表。
  • 在人工环境中寻找简单试剂的最佳特性
  • 用随机多边形渲染图片的近似值
收藏
评论

GA会在您定义的结构中生成新的模式。

NN根据您提供的训练数据对现有模式进行分类(或识别)。

GA在有效地搜索解决方案的大型状态空间并收敛于一个或多个好的解决方案(但不一定是“最佳”解决方案)方面表现良好。

NN可以学会(通过训练)识别模式,但是要弄清楚他们学到了什么是众所周知的,即一旦训练就从他们那里提取知识,然后在其他(非NN)中重用知识。

收藏
评论

在大多数情况下,遗传算法(尽管有个性感的名字)是一种优化技术 。它主要归结为您拥有许多变量,并希望找到这些变量的最佳值组合。它只是借鉴了自然进化的技术才能达到目标。

神经网络对于识别模式很有用。他们遵循简单的大脑模型,并通过改变它们之间的权重,尝试根据输入预测输出。

它们是两个根本不同的实体,但是有时它们能够解决的问题重叠。

收藏
评论

您可以使用遗传算法替代反向传播算法来更新神经网络中的权重。有关此示例,请参阅: http : //www.ai-junkie.com/ann/evolved/nnt1.html

收藏
评论

您在这里比较两件事。

神经网络用于回归/分类-给定一组(x,y)示例,您希望对给定x的未知y进行回归。

遗传算法是一种优化技术。给定一个函数f(x),您想要确定最小化/最大化f(x)的x。

收藏
评论

没有经验法则。在许多情况下,您可以提出问题以利用它们中的任何一个。机器学习仍然是研究的活跃领域,使用哪种学习模型可能是有争议的。

Google Analytics(分析)从演化中汲取了性感的语言,但是您正在等待计算机偶然通过随机过程找到解决方案。研究您的数据,做出正确的假设,尝试知道您想要什么,然后选择一种可以充分利用这些数据的方法。如果您的首选结果不佳,请知道为什么会这样,并改进算法本身或选择更好的算法。

收藏
评论

从维基百科:

遗传算法 (GA)是一种搜索技术,用于计算以找到精确或近似的解决方案来优化和搜索问题。

和:

神经网络是非线性统计数据建模工具。它们可用于为输入和输出之间的复杂关系建模或查找数据模式

如果您有一个问题可以量化解决方案的价值,则遗传算法可以对解决方案空间进行定向搜索 。 (例如找到两点之间的最短路线)

当您有许多不同类别的项目时, 神经网络可以“学习” 以前从未“看到”的项目进行分类 。 (例如人脸识别,语音识别)

还必须考虑执行时间。遗传算法需要很长时间才能找到可接受的解决方案。神经网络需要很长时间才能“学习”,但随后几乎可以立即对新输入进行分类。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题