线性支持向量机与软间隔最大化

线性支持向量机与软间隔最大化

支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。

支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机( linear support vector machine in linearly separable case )、线性支持向量机( linear support vector machine)及非线性支持向量机(non-linear support vector machine)。简单模型是复杂模型的基础,也是复杂模型的特殊情况。当训练数据线性可分时,通过硬间隔最大化( hard margin maximization),学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化( soft margin maximization),也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧(kemel trick)及软间隔最大化,学习非线性支持向量机。

当输入空间为欧氏空间或离散集合、特征空间为希尔伯特空间时,核函数(kernel function)表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。这样的方法称为核技巧。核方法( kernel method)是比支持向量机更为一般的机器学习方法。

Cortes与Vapnik提出线性支持向童机,Boser、Guyon与Vapnik又引入核技巧,提出非线性支持向量机。

本章按照上述思路介绍3类支持向量机、核函数及一种快速学习算法——序列最小最优化算法(SMO)。

线性支持向量机

线性可分子问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能成立。怎么才能将它扩展到线性不可分问题呢?这就需要修改硬间隔最大化,使其成为软间隔最大化。

假设给定一个特征空间上的训练数据集

这里,C>0称为惩罚函数,一般由应用问题决定,C值大时对误分类的惩罚更大,C值小时对误分类的惩罚减小。最小化目标函数(上式)包含了两层含义

  • 使

    尽可能小,即间隔尽量大;

  • 同时使误分类点的个数尽可能小,

    而C是调和两者的系数

有了上面的思路,可以和训练数据集线性可分时一样来考虑训练数据集不可分时的线性支持向量机学习问题。相应于硬间隔最大化,它称为软间隔最大化

线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题):

下面给出线性支持向量机的定义

对于给定的线性不可分的训练数据集,通过求解凸二次规划问题,即软间隔最大问题(上述原始问题),得到的分离超平面为

以及相应的分类决策函数

称为线性支持向量机。

线性支持向量机学习的对偶算法

原始问题的对偶问题是

下面我们来具体说明上述对偶问题是怎么得出的:

原始最优化问题的拉格朗日函数

其中,

对偶问题是拉格朗日函数的极大极小问题。

将上式代入上面的拉格朗日函数,得

拉格朗日对偶的重要作用是将w的计算提前并消除w,使得优化函数变为拉格朗日乘子的单一参数优化问题

下面具体来说明上式不等式是怎么得到的:

再通过取负,将对目标函数求极大转换为求极小,于是得到对偶问题

证明:

原始问题是凸二次规划问题,满足强对偶问题(凸函数+Slater条件),所以原函数问题和对偶问题等价,则解满足KKT条件。即得

解释下上式所述的KKT条件:前三项是一阶偏导等于零,第四五项是互补松弛条件(强对偶性决定的),第六七项是原始问题的约束条件,最后两项是对偶问题的约束条件。

由上式KKT条件中的第一项可知,原始问题的解中的第一项成立,即

这里具体是怎么得到的呢?

。由此定理可知,分离超平面可以写成

分类决策函数可以写成

上式为线性支持向量机的对偶形式

综合前面的结果,有下面的算法。

线性支持向量机学习算法

输出:分离超平面和分类决策函数。

(1)选择惩罚参数C>0,构造并求解凸二次规划问题(对偶问题

求得最优解

(3)求得分离超平面和分类决策函数

分离超平面:

分类决策函数:

支持向量

在线性不可分的情况下,将对偶问题的解

这里解释下为什么,由上一节我们知道

合页损失函数

线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:

目标函数的第一项是经验损失是或经验风险,函数

称为合页损失函数(hinge loss function)。下标“+”表示以下取正值的函数。

定理:线性支持向量机原始最优化问题 等价于 合页损失+正则化的最优化问题

线性支持向量机原始最优化问题

等价于合页损失+正则化的最优化问题

证明:令

由上式,

故原始最优化问题约束条件的第一项成立。

所以合页损失+正则化最优化问题可写成

与原始最优化问题等价。

反之,也可将原始最优化问题表示成合页损失+正则化的最优化问题。

图中还画出0-1损失函数,可以认为它是二类问题的真正的损失函数,而合页损失函数是0-1损失函数的上界。由于0-1损失函数不是连续可导的,直接优化由其构成的目标函数比较困难,可以认为线性支持向量机是优化由0-1损失函数的上界(合页损失函数)构成的目标函数。这时的上界损失函数又称为代理损失函数。

上图中虚线显示的是感知机的损失函数

参考资料

  • 《统计学习方法》李航

本章的结构和大部分内容均参考此书对应章节。

Last updated

Was this helpful?