支持向量机和神经网络的区别_算法小板报(一)——初探SVM和神经网络

58ec1537eee31a6ff57c36e630e1b947.png

开个专栏记录下平时学习中的收获和心得,如有理解不足的地方,欢迎大家探讨和交流。

一、简介

两千多年前的古罗马时期,托密勒将前人的理论完善后,正式提出了“地心说”。虽然今天我们可能会嘲笑“地心说”所犯的简单错误,但是托密勒通过四十个小圆套大圆的模型,精确地计算出了所有行星的运动轨迹,其精度之高让之后所有的科学家都赞叹不已。

当今广泛应用于各大领域之中的深度神经网络模型,采用的就像是大圆套小圆的方法,通过不断增加隐藏层的层数,以此来提升模型的拟合能力,但是却没有人能知道神经网路模型内部具体是如何运作的,甚至无法彻底解释为何增加神经网络层数能有效提升模型的效果。

相比之下,弗拉基米尔·万普尼克提出的支持向量机模型(SVM),背后有着坚实的统计学习理论支撑。SVM几何解析简便、运行结果数量少的特点,使其性能在早期一度优于神经网络,广泛地运用在解决分类问题上。但伴随着数据量的不断增多、硬件性能的不断提高和分布式系统的逐渐成熟,再加上深度学习概念的提出,神经网络渐渐成为主流模型,在图像、语音和NLP领域都取得了领先成果,SVM则依靠其简单性勉强占据一席之地。

二、SVM的重要特质

(1) Max margin(最大间隔分类器)

对于完全线性可分的训练集合,我们通常可以找到无数个超平面将样本点正确分割,那么该如何度量各个超平面之间的好坏呢?一个朴素的想法就是,我们希望分离超平面具有容错率高的特点(鲁棒性强),由此引入了最大间隔(margin)的概念。Margin定义为样本与超平面间的最短距离,当margin越大,显然分类模型的抗噪声能力越强。由此,我们可以将寻找最优分离超平面的问题转化为寻找一个超平面使margin最大化。

8a5ba14b79937f25906a0e680c712b2a.png

最终上述支持向量机的学习问题可以转变为求解凸二次规划(QP)问题。

(2) Hinge损失函数

对于非完全线性可分的训练集合,则通过引入松弛变量,将上述优化问题转化如下:

f7af6b04672d4b43999b69c9328ca485.png

本质上相当于引入了Hinge损失函数,既实现了软间隔分类,同时保持了支持向量机解的稀疏性。

be627a47ce9ab776e679b1f3b4e1a791.png

基于上述公式,支持向量机实际上是在最小化如下的目标函数:

a7c7b80e82b91063d2828b444361dd20.png

(3) 核技巧

上述支持向量机优化问题,根据强对偶定力,可以通过求解其Lagrange对偶问题来确定最优解,最终优化问题如下:

38cd47997a0f85648d2dd1e607d82bef.png

从上述公式可以看出,支持向量机模型可以通过对偶表示带来内积,再借用核函数

e0ddc95efc807bcf02faca6278357f8d.png

将低维欧几里得空间映射到高维空间上,并且映射后高维特征空间的内积可以通过原来低维特征得到,这样我们就可以利用求解线性分类问题的方法来求解非线性问题了。

三、神经网络发展简史

(1) 感知机诞生

1958年,Rosenblat在计算机上模拟实现他发明的感知机模型(Perceptron),可以完成一些简单的模式识别任务。虽然现在来看,感知机模型还是非常粗糙和低级,但作为神经网络的鼻祖,是仿生派第一次实现了对人脑成功的模拟,广泛受到大家追捧。

(2) 异或难题

1969年,是人工神经网络遭遇滑铁卢的一年。人工智能先驱、AI图灵奖的获得者Minsky在其著作《Perceptron》中提出了著名的“异或难题”,表明感知机算法在解决异或等基本逻辑问题时能力有限,一下打消了大多数研究者继续研究神经网络的心思,由此引发了长达十多年的低潮。

直到1975年,“异或难题”才被理论界彻底解决。进入80年代后,伴随着多层感知机、Backpropagation算法的陆续提出,人工神经网络的发展才回到了正轨。

