什么时候应该使用遗传算法,而不是神经网络? [关闭](When should I use gen

2019-07-17 12:59发布

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

我知道有在其中您可以有两种方法混合的情况,但是我正在寻找这两种方法之间的高级别的比较。

Answer 1:

维基百科:

甲遗传算法 (GA)是在计算中使用以找到优化和搜索问题精确或近似解决方案的搜索技术。

和:

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

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

当你有许多不同类别的项目,一个神经网络可以“学习” 分类还没有“看到”前的项目。 (例如脸部识别,语音识别)

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



Answer 2:

遗传算法(尽管其性感的名字)是,在大多数情况下, 优化技术 。 它主要归结为你有一些变量,并希望找到这些变量值的最佳组合。 它只是借用了自然进化技术到那里。

神经网络是识别模式非常有用。 他们遵循大脑的一个简单的模型,并通过改变一些他们之间的权重,试图预测基于输入输出。

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



Answer 3:

赤霉素生成您定义的结构新模式。

神经网络分类(或识别)现有的基于训练数据,您提供的模式。

气体高效地寻找解决方案的大型国有空间,并汇聚在一个或多个解决方案的良好表现良好,但不一定是“最好”的解决方案。

神经网络可以学会识别模式(通过培训),但它是个老大难问题,以找出他们所学到的,即提取他们一次训练知识,重用一些其他(非NN)的知识。



Answer 4:

您在这里比较两个完全不同的事情。

神经网络用于回归/分类 - 给定一组,想要回归的未知y一段给定的X(X,Y)的例子。

遗传算法是一种优化技术。 给定一个函数f(x),你要确定最大限度地减少了X /最大化F(X)。



Answer 5:

它们之间有很多相似之处,所以我只会尽力勾勒出他们之间分歧

神经网络

能够分析在线模式(那些随时间变化)。 通常,这是一个需要相匹配,并预测一个随时间变化的样品。

例子

  • 图外推
  • 面部识别

遗传算法

使用的时候可以代码,您认为可能会导致一个特定的,非变化问题的属性。 重点是能够对这些属性码(有时你知道它们是什么),而这个问题是很大程度不变(否则变阵不收敛)。

例子

  • 调度飞机/出货
  • 时间表。
  • 发现在人工环境中的一个简单的代理的最佳特性
  • 渲染随机多边形图像的近似值


Answer 6:

您可以使用遗传算法作为一种替代BP算法更新神经网络的权重。 对于这样的一个例子是指: http://www.ai-junkie.com/ann/evolved/nnt1.html 。



Answer 7:

离散数据(枚举,整数范围,等等)遗传算法(通常)工作。 对气体的典型应用是寻找一个“足够好”的解决方案离散空间时,唯一可用的选择是一个强力搜索(评估所有的组合)。

神经网络,在另一方面,(通常)上连续的数据(浮点等)工作。 对于神经网络的典型应用是函数逼近,您已经有了一个输入一组X和相关产出的一组Y,但分析函数f:X→Y。

当然,也有数以千计的两个变种,所以它们之间的界限有些模糊。



Answer 8:

没有经验法则。 在很多情况下,你可以制定你的问题,以利用其中一方。 机器学习仍然是研究和学习的楷模使用可以很有争议的活跃领域。

GA,我们将从进化性感的语言,但你正在等待您的计算机在一个解决方案,通过一个随机过程绊倒。 研究你的数据,利用好假设,试试就知道你想要什么,并选择了一种方法,可以很好地利用这些。 如果你的第一选择给了差的结果,知道为什么它是如此,而且提高了算法本身或挑一个更好的。



文章来源: When should I use genetic algorithms as opposed to neural networks? [closed]