支持向量机SVM理解及公式推导

前言

最近发现自己的基础知识不够扎实,面对别人的问题总是“知其然不知其所以然”。出现这个问题的朋友周围有很多,大多数人都是“拿来主义”,想着“有了开源库,有了函数包,只要会用就行,在遇到具体问题的时候再去寻找相应的解决办法”,这种“非系统”的学习思想其实殆害无穷,在自己想要踏实做一个工程时,会出现眼界窄,能力不足的问题,有时候为解决一个问题千方百计地找到了一个非常好用的函数,而这个函数自己根本没听过。如果自己深入专研这方面的话,第一反应就是使用最便捷的方法了,这便是“扎实”的基本功带来的好处。

在简书、知乎、优快云上有许多前辈已经总结了好的学习资料,自己也从中获益良多,但每次不论文章写得多好,过段时间还是忘了,反思了一下还是没有将其“私有化”,因此现在用自己的话总结一些基础知识,如果在学习记录的同时,可以给大家理解枯燥的理论知识带来一点点帮助,不胜荣幸。

1 面试中考察SVM的必要性

其一:面试官便于了解面试者的基础知识,数学基本功,学习态度,可以通过一些基础模型来看出这个面试者是否能够胜任该岗位。

其二:由于机器学习范畴大,流派多,面试官懂的可能你不懂,你懂的可能面试官没有提前准备,索性来个大家都应该懂的——SVM、LR等。

因此,面试前准备一些基础知识的理解和推导是对本次面试最起码的态度(面试官把最基本的题都告诉你了,如果连这些你都答不上来,那不好意思了)。

2 基本介绍

SVM最初是为解决二元分类问题而设计的,假设我们在桌面(二维平面下)上有两种颜色的球,我们需要用一条直线把它们分成两类。如果在平面上我们没法用一条直线把它们分成两类,我们就采取猛拍桌子(核技巧)的方法,把球振到空中(多维空间下),迅速扔出一张纸,将两个颜色的球在空间中分隔开。我们把这些球叫做 「data」(数据源),把直线叫做 「classifier」(分类器), 拍桌子叫做「kernelling」(建立核函数), 那张纸叫做「hyperplane」(超平面)。
来自wiki

3.SVM的推导(线性可分的情况)

给定样本集

D={ (x1,y1),(x2,y2),...,(xm,ym)}0 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } ( 式 0 )

其中 x x 1 m 维的向量(有m个属性的一条训练数据)。
目的:寻找一个最优(泛化能力最强)的超平面,将不同类别的样本分开。
超平面可用
γ=|wT+b|||w||2 γ = | w T + b | | | w | | ( 式 2 )

如果超平面将样本成功分类,则下式成立

{ wTxi+b+1,yi=+1wTxi+b1,yi=13 { w T x i + b ⩾ + 1 , y i = + 1 w T x i + b ⩾ − 1 , y i = − 1 ( 式 3 )

使等号成立的几个样本点称为“支持向量”,两个异类支持向量到超平面的距离之和为
γ=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值