《统计学习方法》第七章 支持向量机

1. 主题概括

SVM(支持向量机)是二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机.SVM是在感知机基础上发展的.
感知机链接
支持向量机包括核技巧,它的作用是使的低纬度升级到高纬度,使得非线性可分问题变为可分.

2.线形可分支持向量机与硬间隔最大化

2.1 线形可分支持向量机

2.1.1 输入空间和特征空间的区别

输入空间即输入值X的集合, 输入值X由特征向量X(1),X(2)…X(n)表示,所有输入值X的特征向量组成了特征空间.

2.1.2 线性可分支持向量机定义

在这里插入图片描述
线形可分支持向量机对应将两类数据正确划分并且间隔最大的直线.如图:

在这里插入图片描述

2.2 函数间隔与几何间隔

2.2.1 函数间隔

在这里插入图片描述
注: 之前一直对|wx+b|能够相对表示点x距离超平面的远近的理解是它省略了分母||w||,其实并不然,不省略||w||的函数意义是几何间隔,而在这是函数间隔.为什么能够相对表示点x距离超平面的远近可以这么理解:在超平面上的点x带入公式|wx+b|,结果为0,而距离超平面越远的点代入后的值也相对越大.
在这里插入图片描述
在这里插入图片描述

2.2.2 几何间隔

在这里插入图片描述

2.3 间隔最大化

对间隔最大化的解释:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注: 仿射函数:最高次数为1的多项式函数.如k1x1+k2x2+b

最大间隔分离超平面的存在唯一性:
若训练数据集T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一.

支持向量:
在线形可分的情况下,训练数据集的样本点中与分离超平面最近的样本点的实例称为支持向量.支持向量是使得约束条件式(7.14)等号成立的点,即:
在这里插入图片描述
注: 在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用.如果移动支持向量将改变所求解,但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,解都不会改变.由于支持向量在确定分离超平面中起着决定作用,所以将这类分类模型称为支持向量机.

例题:
在这里插入图片描述

2.4 学习的对偶算法

通过求解对偶问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法,这样做的优点:1)对偶问题往往更容易求解 2)自然引入核函数,进而推广到非线性分类问题.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:当w*=0时,由(7.14)可知yi(wxi+b)-1>=0,则yib-1>=0.
而yI=1或-1,明显不符合条件.
在这里插入图片描述

2.5 线形可分支持向量机学习算法

在这里插入图片描述
在这里插入图片描述
对该实例点为支持向量的解释:
在这里插入图片描述

2.5.1 线形可分支持向量机实例

在这里插入图片描述
在这里插入图片描述

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

3.1 线性支持向量机

线性可分问题的支持向量机学习方法对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束条件不成立.这时为了将线性可分问题扩展到线性不可分问题,需要修改硬间隔最大化,使其成为软间隔最大化.
在这里插入图片描述
在这里插入图片描述
则线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题):
在这里插入图片描述
注: 由于上述式子为凸二次规划问题,所以关于(w,b,ξ)的解是存在的,w的解唯一,b的解不唯一,b的解存在于一个区间.
设问题(7,32-7,34)的解为w*,b*,则可以得到分离超平面wx+b=0
及分类决策函数f(x)=sign(wx+b).这样的模型称为线性支持向量机,显然,线性支持向量机包括线性可分支持向量机.由于现实中训练数据集往往是线性不可分的,线性支持向量机具有更广的适用性.
在这里插入图片描述

3.2 学习的对偶算法(和线性可分支持向量机的对偶算法基本一样)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:
1)该定义的前提条件是0<aj<C.
2)根据(7.46)得知C=aj
j,则可得知0<μj<C,根据(7.54)可得知ξj=0
3)综合上述条件,根据(7.53)可以得知yi(wxi+b)-1=0

综上所述,线性支持向量机学习算法如下:
在这里插入图片描述
在这里插入图片描述
注:根据上述算法第二步,b的解不唯一的原因为:ai*是可变的.

3.3 支持向量

