人工神经网络相对于支持向量机有什么优势?

Cha*_*l72 374 classification machine-learning svm neural-network

ANN(人工神经网络)和SVM(支持向量机)是监督机器学习和分类的两种流行策略.通常不清楚哪种方法对特定项目更好,而且我确定答案总是"它取决于".通常,使用两者的组合以及贝叶斯分类.

有关ANN与SVM的问题已经在Stackoverflow上提出了这些问题:

ANN和SVM分类

ANN,SVM和KNN在我的分类问题上有什么区别

支持向量机或人工神经网络进行文本处理?

在这个问题中,我想具体了解人工神经网络(特别是多层感知器)的哪些方面可能需要在SVM上使用?我问的原因是因为很容易回答相反的问题:支持向量机通常优于人工神经网络,因为它们避免了人工神经网络的两个主要缺点:

(1)人工神经网络通常会集中在局部最小值而不是全局最小值,这意味着它们有时基本上"错过了大局"(或者错过了树木的森林)

(2)如果训练时间过长,人工神经网络常常过度拟合,这意味着对于任何给定的模式,人工神经网络可能会开始将噪声视为模式的一部分.

SVM不会遇到这两个问题中的任何一个.然而,并不是很明显SVM应该是人工神经网络的完全替代品.那么人工神经网络对SVM有哪些具体优势可能使其适用于某些情况?我已经列出了SVM相对于ANN的特定优势,现在我想看一下ANN优势列表(如果有的话).

Fre*_*Foo 134

从您提供的示例来看,我假设通过ANN,您的意思是多层前馈网络(简称FF网络),例如多层感知器,因为它们与SVM直接竞争.

这些模型相对于SVM的一个特定好处是它们的大小是固定的:它们是参数模型,而SVM是非参数模型.也就是说,在ANN中,您有一堆隐藏层,大小为h 1h n,具体取决于要素的数量,加上偏差参数,以及构成模型的那些.相比之下,SVM(至少是核心化的)由一组支持向量组成,这些支持向量从训练集中选择,每个支持向量具有权重.在最坏的情况下,支持向量的数量正好是训练样本的数量(尽管主要发生在小训练集或退化情况下),并且通常其模型大小线性地缩放.在自然语言处理中,具有数万个支持向量的SVM分类器(每个都具有数十万个特征)并非闻所未闻.

此外,与在线SVM拟合相比,FF网络的在线培训非常简单,并且预测可以快得多.

编辑:以上所有内容都与内核SVM的一般情况有关.线性SVM是一种特殊情况,它们参数化的,允许使用简单算法(如随机梯度下降)进行在线学习.

  • 另一个原因可以在本文中找到:http://yann.lecun.com/exdb/publis/pdf/bengio-lecun-07.pdf.简而言之,作者指出"深层架构"可以比像SVM这样的"浅层架构"更有效地表示"智能"行为/功能等. (12认同)
  • @MuhammadAlkarouri:深度学习是一套非常广泛的技术,但我熟悉的技术保留了参数模型(固定大小)的优势. (6认同)

Ala*_*lan 60

人工神经网络相对于支持向量机的一个明显优势是人工神经网络可以具有任意数量的输出,而支持向量机只有一个.使用支持向量机创建n-ary分类器的最直接方法是创建n个支持向量机并逐个训练它们.另一方面,可以一次训练具有神经网络的n元分类器.此外,神经网络将更有意义,因为它是一个整体,而支持向量机是孤立的系统.如果输出是相互关联的,这尤其有用.

例如,如果目标是对手写数字进行分类,则可以使用十个支持向量机.每个支持向量机只能识别一个数字,并且无法识别所有其他数字.由于每个手写数字不能仅仅意味着保存比其类更多的信息,因此尝试用人工神经网络解决这个问题是没有意义的.

然而,假设目标是模拟一个人的激素平衡(对于几种激素)作为易于测量的生理因素的函数,例如自上次进餐以来的时间,心率等...由于这些因素都是相互关联的,人工神经网络回归比支持向量机回归更有意义.

  • 实际上,支持向量机存在真正的多类公式(参见Crammer和Singer的论文).我相信LibSVM包含这些的实现. (17认同)
  • 然而,训练多类SVM并不是那么容易,并且在OVA中的性能似乎比AVA方法更好. (3认同)
  • "尝试用人工神经网络解决这个问题毫无意义"你可以使用神经网络来解决手写数字的分类问题.我已经完成了这个课程的新任务.输出层包含所有数字的概率.具有最高概率的类被用作假设.我有94%的准确率. (3认同)

Bry*_*yce 46

需要注意的是,这两者实际上非常相关.线性SVM等效于单层NN(即,感知器),并且多层NN可以用SVM表示.请看这里了解一些细节.


小智 18

如果要使用内核SVM,则必须猜测内核.然而,人工神经网络是通用的近似,只有猜测要做的是宽度(近似精度)和高度(近似效率).如果您正确设计了优化问题,则不要过度拟合(请参阅参考书目以了解过度拟合).如果它们正确且一致地扫描搜索空间,它还取决于训练示例.宽度和深度发现是整数编程的主题.

假设你在I = [0,1]上有有界函数f(.)和有界通用逼近器,并且范围再次为I = [0,1],例如由紧凑支持U(.,a)的实数序列参数化存在序列序列的属性

lim sup { |f(x) - U(x,a(k) ) | : x } =0
Run Code Online (Sandbox Code Playgroud)

并且您(x,y)使用分布D 绘制示例和测试IxI.

对于规定的支持,你所做的就是找到最好的支持

sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal
Run Code Online (Sandbox Code Playgroud)

设这a=aa是一个随机变量!,然后过拟合

平均使用 D and D^{N} of ( y - U(x,aa) )^{2}

让我解释一下为什么,如果你选择aa使误差最小化,那么对于一组罕见的值,你就完全适合了.但是,由于它们很少见,因此平均值永远不会为0.尽管您对D有一个离散近似值,但您希望最小化第二个.请记住,支持长度是免费的.


dol*_*lbi 14

我在这里缺少一个答案:多层感知器能够找到特征之间的关系.例如,在向计算算法提供原始图像并且现在计算复杂特征时,在计算机视觉中是必要的.基本上,中间级别可以计算新的未知特征.


小智 12

我们还应该考虑SVM系统可以直接应用于非度量空间,例如标记图形或字符串集.实际上,只要满足内核的正定性要求,内部内核函数就可以适当地推广到几乎任何类型的输入.另一方面,为了能够在一组标记图上使用ANN,必须考虑显式嵌入过程.

  • 在我看来,构建一个敏感的内核并构建一个合理的度量嵌入同样存在问题.所以这只是一个评论,可能有更多不同的内核而不是指标,但我并不真的买.http://www.ohli.de/download/papers/Deza2009.pdf (5认同)