支持向量机和神经网络
artificial-intelligence
machine-learning
neural-network
svm
5
0

SVM和神经网络有什么区别?线性svm是否是相同的NN,对于非线性可分离问题,NN使用添加隐藏层,而SVM使用更改空间尺寸,这是真的吗?

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

这个问题有两个部分。第一部分是“通过这些方法学习的功能形式是什么?”对于NN和SVM,这通常是相同的。例如,单个隐藏层神经网络使用与SVM完全相同的模型形式。那是:

给定输入向量x,输出为:output(x)= sum_over_all_i weight_i * linear_function_i(x)

通常,非线性函数还将具有一些参数。因此,这些方法需要了解应使用多少个非线性函数,它们的参数是什么以及所有weight_i权重的值应该是多少。

因此,SVM和NN之间的区别在于它们如何决定应将这些参数设置为什么。通常,当有人说他们正在使用神经网络时,这意味着他们试图找到相对于一组训练示例而言最小化均方预测误差的参数。他们几乎总是会使用随机梯度下降优化算法来做到这一点。另一方面,SVM尝试最小化训练误差和某种程度的“假设复杂性”。因此,他们将找到一组适合数据但在某种意义上也是“简单”的参数。您可以将其视为Occam的机器学习剃刀。与SVM一起使用的最常见的优化算法是顺序最小优化

两种方法之间的另一个大区别是,当使用NN实现的方式时,不能保证随机梯度下降法可以找到最佳的参数集。但是,任何体面的SVM实现都将找到最佳的参数集。人们喜欢说神经网络陷入了局部最小值,而SVM却没有。

收藏
评论

NN是启发式的,而SVM在理论上是建立的。确保SVM朝着PAC(可能近似正确)的最佳解决方案收敛。例如,对于两个线性可分离类,SVM将直接在两个类的最近点(它们成为支持向量 )之间的中间位置绘制分离超平面。神经网络会画出任何一条线来分隔样本,这对于训练集是正确的,但可能没有最佳的归纳属性。

因此,即使对于线性可分离的问题,NN和SVM也不相同。

在线性不可分类的情况下,SVM和NN都将非线性投影应用于高维空间。在神经网络的情况下,这是通过在隐藏层中引入其他神经元来实现的。对于SVM,使用内核功能具有相同的效果。核函数的一个整洁的特性是,计算复杂度不会随维数的增加而增加,而对于神经网络,显然它随神经元数的增加而增加。

收藏
评论

在几个流行的回归和分类数据集上对支持向量机和神经网络 (无任何参数选择)进行简单的开箱即用的比较,显示出实际的差异:如果要支持的支持向量很多,SVM会成为非常慢的预测指标在神经网络的预测速度快得多而模型大小小得多的情况下创建的。另一方面,SVM的训练时间要短得多。关于准确性/损失-尽管存在神经网络在理论上的缺陷-两种方法都是同等的-特别是对于回归问题,神经网络通常优于支持向量机。根据您的特定问题,这可能有助于选择正确的模型。

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

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号