神经网络与支持向量机:第二种绝对优越吗?


52

我阅读过许多论文的作者都断言,支持向量机是解决其回归/分类问题的上乘技术,他们意识到通过神经网络无法获得相似的结果。比较经常指出

SVM,而不是NN,

  • 有很强的创立理论
  • 由于二次编程,达到全局最优
  • 选择适当数量的参数没有问题
  • 不太容易过拟合
  • 需要更少的内存来存储预测模型
  • 产生更具可读性的结果和几何解释

是认真对待的一个被广泛接受的思想吗?不要引用免费午餐定理或类似的陈述,我的问题是关于这些技术的实际使用。

另一方面,NN肯定会面对哪种抽象问题?


4
我认为这个问题可能有点广泛。但是在实践中,NN似乎可以通过选择NN结构进行调整,而SVM具有较少的参数。有两个问题,如果为解决问题而最佳地设置了神经网络,与SVM相比情况如何?在普通实践者的手中,SVM与NN有何比较?
Patrick Caldon 2012年

2
@PatrickCaldon我理解您的观点,但是,如果您不知道如何以合适的方式配置它们,那么处理更多的参数并不总是意味着更好的工具。即使可能,也可能需要进行长时间的研究;或者,对于您的应用而言,您可能不需要如此广泛的可调性
stackovergio

1
这就是我的意思。在理想情况下,特定问题上该工具如何发挥作用?还是大多数时间该工具如何对大多数人有效?我认为这里最大的组成部分是人。因此,我认为相关因素通常是:每个工具的学习难度如何?周围有人知道如何使用它吗?等等。这可以说明很多“我在X方面表现出色”
Patrick Caldon 2012年

1
据我所知,多层前馈ANN或多或少是通用逼近器,与激活函数无关。我不知道SVM的类似结果,这更多地取决于我所使用的内核功能。
Momo 2012年

2
在实际使用中,由于训练时间的缘故,我发现NN更加实用。非线性SVM不能很好地处理大N。两种算法都可能过拟合,并且都需要强正则化。
Shea Parkes 2012年

Answers:


43

这是一个权衡的问题。SVM 现在就,NN以前就。您会发现越来越多的论文声称存在随机森林,概率图形模型或非参数贝叶斯方法有人应在《不可能的研究纪事》中发布关于哪些模型将被视为髋关节的预测模型。

前面已经说过,对于许多著名的困难监督问题,性能最好的单个模型是某种类型的NN,某种类型的SVM或使用信号处理方法实现的特定于问题的随机梯度下降方法。


NN的优点:

  • 它们在可以支持的数据类型方面非常灵活。NN基本上可以从任何数据结构中学习重要特征,而无需手动获得特征。
  • NN仍然受益于要素工程,例如,如果您具有长度和宽度,则应该拥有区域要素。对于相同的计算量,该模型将具有更好的性能。

  • 大多数有监督的机器学习都要求您将数据结构化为按特征矩阵的观察值,并将标签作为长度观察值的向量。对于NN,此限制不是必需的。结构化SVM的工作非常出色,但是它不可能像NN一样灵活。


SVM的优点:

  • 较少的超参数。通常,SVM需要较少的网格搜索来获得合理准确的模型。具有RBF内核的SVM通常表现良好。

  • 全球最佳保证。


NN和SVM的缺点:

  • 在大多数情况下,它们都是黑匣子。有一些关于解释SVM的研究,但我怀疑它会像GLM一样直观。在某些问题域中,这是一个严重的问题。
  • 如果您要接受黑匣子,那么通常可以通过打包/堆叠/提升许多具有不同权衡的模型来提高准确性。

    • 随机森林之所以具有吸引力,是因为它们可以毫不费力地生成袋外预测(留一出预测),它们可以很好地解释,它们具有良好的偏差-平衡权衡(对于装袋模型而言非常好),并且对选择偏见相对有力。编写并行实现非常简单。

    • 概率图形模型很有吸引力,因为它们可以将特定领域的知识直接纳入模型中,并且在这方面可以解释。

    • 非参数(或实际上非常参数化)的贝叶斯方法很有吸引力,因为它们直接产生置信区间。它们在小样本量时表现很好,在大样本量时表现很好。编写线性代数的实现非常简单。


41
我想说,随着最近深度学习的兴起,与SVM相比,可以将NN视为“更多”。
bayerj 2012年

30

