支持向量机(support vector machines,SVM)是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quardratic)的问题,也等价于正则化的合页损失函数的最小化问题。
支持向量机学习方法包含构建由简到繁的模型,线性可分支持向量机,线性支持向量机及非线性支持向量机。简单模型是复杂模型的基础,也是复杂模型的特殊情况。
当训练数据线性可分时,通过硬间隔最大化(hard margin maximization),学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;
当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization)学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;
当训练数据线性不可分时,通过使用核技巧(kernel trick)及软间隔最大化,学习非线性支持向量机。
当输入空间为欧式空间或离散集合,特征空间为希尔伯特空间时,核函数(kernel function)表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数可以学习非线性向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。这样的方法称为核技巧。核方法(kernel method)是比支持向量机更为一般的机器学习方法。
1线性可分支持向量机与硬间隔最大化
1.1线性可分支持向量机
考虑一个二类分类问题,假设输入空间与特征空间为两个不同的空间,输入空间为欧氏空间或离散集合,特征空间为欧氏空间或希尔伯特空间,线性支持向量机假设这两个空间的元素一一对应,并将输入空间中的输入映射为特征空间中的特征向量。所以,输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间里进行的。
假设给定一个特征空间上的训练数据集
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类,分离超平面对应于方程 w⋅x+b=0 ,它由法向量 w 和截距
一般地,当训练数据集线性可分时,存在无穷多个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求的分离超平面,不过这时的解有无穷多个。线性可分支持向量机利用间隔最大化求最优分离超平面,这时,解是唯一的。
1.1定义(线性可分支持向量机)给定线性可分训练数据集,通过间隔最大化或等价求解相应的凸二次规划问题学习得到的分离超平面为
1.2函数间隔和几何间隔
在超平面
w⋅x+b=0
确定的情况下,
|w⋅x+b|
能够相对地表示点
x
距离超平面的远近,而
1.2定义(函数间隔)对于给定的训练数据集
T
和超平面(w,b) ,定义超平面
(w,b)
关于样本点
(xi,yi)
的函数间隔为
γi^=yi(w⋅xi+b)
定义超平面
(w,b)
关于训练数据集
T
的函数间隔为超平面
1.3定义(几何间隔)对于给定的训练数据集
T
和超平面(w,b) ,定义超平面
(w,b)
关于样本点的几何间隔为
γi=yi(w||w||⋅xi+b||w||)
定义超平面
(w,b)
关于训练数据集
T
的几何间隔为超平面(w,b) 关于
T
所有样本点(wi,yi) 的几何间隔之最小值,即
γ=mini=1,..Nγi
超平面 (w,b) 关于样本点 (xi,yi) 的几何间隔一般是实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离
1.3间隔最大化
支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面,对线性可分的训练数据而言,线性可分分离超平面有无穷多个,但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。
1.3.1最大间隔分离超平面
最大间隔分离超平面可以表示为下面的约束最优化问题:
考虑几何间隔和函数间隔的关系式,可将这个问题改写为
凸优化问题是指约束最优化问题
如果求出了约束最优化问题的解 w∗,b∗ ,那么就可以得到最大间隔分离超平面 w∗⋅x+b∗=0 及分类决策函数 f(x)=sign(w∗⋅x+b∗) ,及线性可分支持向量机模型。
综上所述,就有了线性可分支持向量机的学习算法—最大间隔法
1.3.2支持向量和间隔边界
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector)。支持向量是使约束条件式 yi(w⋅xi+b)−1=0 成立的点。在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用,如果移动支持向量则将改变所求解的解;但如果在间隔边界以外移动其他实例点,则解是不会改变的
1.4 拉格朗日对偶性
在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解
1.4.1原始问题
假设
f(x),ci(x),hj(x)
是定义在
Rn
上的连续可微函数,考虑约束最优化问题
首先,引进广义拉格朗日函数
假设给定某个 x ,如果
所以如果考虑极小化问题:
1.4.2对偶问题
定义 ΘD(α,β)=minxL(x,α,β) ,再考虑极大化 ΘD(α,β) ,即
1.4.3原始问题和对偶问题的关系
若原始问题和对偶问题都有最优解,则
1.5学习的对偶算法
首先,构建拉格朗日函数。为此,对每一个不等式约束引进拉格朗日乘子, αi≥0,i=1,2,...,N 定义拉格朗日函数:
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
(1)求 minw,bL(w,β,α)
将拉格朗日函数 L(w,β,α) 分别对 w,b 求偏导并令其等于0.
即
(2)求 minw,βL(w,β,α) 对 α 的极大,即对偶问题
将此问题由求极大变为求极小,就等到下面与之等价的对偶最优话问题:
求解最优化问题的解 w∗ , b∗