SVM 与 MLP(神经网络):通过性能和预测精度进行比较

Posted

技术标签:

【中文标题】SVM 与 MLP(神经网络):通过性能和预测精度进行比较【英文标题】:SVM versus MLP (Neural Network): compared by performance and prediction accuracy 【发布时间】:2012-05-27 04:29:35 【问题描述】:

对于某些图像处理应用程序,我应该在 SVM 和神经网络之间做出选择。分类器必须足够快以实现近实时应用,并且准确性也很重要。由于这是医学应用,因此分类器的低故障率很重要。

哪一个更好?

【问题讨论】:

嗯。与 KNN 等基本分类器相比,两者都不是很快。你的特征向量有多大,你使用什么语言,你有多少训练数据?另外,您也不是很清楚是否要在线学习。 KNN 并不快。它没有训练阶段,没错。但它是一个惰性分类器,这意味着它的预测阶段非常缓慢。 看看ELM 【参考方案1】:

一些附带条件:

ML 分类器的性能可以指 (i) 分类器本身的性能;或 (ii) 谓词步骤的性能:模型构建算法的执行速度。特别是在这种情况下,答案完全不同,具体取决于 OP 中打算使用的两者中的哪一个,因此我将分别回答。

其次,神经网络,我假设您指的是最常见的实现——即前馈、反向传播的单隐藏层感知器。

训练时间 (模型构建器的执行速度)

SVM 与 NN 相比:SVM 慢得多。这有一个直接的原因:SVM 训练需要解决相关的拉格朗日对偶(而不是原始)问题。这是一个二次优化问题,其中变量的数量非常大,即等于训练实例的数量(数据矩阵的“长度”)。

在实践中,如果您的方案中存在两个因素,则可能会抵消这一优势:

NN 训练很容易并行化(通过 map reduce);并行化 SVM 训练并非易事,但也并非不可能——在过去八年左右的时间里,已经发布了几个实现并证明可以工作 (https://bibliographie.uni-tuebingen.de/xmlui/bitstream/handle/10900/49015/pdf/tech_21.pdf)

多类分类问题 SVM 是二类分类器。它们可以适应多类问题,但这从来都不是直截了当的,因为 SVM 使用直接决策功能。 (将 SVM 修改为多类问题的一个很好的来源是 S. Abe,Support Vector Machines for Pattern Classification,Springer,2005)。这种修改可能会消除 SVM 相对于 NN 的任何性能优势:例如,如果您的数据具有 两个以上的类并且您选择使用 连续分类(又名一对多分类)在 哪些数据被馈送到第一个 SVM 分类器,该分类器对 class Iother 的数据点;如果课程不是那么 数据点被馈送到第二个分类器,该分类器对其进行分类 二级其他等。

预测性能 (模型的执行速度)

SVM 的性能明显高于 NN。对于三层(一个隐藏层)NN,预测需要将输入向量连续乘以两个二维矩阵(权重矩阵)。对于 SVM,分类涉及确定给定点位于决策边界的哪一侧,即 余弦积

预测准确度

“故障率”我假设您的意思是错误率,而不是分类器在生产使用中的故障。如果是后者,那么 SVM 和 NN 之间几乎没有差异——这两种模型通常在数值上都是稳定的。

比较两个模型的预测准确性,并假设两者都经过适当的配置和训练,SVM 将优于 NN

scientific literature 中详细记录了 SVM 相对于 NN 的卓越分辨率。确实,这样的比较取决于两个模型的数据、配置和参数选择。事实上,这种比较已经被广泛研究——也许是所有可以想象的参数空间——结果如此一致,即使在不切实际的情况下存在一些例外(尽管我不知道)也不应该干扰 SVM 优于 NN 的结论。

为什么 SVM 优于 NN?

这两种模型基于根本不同的学习策略。

在 NN 中,调整网络权重(NN 的拟合参数,在训练期间调整)以使网络输出与实际值(目标)之间的平方和误差最小化。

相比之下,训练 SVM 意味着直接从训练数据中明确确定决策边界。这当然是构建 SVM 模型所需的优化问题的谓词步骤:最小化最大边距超平面和支持向量之间的总距离。

在实践中,虽然配置算法来训练 SVM 比较困难。原因是由于配置所需的参数数量很大(与 NN 相比):

内核选择

内核参数的选择

margin参数值的选择

【讨论】:

NN 如何训练 MapReduce 问题? @FredFoo 特征映射到隐藏层节点,并减少到输出(或更深的节点) 这是 2017 年非常有趣的一篇文章。当深度学习达到顶峰时。 SVM 目前在许多任务中的表现并不优于 NN,尤其是在高维时。 @dev_nut 确实如此,我同意您的进一步描述;话虽如此,我认为道格为了便于并行化而将他的头直接拧在了三角洲上;读者仍然需要了解这将在以后提供的好处。我还认为,呼吁“明确确定决策边界”是对这两种方法之间差异的深刻描述;值得自己投票。最后,我认为他的预测性能部分可能仍然有效,尽管我认为预测解析部分并没有给 ANN 带来公平的震动 人工神经网络并没有受到公平的影响,我猜想——在查看证据之前,必须说——链接分析中的人工神经网络和支持向量机都负责对数据进行分类大幅缩减尺寸,这将消除人工神经网络擅长的基础。

以上是关于SVM 与 MLP(神经网络):通过性能和预测精度进行比较的主要内容,如果未能解决你的问题,请参考以下文章

在 SVM 和 MLP 分类器之间进行选择

svr算法和svm算法哪个好

MLP多层感知机网络——BPN反向传播神经网络

MLP神经网络,GRNN神经网络,SVM神经网络以及深度学习神经网络对比识别人体健康非健康数据

如何进行交叉验证 SVM 分类器

与随机森林相比,SVM 性能较差