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

人工神经网络(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

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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