人工神经网络比支持向量机有什么优势? [关闭]
classification
machine-learning
neural-network
svm
5
0

ANN(人工神经网络)和SVM(支持向量机)是有监督的机器学习和分类的两种流行策略。哪种方法对特定项目更好并不总是很清楚,我敢肯定答案总是“取决于情况”。通常,将两者与贝叶斯分类一起使用。

关于ANN与SVM的关于Stackoverflow的这些问题已经被提出:

ANN和SVM分类

我的分类问题中ANN,SVM和KNN之间有什么区别

支持矢量机还是人工神经网络进行文本处理?

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

(1)ANN通常会收敛于局部最小值,而不是全局最小值,这意味着它们有时本质上是“缺少全局”(或缺少树木的森林)

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

SVM不会遇到这两个问题。然而,将SVM完全替代ANN并不是很明显。那么,与支持向量机相比,人工神经网络具有哪些特定优势,可能使其适用于某些情况?我已经列出了SVM相对于ANN的特定优势,现在,我希望看到ANN优势的列表(如果有)。

参考资料:
Stack Overflow
收藏
评论
共 6 个回答
高赞 时间 活跃

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

例如,如果目标是对手写数字进行分类,那么十个支持向量机就可以。每个支持向量机将只能识别一个数字,而不能识别所有其他数字。由于每个手写数字都不能仅仅包含其类别,因此不能包含更多信息,因此尝试使用人工神经网络解决该问题没有任何意义。

但是,假设目标是根据易于测量的生理因素(例如自上次进餐以来的时间,心率等)对人的激素平衡(针对几种激素)进行建模,因为这些因素都是相互关联的,人工神经网络回归比支持向量机回归更有意义。

收藏
评论

我在这里缺少一个答案:多层感知器能够找到要素之间的关系。例如,在计算机视觉中,必须将原始图像提供给学习算法并计算出复杂的特征。本质上,中间级别可以计算新的未知功能。

收藏
评论

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

假设您在I = [0,1]上有界函数f(。)和有界通用逼近器,范围又是I = [0,1],例如,它们由紧致支持U(。,a)的实数序列参数化存在一个序列序列的性质

lim sup { |f(x) - U(x,a(k) ) | : x } =0

然后绘制示例和测试(x,y)并在IxI上分配D。

对于规定的支持,您要做的是找到最好的

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

令这个a=aa是一个随机变量!,则过拟合为

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

让我解释一下为什么,如果选择aa以使误差最小化,那么对于极少的一组值,您就可以完美拟合。但是,由于它们很少见,所以平均值永远不会为0。尽管您对D的离散近似值,但您想最小化第二个值。请记住,支撑长度是自由的。

收藏
评论

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

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

而且,与在线SVM拟合相比,FF网络的在线培训非常简单,并且预测速度会更快。

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

收藏
评论

要注意的一件事是两者实际上是非常相关的。线性SVM等效于单层NN(即感知器),多层NN可以用SVM表示。有关详细信息,请参见此处

收藏
评论

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

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号