本文介绍了人工神经网络优于支持向量机的优势是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

ANN (Artificial Neural Networks) and SVM (Support Vector Machines) are two popular strategies for supervised machine learning and classification. It's not often clear which method is better for a particular project, and I'm certain the answer is always "it depends." Often, a combination of both along with Bayesian classification is used.

关于ANN与SVM的关于Stackoverflow的这些问题已经被问到了:

These questions on Stackoverflow have already been asked regarding ANN vs SVM:

ANN和SVM分类

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

为文本提供支持向量机或人工神经网络处理中?

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

In this question, I'd like to know specifically what aspects of an ANN (specifically, a Multilayer Perceptron) might make it desirable to use over an SVM? The reason I ask is because it's easy to answer the opposite question: Support Vector Machines are often superior to ANNs because they avoid two major weaknesses of ANNs:

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

(1) ANNs often converge on local minima rather than global minima, meaning that they are essentially "missing the big picture" sometimes (or missing the forest for the trees)

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

(2) ANNs often overfit if training goes on too long, meaning that for any given pattern, an ANN might start to consider the noise as part of the pattern.

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

SVMs don't suffer from either of these two problems. However, it's not readily apparent that SVMs are meant to be a total replacement for ANNs. So what specific advantage(s) does an ANN have over an SVM that might make it applicable for certain situations? I've listed specific advantages of an SVM over an ANN, now I'd like to see a list of ANN advantages (if any).

推荐答案

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

Judging from the examples you provide, I'm assuming that by ANNs, you mean multilayer feed-forward networks (FF nets for short), such as multilayer perceptrons, because those are in direct competition with SVMs.

这些模型相对于SVM具有的一个特殊好处是它们的大小是固定的:它们是参数模型,而SVM是非参数模型.也就是说,在人工神经网络中,您有一堆尺寸为 h h ,具体取决于功能的数量,偏差参数以及构成模型的参数.相比之下,SVM(至少是一个内核化的)由一组支持向量组成,这些向量从训练集中选择,每个向量都有权重.在最坏的情况下,支持向量的数量恰好是训练样本的数量(尽管主要是在小的训练集或退化的情况下出现),并且通常其模型大小是线性缩放的.在自然语言处理中,并非没有听说过具有数以万计的支持向量的SVM分类器,每个支持向量具有成千上万的特征.

One specific benefit that these models have over SVMs is that their size is fixed: they are parametric models, while SVMs are non-parametric. That is, in an ANN you have a bunch of hidden layers with sizes h through h depending on the number of features, plus bias parameters, and those make up your model. By contrast, an SVM (at least a kernelized one) consists of a set of support vectors, selected from the training set, with a weight for each. In the worst case, the number of support vectors is exactly the number of training samples (though that mainly occurs with small training sets or in degenerate cases) and in general its model size scales linearly. In natural language processing, SVM classifiers with tens of thousands of support vectors, each having hundreds of thousands of features, is not unheard of.

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

Also, online training of FF nets is very simple compared to online SVM fitting, and predicting can be quite a bit faster.

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

EDIT: all of the above pertains to the general case of kernelized SVMs. Linear SVM are a special case in that they are parametric and allow online learning with simple algorithms such as stochastic gradient descent.

这篇关于人工神经网络优于支持向量机的优势是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-01 08:55