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

6.支持向量机

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

6.1.间隔与支持向量

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

 

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

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

证明为法向量

为划分超平面上任意两点,则

两式相减得

由于为超平面上的任意向量,根据上式内积为0得为法向量

求点到超平面的距离?

首先求原点到超平面距离

如图,令,则

  所以为原点到直线距离

然后,求任意点到超平面距离

如图,到超平面距离为

,即与法向量的内积

,即原点到超平面的距离

所以,即为上式6.2

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

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

这里,令支持向量所在的直线分别为

因为支持向量所在直线可以设置为,两边同时乘以则等号不变,并设

所以有,将看做新的看做新的,则得出上式。

因此,将两条支持向量直线带入式6.2即得,即式6.4

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

6.2.对偶问题

公式(6.8)可作如下展开

分别求偏导数并令其等于0

这里,首先将代入

由于,所以上式最后一项可化为0,于是得

所以

即得式6.11

同时,上式等价于

解出后,求出即可得到模型

 

例题

如图,已知,求最大间隔分离超平面。

解:首先,写出对偶问题

求解该最优化问题。将代入目标函数并记为:

对  求偏导,令其为0,则有,不符合乘子大于0的要求。考虑S为凸函数,在某个范围内,要么有极值;没有极值时,则关注边界值。

对应的实例点是支持向量,将代入

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

超平面所对应的模型为

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

6.3.核函数

核函数思想:

把非线性转换为线性,即低维高维

找出对应核函数,即高维低维

多项式核中以d=2为例

设二维向量映射为

 

则对于映射后为

其中

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

6.4.软间隔

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

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

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

 

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

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

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

 

采用hinge损失为例,为了解决某些样本不满足约束条件,可以对每个样本点引入一个松弛变量,这样,约束条件就变为:

当样本分类正确且在间隔两边时,

当样本分类正确且在间隔之间时,

当样本在划分超平面上时,

当样本分类错误时,

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

其中,可转换为,因此有

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

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

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

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

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值