6.支持向量机

支持向量机是一种经典的二分类模型,基本模型定义为特征空间中最大间隔的线性分类器,其学习的优化目标便是间隔最大化,因此支持向量机本身可以转化为一个凸二次规划求解的问题。

6.1.间隔与支持向量

对于二分类学习,假设现在的数据是线性可分的,这时分类学习最基本的想法就是找到一个合适的超平面,该超平面能够将不同类别的样本分开,但能将训练样本分开的划分超平面可能有很多,我们应该努力去找到哪一个呢?

 

《西瓜书》-6.支持向量机

易知:当超平面距离与它最近的数据点的间隔越大,分类的鲁棒性越好,即当新的数据点加入时,超平面对这些点的适应性最强,出错的可能性最小。因此需要让所选择的超平面能够最大化这个间隔Gap

在样本空间中,划分超平面可通过如下线性方程来描述:

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

证明《西瓜书》-6.支持向量机为法向量

《西瓜书》-6.支持向量机为划分超平面上任意两点,则

《西瓜书》-6.支持向量机

两式相减得

《西瓜书》-6.支持向量机

由于《西瓜书》-6.支持向量机为超平面上的任意向量,根据上式内积为0得《西瓜书》-6.支持向量机为法向量

求点到超平面的距离?

首先求原点到超平面距离《西瓜书》-6.支持向量机

如图,令《西瓜书》-6.支持向量机,则《西瓜书》-6.支持向量机

  所以《西瓜书》-6.支持向量机为原点到直线距离

然后,求任意点《西瓜书》-6.支持向量机到超平面距离

如图,《西瓜书》-6.支持向量机到超平面距离为《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机,即《西瓜书》-6.支持向量机与法向量的内积

《西瓜书》-6.支持向量机,即原点到超平面的距离

所以《西瓜书》-6.支持向量机,即为上式6.2

《西瓜书》-6.支持向量机

如下图所示,距离超平面最近的这几个训练样本点使式(6.3)的等号成立,它们被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和为

《西瓜书》-6.支持向量机

它被称为“间隔”(margin).

《西瓜书》-6.支持向量机

这里,令支持向量所在的直线分别为《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机

因为支持向量所在直线可以设置为《西瓜书》-6.支持向量机,两边同时乘以《西瓜书》-6.支持向量机则等号不变,并设《西瓜书》-6.支持向量机

所以有《西瓜书》-6.支持向量机,将《西瓜书》-6.支持向量机看做新的《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机看做新的《西瓜书》-6.支持向量机,则得出上式。

因此,将两条支持向量直线带入式6.2即得《西瓜书》-6.支持向量机,即式6.4

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

这就是支持向量机(Support Vector Machine,简称SVM)的基本型。

6.2.对偶问题

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

公式(6.8)可作如下展开

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机分别求偏导数并令其等于0

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

这里,首先将《西瓜书》-6.支持向量机代入《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

由于《西瓜书》-6.支持向量机,所以上式最后一项可化为0,于是得

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

所以

《西瓜书》-6.支持向量机

即得式6.11

同时,上式等价于

《西瓜书》-6.支持向量机

解出《西瓜书》-6.支持向量机后,求出《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机即可得到模型

 

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

例题

如图,已知《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机,求最大间隔分离超平面。

《西瓜书》-6.支持向量机

解:首先,写出对偶问题

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

求解该最优化问题。将《西瓜书》-6.支持向量机代入目标函数并记为:

《西瓜书》-6.支持向量机

对 《西瓜书》-6.支持向量机 求偏导,令其为0,则有《西瓜书》-6.支持向量机,不符合乘子大于0的要求。考虑S为凸函数,在某个范围内,要么有极值;没有极值时,则关注边界值。

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

对应的实例点《西瓜书》-6.支持向量机是支持向量,将《西瓜书》-6.支持向量机代入《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

采用两个支撑向量,计算得到的 b 均为-2。所以分离超平面为

《西瓜书》-6.支持向量机

超平面所对应的模型为

《西瓜书》-6.支持向量机

从以上案例可以看出,求解式(6.11)的规模正比于训练样本数,这会在实际任务中造成很大的开销.为了避开这个障碍,人们通过利用问题本身的特性,提出了很多高效算法,SMO(Sequential Minimal Optimization)是其中一个著名的代表。

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

6.3.核函数

核函数思想:

把非线性转换为线性,即低维《西瓜书》-6.支持向量机高维

找出对应核函数,即高维《西瓜书》-6.支持向量机低维

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

多项式核中以d=2为例

设二维向量《西瓜书》-6.支持向量机映射为《西瓜书》-6.支持向量机

 

则对于《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机映射后为《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机

其中

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

因此,在求解时只需求解原数据的内积即可,同理当次数更高时,可以映射到更高维空间,其中高斯核函数利用泰勒展开,可以映射到无限维中。

6.4.软间隔

在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的,也对线性不可分数据集问题通过核函数对原来的线性SVN进行了推广,使得非线性的情况也能处理。

但是如果数据并不是因为本身是非线性结构的,而是因为数据有噪声,或者貌似线性可分的结果是由于过拟合所造成的.

缓解该问题的一个办法是允许支持向量机在一些样本上出错.为此,要引入“软间隔”(soft margin)的概念,如图所示.

《西瓜书》-6.支持向量机《西瓜书》-6.支持向量机 

我们之前提到的硬间隔,是要求所有样本都满足约束条件,而软间隔则是允许某些样本不满足约束:

《西瓜书》-6.支持向量机

当然,在最大化间隔的同时,不满足约束的样本应尽可能少.于是,优化目标可写为

《西瓜书》-6.支持向量机

显然,当C为无穷大时,式(6.29)迫使所有样本均满足约束(6.28),于是式(6.29)等价于原始的硬间隔问题;当C取有限值时,式(6.29)允许一些样本不满足约束.

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

 

采用hinge损失为例,为了解决某些样本不满足约束条件,可以对每个样本点《西瓜书》-6.支持向量机引入一个松弛变量《西瓜书》-6.支持向量机,这样,约束条件就变为:

《西瓜书》-6.支持向量机

当样本《西瓜书》-6.支持向量机分类正确且在间隔两边时,《西瓜书》-6.支持向量机

当样本《西瓜书》-6.支持向量机分类正确且在间隔之间时,《西瓜书》-6.支持向量机

当样本《西瓜书》-6.支持向量机在划分超平面上时,《西瓜书》-6.支持向量机

当样本《西瓜书》-6.支持向量机分类错误时,《西瓜书》-6.支持向量机

引入松弛变量后,优化目标可写为

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

其中,《西瓜书》-6.支持向量机可转换为《西瓜书》-6.支持向量机,因此有

《西瓜书》-6.支持向量机

因此,采用hinge损失形式,即

《西瓜书》-6.支持向量机

hinge损失函数图像也称为合页图

这里C称为惩罚系数,C值大时对误分类的惩罚增加,容易导致过拟合,C值小时对误分类的惩罚减小,容易导致欠拟合。

有了上面的思路,可以和线性可分支持向量机一样来考虑当前问题,通过拉格朗日乘子法可得到式(6.35)的拉格朗日函数

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

《西瓜书》-6.支持向量机

 

相关文章: