人工神经网络相较于支持向量机的优势是什么?

人工神经网络(ANNs)和支持向量机(SVMs)是两种流行的监督机器学习和分类策略。通常不清楚哪种方法对特定项目更好,我确信答案总是“看情况而定”。通常,两者的组合,再加上贝叶斯分类,会被使用。

关于ANN与SVM的比较,Stack Overflow上已经有以下问题被提问过:

在这个问题中,我想知道具体来说,ANN(特别是多层感知器)的哪些方面可能使其比SVM更受欢迎?我问这个的原因是因为回答相反的问题很容易:支持向量机通常优于ANNs,因为它们避免了ANNs的两个主要弱点:

(1)ANNs经常收敛于局部最小值而不是全局最小值,这意味着它们有时本质上是“错过了大局”(或因小失大)。

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

SVMs不会遭受这两个问题中的任何一个。然而,并不明显SVMs旨在完全替代ANNs。那么,ANN相对于SVM有什么具体的优势,可能使其适用于某些情况?我已经列出了SVM相对于ANN的具体优势,现在我想看到ANN的优势列表(如果有的话)。


回答:

从您提供的例子来看,我假设您所说的ANNs是指多层前馈网络(简称FF网),例如多层感知器,因为它们与SVMs直接竞争。

这些模型相对于SVMs的一个具体优势是它们的尺寸是固定的:它们是参数化模型,而SVMs是非参数化的。也就是说,在ANN中,您有一组隐藏层,大小为h1hn,取决于特征的数量,再加上偏置参数,这些构成了您的模型。相比之下,SVM(至少是核化的SVM)由一组从训练集中选出的支持向量组成,每个向量都有一个权重。在最坏的情况下,支持向量的数量恰好等于训练样本的数量(虽然这主要发生在小训练集或退化情况下),并且其模型尺寸通常是线性增长的。在自然语言处理中,具有数万个支持向量,每个向量具有数十万个特征的SVM分类器并不罕见。

此外,FF网的在线训练与在线SVM拟合相比非常简单,并且预测速度可能快得多。

以上所有内容都适用于核化SVM的一般情况。线性SVM是一个特例,因为它们参数化的,并且允许使用简单算法(如随机梯度下降)进行在线学习。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注