33

我知道 SVM 被认为是“ANN 杀手”,因为它们会自动选择表示复杂性并找到全局最优值(请参阅此处了解一些 SVM 的赞美引言)。

但这里是我不清楚的地方——所有这些优越性主张是否仅适用于 2 类决策问题的情况,还是更进一步?(我假设它们适用于非线性可分类,否则没人会关心)

因此,我想澄清一些案例的样本:

  • SVM 是否比具有许多类的 ANN 更好?
  • 在在线环境中?
  • 在像强化学习这样的半监督案例中呢?
  • 有没有更好的无监督版本的 SVM?

我不希望有人回答所有这些小问题,而是给出一些一般界限,说明 SVM 在实践中何时优于常见的 ANN 等效项(例如 FFBP、循环 BP、玻尔兹曼机、SOM 等),最好在理论上也是如此。

4

5 回答 5

55

SVM 是否比具有许多类的 ANN 更好您可能指的是支持向量机本质上是一类或二类分类器的事实。事实上,它们是并且没有办法修改 SVM 算法来分类两个以上的类。

SVM 的基本特征是分离最大边距超平面,其位置是通过最大化其与支持向量的距离来确定的。然而,支持向量机通常用于多类分类,这是通过围绕多个支持向量机分类器的处理包装器完成的,这些分类器以“一对多”模式工作——即,训练数据显示给对这些实例进行分类的第一个支持向量机作为“ I 类”或“非 I 类”。然后将第二类中的数据显示给第二个 SVM,该 SVM 将该数据分类为“ II 类”或“非 II 类”"等等。在实践中,这非常有效。因此,正如您所料,与其他分类器相比,SVM 的卓越分辨率不仅限于两类数据。

据我所知,文献中报道的研究证实了这一点,例如,在标题为“支持向量机的性别”的文章中,SVM 报告了 12 平方像素图像中性别识别(男性/女性)的显着更好的分辨率与一组传统的线性分类器相比;SVM 也优于 RBF NN,以及大型集成 RBF NN)。但似乎有大量类似的证据表明 SVM 在多类问题中的优越性能:例如,SVM 在蛋白质折叠识别时间序列预测方面优于 NN 。

我在过去十年左右阅读这些文献的印象是,大多数精心设计的研究——由熟练配置和使用这两种技术的人,以及使用足以抵抗分类的数据以在分辨率上引起一些有意义的差异——报告 SVM 相对于 NN 的优越性能。但正如您的问题所暗示的那样,该性能增量在某种程度上似乎是特定于域的。

例如,在从阿拉伯文字文本中识别作者的比较研究中,NN 的表现优于 SVM;在一项比较信用评级预测的研究中,两个分类器的分辨率没有明显差异;在高能粒子分类研究中也报道了类似的结果 。

我从学术文献中的多个来源中读到,随着训练数据的大小减小,SVM 的性能优于 NN。

最后,从这些比较研究的结果中可以概括的程度可能非常有限。例如,在一项比较 SVM 和 NN 在时间序列预测中的准确性的研究中,研究人员报告说,SVM 确实优于传统的(在分层节点上反向传播)NN,但 SVM 的性能与RBF(径向基函数)NN。

[SVM 是否优于 ANN] 在在线环境中SVM 不用于在线设置(即增量训练)。支持向量机的本质是分离超平面,其位置由少量的支持向量决定。因此,即使是一个额外的数据点,原则上也会显着影响这个超平面的位置。

在像强化学习这样的半监督案例中呢?在 OP 对此答案发表评论之前,我不知道以这种方式使用的神经网络或支持向量机——但它们确实如此。

SVM 最广泛使用的半监督变体被命名为Transductive SVM (TSVM),由Vladimir Vapnick(发现/发明传统 SVM 的同一个人)首次提到。除了它叫什么之外,我对这种技术几乎一无所知,它遵循转导原理(大致横向推理——即从训练数据到测试数据的推理)。显然TSV是文本分类领域的首选技术。

是否有更好的无监督版本的 SVM我不相信 SVM 适合无监督学习。分离基于由支持向量确定的最大边距超平面的位置。这很容易成为我自己有限的理解,但我不知道如果那些支持向量没有标记(即,如果你事先不知道你想要分离什么)会发生这种情况。无监督算法的一个关键用例是当你没有标记数据或者你有并且它严重不平衡时。例如,在线欺诈;在这里,您的训练数据中可能只有少数数据点被标记为“欺诈性账户”(并且通常具有可疑的准确性),而其余 >99% 的数据点被标记为“非欺诈性”。在这种情况下,是 SVM 的典型配置,是一个不错的选择。特别是,训练数据由标记为“非欺诈”和“unk”(或其他一些标签以表明它们不在类中)的实例组成——换句话说,“在决策边界内”和“在决策边界外” 。”

