Artificial intelligence 支持向量机与神经网络

Artificial intelligence 支持向量机与神经网络,artificial-intelligence,machine-learning,neural-network,svm,Artificial Intelligence,Machine Learning,Neural Network,Svm,支持向量机和神经网络的区别是什么? 线性支持向量机是否与神经网络相同?对于非线性可分离问题,神经网络使用添加隐藏层,而支持向量机使用改变空间维度?这个问题有两个部分。第一部分是“通过这些方法学习的函数的形式是什么?”对于NN和SVM,这通常是相同的。例如,单隐层神经网络使用与SVM完全相同的模型形式。即: 给定输入向量x,输出为: 输出(x)=所有权重之和*非线性函数 一般来说,非线性函数也会有一些参数。因此,这些方法需要了解应该使用多少非线性函数,它们的参数是什么,以及所有权重的值应该是什么

支持向量机和神经网络的区别是什么?
线性支持向量机是否与神经网络相同?对于非线性可分离问题,神经网络使用添加隐藏层,而支持向量机使用改变空间维度?

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

给定输入向量x,输出为: 输出(x)=所有权重之和*非线性函数

一般来说,非线性函数也会有一些参数。因此,这些方法需要了解应该使用多少非线性函数,它们的参数是什么,以及所有权重的值应该是什么

因此,支持向量机和神经网络的区别在于它们如何决定这些参数应该设置为什么。通常,当有人说他们正在使用神经网络时,他们的意思是,他们试图找到使一组训练示例的均方预测误差最小化的参数。他们也几乎总是使用优化算法来实现这一点。另一方面,支持向量机试图最小化训练误差和一些“假设复杂性”度量。因此,他们将找到一组适合数据的参数,但在某种意义上也是“简单的”。你可以把它想象成奥卡姆机器学习的剃刀。支持向量机最常用的优化算法是


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

在几个流行的回归和分类数据集上运行一个简单的(没有任何参数选择)可以证明实际的差异:如果创建了许多支持向量,那么SVM将成为一个非常缓慢的预测器,而神经网络的预测速度要快得多,模型大小要小得多。另一方面,支持向量机的训练时间要短得多。关于精度/损失-尽管神经网络的上述理论缺点-这两种方法都是一致的-特别是回归问题,神经网络往往优于支持向量机。根据您的具体问题,这可能有助于选择正确的型号

神经网络是启发式的,而支持向量机是理论上建立的。支持向量机保证在PAC(可能是近似正确的)意义上收敛到最佳解。例如,对于两个线性可分类,SVM将直接在两个类的最近点之间绘制分离超平面(这些点成为支持向量)。神经网络将绘制任何分隔样本的线,这对于训练集来说是正确的,但可能没有最好的泛化特性

所以不,即使对于线性可分问题,NNs和SVM也不一样


对于线性不可分类,支持向量机和神经网络都将非线性投影应用到高维空间。对于NNs,这是通过在隐藏层中引入额外的神经元来实现的。对于支持向量机,使用核函数达到相同的效果。核函数的一个巧妙特性是,计算复杂度不随维数的增加而增加,而对于NNs,计算复杂度明显随神经元的数量而增加。

实际上,它们彼此完全等价。唯一的区别在于它们的标准实现,包括激活函数和正则化等的选择,它们之间明显不同。此外,我还没有看到神经网络的对偶公式,但支持向量机正朝着原始方向发展。

支持向量机和神经网络与感知机具有相同的构造块,但支持向量机还使用了一种内核技巧,通过平移将维从say 2提高到3d,例如Y=(x1,2,…^2,y1,2…^2)它可以用一条直线分开线性不可分割的平原。想要一个这样的演示并问我:)

实际上,你的大部分假设通常都是正确的。我将详细说明:对于线性可分离类,线性支持向量机工作得非常好,而且训练速度更快。对于非线性类,有一个核心技巧,就是将数据发送到更高维空间。然而,与NN相比,该技巧有两个缺点。首先,您必须搜索正确的参数,因为只有在高维中,两个集合是线性可分离的,分类器才会工作。现在,测试参数通常是通过网格搜索来完成的,这会耗费CPU时间。另一个问题是,整个技术没有NN那么通用(例如,NLP if常常导致较差的分类器)。

支持向量机(SVM)和人工神经网络(ANN)都是有监督的机器学习分类器。ANN是一种参数分类器,在训练阶段使用超参数调整。SVM是一种非参数分类器,它可以找到一个线性向量(如果使用线性核)来分离类。实际上,在模型性能方面,支持向量机有时相当于浅层神经网络结构。通常,当存在大量训练实例时,ANN将优于SVM,但是,在所有问题上,两者都不优于另一种

我们可以将ANN相对于SVM的优势总结如下: 人工神经网络可以通过为每一类产生概率来处理多类问题。相反,支持向量机使用独立的一对所有分类器处理这些问题,其中每个分类器产生一个二进制输出。例如,可以训练一个ANN来解决手写数字问题,而10个SVM(一个