概述
支持向量机是(Support Vector Machine)是基于统计学习理论(Statistical Learning Theory, SLT)发展起来的一种新的机器学习的方法。
1963年,Vapnik在解决模式识别问题时提出了支持向量方法,这种方法从训练集中选择一组特征子集,使得对特征子集的划分等价于对整个数据集的划分,这组特征子集就被称为支持向量(SV),支持向量也就是距离分离面最近的那些点。
一个分类问题的分类平面可能有很多个,那么如何找到那个最优的分类平面?怎样的算最优的分类。
最优分类面考虑不但能将两类正确分开,且分类间隔最大,SVM考虑寻找一个满足分类要求的超平面,并且使训练集中的点距离分类面尽可能的远,也就是寻找一个分类面使它两侧的空白区域最大。
如下图中,右边的分类平面就优于左边的,右图的间隔比较大,左边图中,如果有类别2的右边的点有一点扰动,容易分类到第1类中,造成误判,而右图则相对不会出现这样的问题,可以看出大间隔是有用的。
线性SVM
寻找间隔最大的超平面的公式推导过程如下:
对于给定的训练数据集和超平面(w,b),定义超平面(w,b)关于样本点 ( x i , y i ) (x~i, y~i) (x i,y i)的几何间隔是, y i y~i y i是类标记,为±1。
寻找最大间隔分离超平面也就是要找到参数w、b,使得最大化 γ i γ~i~ γ i ,
同时