(3) One hidden layer is good, why deep?

1989年,Cybenko提出Universal Approximation Theorem,理论表明,只要拥有一层隐藏层,当神经元足够充足时,就可以以任意的精度逼近欧几里得空间下的任一函数。由此,许多人便开始质疑,既然一层隐藏层的模型已经有很好的效果了,为什么要增加隐藏层的数量呢?(多隐藏层结构还需面临梯度消失等众多当时技术无法解决的问题。)

90年后,SVM与核理论的结合、集成模型的涌现,陆续创造出了一系列优良的模型,又给神经网络带来了沉重的打击。

(4) Deep Learning

2000年后,计算机产业的发展带来了计算性能、处理能力大幅提高,以谷歌为代表的前沿企业在分布式计算上已经在分布式计算上取得了深厚积累。另一方面互联网产业的快速发展,促使大公司需要频繁地与数以亿计的海量数据进行交道。大计算能力和大数据,为深度学习的崛起提供了必要准备。

2006年,神经网络一派的大师Hinton认为多隐藏层结构的人工神经网络具有优异的特征学习能力,并且可以通过“逐层初始化”来有效克服多隐藏层结构带来的训练上的难度,由此,进一步提出了Deep Learning的概念(神经网络在此之前一度拥有极差的名声),宣告了深度学习时代的到来。

(5) Resnet和Bert

图像分类领域最著名的比赛就是由斯坦福大学李飞飞教授所创办的ImageNet大赛,提供上百万张图片供参赛者训练,看谁的识别准确率高。于2015年,微软的152层ResNet把准确率提高到了96%,成功超越了人类的准确率95%,一举震惊了全世界。从那之后,进展越来越小,许多研究者通过增加训练图片、微调局部结构参数提升了0.1%的准确率,却没有在网络和算法上有任何创新,已然失去重大意义。于2018年10月底,Google公布了Bert在11项NLP的卓越表现后,迅速拉高了很多NLP应用领域的Baseline,其璀璨程度堪比图像领域的ResNet。

Resnet和Bert分别是图像、自然语言处理领域中里程碑似的模型,宣告着范式革命的开启。相较之下,目前推荐领域却还未出现与深度学习相结合的高光时刻,但或许离我们已经不远了,一起拭目以待。

四、SVM与神经网络的对比

可以认为神经网络与支持向量机都起源自于感知机。传统感知机算法的预测模型可以表示如下:

dd2adeb2891c3f71d012dbf581a48b47.png

从上述公式可以看出,感知机预测模型可以看成由这样两部分构成,第一部分是数据x间的线性组合,第二部是将第一部分结果通过h函数映射转化为输出信号。

从引入非线性的方式来看,深度神经网络通过改变激活函数h的选择和提升隐藏层的数量引入了非线性,大幅提升了模型的表现力。(Hinton一度开玩笑地说道: I want to call SVM shallow learning. )相比之下,SVM则是通过核技巧的方法引入非线性,尽管核方法作为一个经典理论,理论基础较为完备,但是往往核函数的选择较为困难,计算量较大,并行化困难。

从优化角度来看,SVM相当于选取Hinge_loss function作为损失函数,并以最大化 margin作为目标,线性SVM模型的最终输出函数f(x)是输入x的线性组合;而深度神经网络模型则通常选取cross_entropy等作为损失函数,输出函数f(x)是由一堆堆叠的非线性隐藏神经元共同组合而成的。

五、参考资料

[1]、

哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili​space.bilibili.com

《机器学习白板推导》系列视频

[2]、

SVM(支持向量机)属于神经网络范畴吗?​www.zhihu.com
2914eecbb620f26a571b4b45d93e2d60.png

[3]、

张俊林:Bert时代的创新:Bert应用模式比较及其它​zhuanlan.zhihu.com
0cd15642e188e239cf9f2617e67f7ad9.png

[4]、《统计学习方法》,李航著

[5]、《Pattern Recognition and Machine Learning》,her M. Bishop

[6]、《数学之美》,吴军著

[7]、《人工智能》,李开复著

[8]、《暗知识》,王维嘉著

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值