【问题标题】:Advantages and disadvantages of neural networks神经网络的优缺点
【发布时间】:2012-04-05 10:20:08
【问题描述】:

我是否正确地说神经网络擅长为问题找到“足够好”的解决方案?

我之所以这么想,是因为它们没有为给定的输入提供二进制输出,而是提供概率,例如 0.67 可能是输出。

我也在猜测,因为它们经常被用于泛化,它们擅长找到经常解决问题但在极少数情况下不会解决问题的解决方案。

谢谢!

【问题讨论】:

  • 我已经编辑过,希望它更有意义。
  • 现在比以前好多了,但在这里可能活不了多久了。您可以尝试在 Programmers 上发布此内容(请参阅底部的链接)。关于 SO 的问题应该是关于特定编程问题的,并且应该提供直接、明确的答案。

标签: artificial-intelligence neural-network


【解决方案1】:

这是一个非常广泛的问题。通常,具有一个隐藏层、一个非线性激活函数和足够数量的隐藏神经元的神经网络能够以任意精度逼近任何函数。但是,误差函数不是凸函数,因此训练的结果取决于初始化。

SVM 也能够逼近任何函数。它们非常受欢迎,因为优化问题有一个独特的解决方案,并且可能还有其他一些原因。但最近的研究表明,多层感知器、卷积神经网络、深度信念神经网络、多列深度神经网络等神经网络在具有大量数据的复杂应用中效率更高,效果更好。因此,正如李考所说(没有免费的午餐定理)并且没有分类器是“完美的”,这始终是一种权衡。

这里有一篇论文描述了深度网络与包含支持向量机的“浅层网络”相比的优势:http://yann.lecun.com/exdb/publis/pdf/bengio-lecun-07.pdf

这是一个标准基准和不同学习算法的比较:http://yann.lecun.com/exdb/mnist/

这里有一篇论文描述了一种特别擅长解决一些视觉问题(交通标志识别,ocr)的新型神经网络:http://arxiv.org/abs/1202.2745

【讨论】:

  • 有人能解释一下这个否决票吗?第二句话回答了这个问题。 :)
  • 我对党派之争投了反对票。 “现实世界的应用程序”的说法是未经证实和不必要的。
  • 好的,也许我应该添加一些文件来支持我的主张。对于“现实世界的应用”,我指的是视觉、BCI 数据、具有大输入维度和大量训练集(> 100k 样本)的复杂问题。
【解决方案2】:

这个问题没有简单的答案。神经网络的优缺点是一个非常复杂的话题。这里有一些提示:

  • 没有免费的午餐定理:粗略地说,这个定理证明不存在“完美”的机器学习方法。对于每一个问题,某个方法对它来说是好的,对于另一个问题,同样的方法会非常失败。然而,它失败的方法可以通过其他方法很容易地解决。在进行任何机器学习时都应该考虑到这一点。

  • 神经网络的实现非常简单(您不需要像 SVN 示例那样好的线性代数求解器)。

  • 神经网络的 VC 维度尚不清楚。当您想考虑解决方案的好坏时,这一点非常重要。

  • 无法重新训练神经网络。如果您稍后添加数据,则几乎不可能将其添加到现有网络中。

  • 神经网络通常表现出类似于人类表现出的模式。然而,与实际示例相比,这对认知科学更感兴趣。

  • 在神经网络中处理时间序列数据是一个非常复杂的话题。

这就是我现在能想到的。也许其他人可以添加更多。

【讨论】:

  • 你能解释一下为什么不能重新训练神经网络吗?如果已经学习了权重,并且我们收到了一批新数据,那该批数据不能用于使用从先前模型中学习的权重作为初始权重再次训练模型吗?
  • @vishnuviswanath 不幸的是,我并不真正了解理论背景。在我的实验中,再训练从来没有成功过,网络总是卡住。在大学时,我问过一位神经信息学教授,他还告诉我,反向传播网络的再训练从来没有真正奏效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 1970-01-01
  • 2011-07-24
  • 2012-12-29
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多