SVM学习笔记
关于统计学习方法中李航SVM学习笔记:
支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;关于感知机的介绍有时间再做。
关于支持向量机中的内容比较多,本文关于李航统计学习中关于支持向量机的顺序进行整理,即:
- 硬间隔支持向量机(函数间隔、几何间隔、间隔最大化、支持向量与支持边界、对偶算法)
- 软间隔支持向量机(惩罚系数、对偶算法、支持向量、合页损失函数)
- 非线性支持向量机(核技巧)
- SMO算法
1.硬间隔支持向量机
个人理解硬间隔支持向量机即训练数据集是线性可分的,存在一个超平面可以将两类样本完全分开,其损失函数为0.其学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的累。分离超平面对英语方程w*x+b=0,它由法向量w和截距b决定可用(w,b)来表示。一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,这样的超平面有无穷多个,线性可分支持向量机利用间隔最大化求最优分离超平面,此超平存在而且唯一。
1.1函数间隔和几何间隔
函数间隔定义:对于给定的训练数据集T和超平面(w,b),定义超平 面(w,b)关于样本点(xi,yi)的函数间隔为:
定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点
函数间隔可以表示分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变w和b,例如将它们改为2w和2b,超平面并没有改变,但函数间隔却成为原来的2倍。这一事实启示我们,可以对分离 超平面的法向量w加某些约束,如规范化,||w||=1,使得间隔是确定的。这时函数间隔成为几何间隔(geometric margin)。
定义(几何间隔)对于给定的训练数据集T和超平面(w,b),定义超平 面(w,b)关于样本点
定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T中所有样本点
超平面(w,b)关于样本点
从函数间隔和几何间隔的定义可知,函数间隔和几何间隔有下面的关系
如果||w||=l,那么函数间隔和几何间隔相等。如果超平面参数w和b成比例地改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。
1.2间隔最大化
对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
定义 (线性可分支持向量机)给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
以及相应的分类决策函数
称为线性可分支持向量机。
最大间隔分离超平面
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面。具体地,这个问题可以表示为下面的约束最优化问题:
考虑几何间隔和函数间隔的关系式
由于函数间隔
综上所述,就有下面的线性可分支持向量机的学习算法——最大间隔法(maximum margin method)。
算法(线性可分支持向量机学习算法——最大间隔法)
2.软间隔支持向量机
当对于线性不可分的训练数据采用并不能采用上述的方法,其不等式约束不能都成立,因此修改硬间隔最大化,使其变为软间隔最大化。
线性不可分意味着样本点
同时,对每个松弛变量
这里,C>0成为惩罚参数,一般由应用问题决定,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小(为什么会在损失函数上面加这样一个惩罚项,对误分类的样本的影响体现在哪儿),最小化目标函数包含两层含义,使
线性不可分的线性支持向量机的学习问题编程如下凸二次规划问题:
设问题
下面给出线性支持向量机的定义。
定义(线性支持向置机)对于给定的线性不可分的训练数据集,通过求解凸二次规划问题,即软间隔最大化问题
以及相应的分类决策函数
称为线性支持向量机。
学习的对偶算法
原始问题
原始最优化问题的拉格朗日函数是
其中,
对偶问题是拉格朗日函数的极大极小问题。首先求
得
将上面三个式子代入
再对
将上述对偶最优化问题进行变换:利用等式约束
再将对目标函数求极大转换为求极小,于是得到对偶问题
可以通过求解对偶问题而得到原始问题的解,进而确定分离超平面和决策函数。为此,就可以定理的形式叙述原始问题的最优解和对偶问题的最优解的关系。
定理 设
综合前面的结果,有下面的算法。
算法(线性支持向量机学习算法)
输入:线性可分训练集
输出:分离超平面和分类决策函数。
(1)选择惩罚参数C>0,构造并求解凸二次规划问题
求得最优解
(2)计算
选择
(3)求得分离超平面
分类决策函数:
步骤(2)中,对任一适合条件
支持向量
在线性不可分的情况下,将对偶问题
这时的支持向量要比线性可分时的情况复杂一些。图中,分离超平面由实线表示,间隔边界由虚线表示,正例点由“。”表示,负例点由“X”表示。图中还标出了实例
软间隔的支持向量
合页损失函数
对于线性支持向量机学习来说,其模型为分离超平面
目标函数的第1项是经验损失或经验风险,函数
称为合页损失函数(hinge loss function)。下标“+”表示以下取正值的函数。
这就是说,当样本点
注意到在图中的实例点x4被正确分类,但损失不是0。目标函数的第2项是系数为
由于现实中往往会有一些非线性可分的问题,不能采用前面的方法进行求解超平面,常用的方法是采用核技巧,其原理是对原始的数据集进行空间的变换,使其可以采用线性可分的方式进行求解,后面再进行整理。