支持向量机是一种二类分类模型。基本模型是定义在特征空间上的间隔最大的线性分类器。学习策略就是间隔最大化。
1 线性可分支持向量机和硬间隔最大化
1.1 线性可分支持向量机
输入由输入空间转换到特征空间,支持向量机的学习是在特征空间进行的。
学习的目标是在特征空间中找到一个分离超平面wx+b=0,将实类分到不同的类别。法向量指的一侧是正类。
一般当训练数据集线性可分的时候,存在无数个分离超平面可以将两类数据分开。感知机利用误分类最小的策略进行分类,这时有无数个解,支持向量机利用间隔最大化求最优分离超平面,解释唯一的。
定义:给定线性可分的数据集,通过最大间隔或者求解相应的凸二次规划问题学习到的分离超平面以及相应的分类决策函数
称为线性可分支持向量机。
1.2 函数间隔和几何间隔
一般来说,一个点距分离超平面的远近可以表示分类预测的准确程度。在超平面确定的情况下,|wx+b|能够表示x距离超平面的远近,而wx+b的符号和类标记y符号的一致表示分类的准确性。所以可以用y(wx+b)来表示分类的正确度和确信度。这就是函数间隔。
函数间隔可以表示分类预测的正确性和确信度。但是如果成比例的缩放w和b,超平面没变但是函数间隔变化,我们需要对w和b进行规范化,这时函数间隔就变成了几何间隔。
间隔最大化:对训练数据找到几何间隔最大的超平面
这个问题可以表示为下面这个最优化问题:
将w和b按比例改变不影响约束等式。所以可以将γ取1。
线性可分训练数据集的最大间隔分离超平面是存在的且唯一的。
1.3
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点叫做支持向量。
H1和H2平行,没有任何实例点落在他们之间。分离超平面在他们之间的中央,间隔是2/||w||,H1和H2成为间隔边界。
决定分离超平面时只有支持向量起作用。
1.4 学习的对偶算法
应用拉格朗日求解对偶问题。引入核函数。
对每一个不等式约束引入一个拉格朗日乘子,定义拉格朗日函数:
则对偶的最优化问题为:
对偶问题求得对α的解,就可以求得w和b:
综上所述,对于给定的可分训练数据集,可以首先求得对偶问题的解,然后求得原始问题的解,w和b,从而得到分离超平面和分类决策函数。
2 线性支持向量机和软间隔最大化
对线性不可分训练数据,使用软间隔最大化。
对每个样本引入一个松弛变量,使得函数间隔加上松弛变量大于等于1,这样约束条件变为:
目标函数变为:’
最小化目标函数包含两层含义:使第一项尽量小即间隔尽量大,同时误分类点的个数尽量小,C是调和两者的系数。
软间隔的原始问题:
对偶问题:
知道对偶问题的一个解则原始问题的解:
3 非线性支持向量机和核函数
3.1 核技巧
首先使用一个变换讲原空间的数据映射到新空间,然后在新空间中使用线性分类学习方法从训练数据中学习分类模型。
核函数定义:设X是输入空间(欧式空间),设H是特征空间(希尔伯特空间),如果存在一个从X到H的映射,使得函数K(x,z)满足条件:,则称K(x,z)为核函数,式中是两个的内积。
对于给定的核K(x,z),特征空间和映射函数的取法并不唯一,可以取不同的特徵空间。即使在同一特征空间里也可以取不同的映射。
在对偶问题中,无论目标函数还是决策函数都只涉及到输入实例和实例之间的内积,用核函数代替,对偶问题的目标函数就成了:
分类决策函数中的内积也可以用内积代替:
不需要显示的定义特征空间和映射函数,这就是核技巧。