在这里插入图片描述
注:每一个样本点对应一个松弛变量ξi
根据(7.53)可得到,当ai>0时, yi(wxi+b*)-1+ξj=0.
则ξj=1-yi(wxi+b)
且实例xi到间隔边界的距离
=间隔边界与分离超平面距离 - 实例xi到分离超平面距离
= 1/||w|| - yi(wxi+b)/||w||
= ξj/||w||

3.4 合叶损失函数(线性支持向量机的另一种解释)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 非线性支持向量机与核函数

4.1 背景

对于线性分类问题,线性分类支持向量机(包括线性可分支持向量机和线性不可分支持向量机)是一种非常有效的方法.当对于非线性分类问题时,需要利用核技巧进行划分.

4.1 核技巧

4.1.1 非线性分类问题

如下图:左图不能使用线性分类器将正负例训练集分开,可以用一个超曲面将之分开.
在这里插入图片描述

4.1.2 非线性分类问题思想及解决步骤

非线性分类问题思想: 将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题 .如上面右图,将左图中的椭圆变换为右图中的直线,将非线性问题转换为线性问题.
线性分类方法求解非线性分类问题步骤:
1)使用一个变换将原空间中的数据映射到新空间
2)在新空间中用线性分类学习方法从训练数据中学习分类模型

4.1.3 核函数定义

设X是输入空间(欧式空间Rn的子集或离散集合),又设H为特征空间(希尔伯特空间),如果存在一个从X到H的映射
在这里插入图片描述
核函数和映射函数关系实例:
在这里插入图片描述

4.1.4 核技巧在支持向量机中的应用

线性支持向量机中的对偶问题的目标函数:
在这里插入图片描述
在这里插入图片描述
则,对偶问题的目标函数成为:
在这里插入图片描述
分类决策函数式成为:
在这里插入图片描述
注:这等价于经过映射函数φ将原来输入空间变换到一个新的特征空间,将输入空间中的内积xi*xj变换为特征空间中的内积 φ(xi)*φ(xj),在新的特征空间里从训练样本中学习线性支持向量机.当映射函数φ是非线性函数时,学习到的含有核函数的支持向量机就是非线性分类模型.

学习是隐式地在特征空间进行的,不需要显式的定义特征空间和映射函数,这样的技巧称为核技巧.

4.2 正定核

在这里插入图片描述

4.2.1 Gram矩阵和半正定矩阵扫盲

Gram矩阵:
在这里插入图片描述
半正定矩阵:
设A是实对称矩阵。如果对任意的实非零列向量x有xTAx≥0,就称A为半正定矩阵。

半正定矩阵性质:
半正定矩阵的行列式是非负的;
两个半正定矩阵的和是半正定的;
非负实数与半正定矩阵的数乘矩阵是半正定的。

4.2.2 正定核充要条件

在这里插入图片描述

4.3 常用核函数

在这里插入图片描述
在这里插入图片描述

4.4 非线性支持向量分类机

从非线性分类训练集,通过核函数与软间隔最大化,或凸二次规划((7.95)-(7.97)),学到的分类决策函数为:
在这里插入图片描述

5. 序列最小最优化算法

5.1 背景

当训练样本容量很大时,SVM算法往往变得非常低效,以致无法使用.所以,人们提出了很多快速实现算法.

5.2 SMO(sequential minimal optimization)最小最优化算法

5.2.1 解决问题

在这里插入图片描述

5.2.2 SMO思想
SMO算法是一种启发式算法.如果所有变量(指的是拉格朗日乘子)的解都满足此优化问题的KKT条件,那么这个最优化问题的解就得到了.因为KKT条件是该最优化问题的充分必要条件.
否则,选择两个变量,固定其它变量,针对这两个变量构建一个二次规划问题(比如使用拉格朗日乘数法解决),这个二次规划问题关于这两个变量的解应该更接近原始二次规划的解,因为这会使原始二次规划的目标函数值变得更小.子问题有两个变量,一个是违反KKT条件最严重的那个,另一个根据(7.99)可以确定.

在这里插入图片描述
综上所述:整个SMO算法分为两部分:求解两个变量二次规划的解析方法和选择变量的启发式方法.

发布了89 篇原创文章 · 获赞 0 · 访问量 1035

猜你喜欢

转载自blog.csdn.net/qq_26496077/article/details/103772147