支持向量机 - 比学习情境的人工神经网络更好?

zer*_*ord 32 machine-learning svm reinforcement-learning neural-network

我知道SVM被认为是'ANN杀手',因为它们会自动选择表示复杂性并找到全局最优(这里有一些SVM称赞引用).

但这里我还不清楚 - 所有这些优势主张只针对2级决策问题的情况还是更进一步?(我认为它们适用于非线性可分类,否则没有人会关心)

所以我想要澄清一些案例的样本:

  • SVM是否比具有多个类的ANN更好?
  • 在线设置?
  • 在强化学习这样的半监督案例中怎么样?
  • 是否有更好的无监督版SVM?

我不希望有人回答所有这些lil'子问题,而是在实践中给出SVM优于常见ANN等价物(例如FFBP,循环BP,Boltzmann机器,SOM等)的一般界限.并且优选地,理论上也是如此.

dou*_*oug 53

SVM比许多类的ANN更好吗?您可能指的是SVM本质上是一类或两类分类器的事实.实际上它们是并且没有办法修改SVM算法来对两个以上的类进行分类.

SVM的基本特征是分离最大边缘超平面,其位置通过最大化其与支持向量的距离来确定.然而,SVM通常用于多类分类,这是通过围绕多个SVM分类器的处理包装来实现的,这些分类器以"一对多"模式工作 - 即,训练数据显示给第一个SVM,它对这些实例进行分类作为"第一 "或" 不是第一类 ".然后将第二类中的数据显示给第二SVM,该SVM将该数据分类为" II类 "或" 非II类 ",依此类推.在实践中,这非常有效.正如您所料,与其他分类器相比,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不用于在线设置(即增量培训).SVM的本质是分离超平面,其位置由少量支持向量确定.因此,即使单个附加数据点原则上也可能显着影响该超平面的位置.

在强化学习这样的半监督案例中怎么在OP对这个答案的评论之前,我并不知道神经网络或SVM以这种方式使用 - 但它们是.

最广泛使用的半监督的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算法),而且难以配置和实现为预编译库 - 例如,必须选择内核,结果对数据如何重新缩放/标准化等非常敏感.


Han*_*dal 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上发布一些实验结果.