一、简介
SVM是一种二类分类模型,它的目标是利用训练数据集的间隔最大化找到最优分离超平面。SVM还包括核技巧,使它成为非线性分类器。
SVM学习方法包含由简至繁的模型:线性可分SVM(硬间隔SVM)、线性SVM(软间隔SVM)、非线性SVM。
二、间隔与支持向量
给定训练样本集
,分类学习的目标是基于训练集D在样本空间找到一个分离超平面,将不同类别的样本分开。当训练数据集线性可分时,存在无数个分离超平面可将两类数据正确分开,哪个分离超平面最好呢?最优分离超平面可以正确地对训练数据进行分类,也可以对未知数据进行很好的分类。假设分离超平面方程为w∙x+b=0,由法向量w和截距b决定,记为(w, b)。样本空间中任意点x到超平面(w, b)的距离可写为:
一个点距离分离超平面的远近可以表示分类预测的确信程度。给定一个特定的超平面,可以计算出训练数据集中所有样本点到超平面距离的最小值。间隔(Margin)就是这个距离的二倍。对于线性可分数据集,间隔中间是无点区域,意味着里面不会有任何数据。SVM就是利用间隔最大化求得最优分离超平面,最优超平面有最大的间隔,意味着以充分大的确信度对训练数据进行分类。
超平面H0划分数据集,满足w∙x+b=0。可以得到两个与H0等距的划分数据集超平面H1和H2,有如下方程:
由于w和b是可以缩放的,所以让δ=1来简化问题。超平面的约束如下:
将上述方程写在一起,得到:
距离超平面最近的几个训练样本点使等号成立,它们被称为支持向量。支持向量机由很少的重要的训练样本确定。超平面的间隔为
三、线性可分SVM模型
3.1 原始问题与对偶问题
欲找到具有最大间隔的分离超平面,就是要找到满足上述约束的参数w和b,使r最大,即
显然为了最大化间隔,仅需最大化
,这等价于最小化
,于是约束可重写为
这是SVM的基本型,也是一个凸二次规划问题。
根据凸优化理论,可以通过拉格朗日函数将优化目标转化为无约束的优化函数,