根据我的经验,您的问题的答案是“否”,SVM并非绝对出色,并且哪种方法效果最佳取决于手头数据集的性质以及操作员使用每套工具的相对技能。通常,SVM很好,因为训练算法高效且具有正则化参数,这迫使您考虑正则化和过度拟合。但是,在某些数据集中,MLP的性能要比SVM好得多(因为允许它们决定自己的内部表示,而不是由内核功能预先指定)。良好的MLP实现(例如NETLAB)和正则化,早期停止或架构选择(或者更好的是全部三个)通常可以产生非常好的结果,并且是可重现的(至少在性能方面)。

模型选择是SVM的主要问题,如果对模型选择标准进行了过度优化,那么选择内核以及优化内核和正则化参数通常会导致严重的过度拟合。虽然支持SVM的理论是一种安慰,但它大多数仅适用于固定内核,因此,一旦尝试优化内核参数,它就不再适用(例如,在调整内核时要解决的优化问题)通常是非凸的,并且可能具有局部最小值)。


7
我完全同意这一点。我目前正在训练有关脑机接口数据的SVM和ANN,有些数据集的SVM更好,而有些数据集的ANN更好。有趣的是:当我平均使用的所有数据集的性能时,SVM和ANN的性能完全相同。当然,这不是证明。这只是一个轶事。:)
alfa

27

我将尽力解释我的观点,这些观点似乎得到了大多数朋友的认同。我对NN完全没有支持SVM的以下问题:

  1. 在经典的NN中,参数的数量非常多。假设您要将长度为100的向量分为两类。一个与输入层大小相同的隐藏层将导致您获得超过100000个自由参数。试想一下,您会过度拟合的严重程度(在这样的空间内下降到局部最小值的难易程度)以及防止该误差的所需训练点数(然后需要训练多少时间)。
  2. 通常,您必须是真正的专家才能一眼选择拓扑。这意味着,如果您想获得良好的结果,则应该进行大量的实验。这就是为什么使用SVM并告诉您使用NN无法获得相似结果的原因。
  3. 通常,NN结果不可重现。即使您进行了两次NN训练,由于学习算法的随机性,您可能也会得到不同的结果。
  4. 通常,您完全不了解结果。这是一个小问题,但无论如何。

这并不意味着您不应该使用NN,而应该仔细使用它。例如,卷积神经网络对于图像处理可能是非常好的,其他深度神经网络也被证明对其他问题也有好处。

希望它会有所帮助。


2
为了使ANN结果可再现,请为随机函数设定种子。
Franck Dernoncourt,2016年

@Franck这不是真正的可重复性。
健全性,

17

我正在使用神经网络解决大多数问题。关键是,在大多数情况下,更多的是用户体验而不是模型。这就是为什么我喜欢NN的一些原因。

  1. 它们很灵活。我可以给他们带来任何损失:铰链损失,平方,交叉熵,随便你怎么说。只要有区别,我什至可以设计出完全适合我需求的损耗。
  2. 可以概率地对待它们:贝叶斯神经网络,变分贝叶斯,MLE / MAP,一切都在那里。(但在某些情况下更困难。)
  3. 他们很快。大多数MLP将是两次矩阵乘法,并且在两者之间逐个应用非线性。用SVM击败它。

我将逐步介绍您的其他观点。

有很强的创立理论

我想说,在这种情况下,神经网络同样强大:因为您是在概率框架中训练它们的。这使得可以使用先验和贝叶斯处理(例如,使用变分技术或近似法)。

由于二次编程,达到全局最优

对于一组超参数。但是,要寻找好的hp是非凸的,因此您将不知道是否也找到了全局最优值。

选择适当数量的参数没有问题

使用SVM,还必须选择超级参数。

需要更少的内存来存储预测模型

您需要存储支持向量。通常,支持SVM存储MLP并不便宜,这取决于具体情况。

产生更具可读性的结果和几何解释

在分类的情况下,MLP的顶层是逻辑回归。因此,存在几何解释(超平面分离)和概率解释。


为什么需要存储支持向量?存储SVM的超平面/功能还不够吗?
朱利安(Julian)

这是因为超平面是通过支持向量表示的。要计算新点到新点的距离,您将迭代这些点。
bayerj

0

在某些方面,这两种广泛的机器学习技术是相关的。虽然并不完美,但我发现有两篇文章有助于说明这些技术的相似之处,如下

Ronan Collobert和Samy Bengio。2004年。感知器,MLP和SVM之间的链接。在二十一届机器学习国际会议论文集(ICML '04)中。美国纽约州纽约市ACM,23-。DOI:https//doi.org/10.1145/1015330.1015415

安德拉斯,彼得。(2002)。支持向量机和正则化神经网络的等效性。神经处理字母。15. 97-104。10.1023 / A:1015292818897。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.