最后我想提一下,在他们“发现” 20 年后,SVM 是 ML 库中根深蒂固的成员。事实上,与其他最先进的分类器相比,始终如一的卓越分辨率是有据可查的。

他们的血统既是他们在许多严格控制的研究中记录的卓越表现的功能,也是他们概念上的优雅。W/r/t 后一点,考虑多层感知器 (MLP),尽管它们通常是优秀的分类器,但由数值优化程序驱动,在实践中很少找到全局最小值;此外,该解决方案没有概念意义。另一方面,构建 SVM 分类器的核心数值优化实际上确实找到了全局最小值。更重要的是,解决方案是实际的决策边界。

不过,我认为 SVM 的声誉在过去几年中有所下降。

我怀疑的主要原因是 NetFlix 的竞争。NetFlix 强调矩阵分解的基本技术的分辨能力,更重要的是组合分类器的能力。早在 NetFlix 之前,人们就将分类器组合在一起,但更多的是作为一种偶然的技术,而不是分类器设计的一个属性。此外,许多用于组合分类器的技术非常易于理解和实现。相比之下,SVM 不仅很难编码(在我看来,这是迄今为止最难在代码中实现的 ML 算法),而且很难配置和实现为预编译库——例如,必须选择内核,结果对数据如何重新缩放/标准化等非常敏感。

于 2011-07-14T22:08:38.653 回答
8

我喜欢道格的回答。我想补充两条评论。

1) Vladimir Vapnick 还共同发明了 VC 维度,这在学习理论中很重要。

2)我认为 SVM 是 2000 年到 2009 年最好的整体分类器,但在 2009 年之后,我不确定。我认为由于深度学习和稀疏去噪自动编码器方面的工作,神经网络最近有了非常显着的改进。我以为我看到了许多性能优于 SVM 的基准测试。例如,参见幻灯片 31

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

我的一些朋友一直在使用稀疏自动编码器技术。使用该技术构建的神经网络明显优于旧的反向传播神经网络。如果有时间,我会尝试在 artent.net 上发布一些实验结果。

于 2012-09-29T15:19:08.020 回答
1

当您拥有良好的功能时,我希望 SVM 会更好。IE,您的功能简洁地捕获了所有必要的信息。如果同一类的实例在特征空间中“聚集在一起”,您可以查看您的特征是否良好。然后带有欧几里得内核的 SVM 应该可以解决问题。从本质上讲,您可以将 SVM 视为一个增压的最近邻分类器,因此只要 NN 做得好,SVM 应该做得更好,通过对您的集合中的示例添加自动质量控制。相反——如果它是一个最近邻(在特征空间中)预计表现不佳的数据集,那么 SVM 也会表现不佳。

于 2012-09-30T01:54:54.483 回答
0

- 有没有更好的无监督版本的 SVM?

这里只回答这个问题。无监督学习可以通过所谓的一类支持向量机来完成。同样,与普通 SVM 类似,有一个元素会促进稀疏性。在正常的 SVM 中,只有几个点被认为是重要的,即支持向量。在一类 SVM 中,只有几个点可用于:

  1. 尽可能远离原点“分离”数据集,或
  2. 定义一个尽可能小的半径。

普通 SVM 的优势延续到这种情况。与密度估计相比,只需要考虑几个点。缺点也随之而来。

于 2014-03-20T10:30:44.253 回答
0

SVM 是否比具有许多类的 ANN 更好?

SVM 已被指定用于离散分类。在转向人工神经网络之前,请尝试随机森林梯度提升高斯概率分类集成方法

在像强化学习这样的半监督案例中呢?

深度 Q 学习提供了更好的选择。

有没有更好的无监督版本的 SVM?

SVM 不适合无监督学习。您还有其他无监督学习的选择:K-Means、分层聚类、TSNE聚类等

从 ANN 角度,可以试试AutoencoderGeneral adversarial network

一些更有用的链接:

走向数据科学

维基百科

于 2019-04-02T18:57:32.070 回答