这篇博客是看完李航《统计学习方法》,对其中知识点的梳理!!


文章目录

  • 概念:
  • 线性可分支持向量(硬间隔最大化):
  • 学习的目标:
  • 线性可分支持向量的定义:
  • 函数间隔与几何间隔:
  • 函数间隔:
  • 几何间隔:
  • 函数间隔和几何间隔的关系:
  • 间隔最大化:
  • 如何求最大间隔分离超平面:


概念:

支持向量机(SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器;SVM还包含核技巧,使它成为非线性分类器

SVM可以分为以下几种:

  • 线性可分支持向量机:当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器。又称硬间隔支持向量机
  • 线性支持向量机:当训练样本近似可分时,通过软间隔最大化,学习一个线性分类器。又称软间隔支持向量机
  • 非线性支持向量机:当训练样本不可分时,通过使用核技巧及软间隔最大化,学习一个非线性支持向量机。

线性可分支持向量(硬间隔最大化):

假设给定一个特征空间上的训练样本:
T = {(x1,y1),(x2,y2), , , , , , ,(xn,yn)}
其中,xi为第i个特征向量,yi是其对应的标记,当yi = +1时,称为正例;当yi = -1时,称为负例,假设训练集是线性可分的。

学习的目标:

在特征空间,寻找一个分离超平面,这个超平面可以将样本点分到不同的类,分离的超平面表示为:

支持向量机模型架构 支持向量机总结_支持向量机模型架构


其中,w是超平面的法向量b是超平面的截距。分类超平面将特征空间分为两部分,一部分是正类,一部分是负类,法向量指向的一侧为正类。

线性可分支持向量的定义:

  • 给定线可分的数据集;
  • 通过间隔最大化,求解超平面的参数 w* 和 b*.
  • 学习对应的分类决策函数;其中sign函数是符号函数,即当w* x + b* >0时,函数值为1;w* x + b* <0,函数值为-1.

    上面三个步骤就可以完成一个线性可分数据的划分,但是有几个问题
  • 间隔最大化是怎么实现的?
  • 如何求解超平面的参数呢?
  • 如何学习这个符号函数呢?

继续看:

函数间隔与几何间隔:

以下图为例,图中“。”代表正例,“x”代表负例,训练集线性可分,这时有无穷多直线可以将这两类数据划分开来。

支持向量机模型架构 支持向量机总结_支持向量机_02


感知机利用误分类数最小的策略,求得分离超平面,不过这时的解有无穷多个

线性可分支持向量机利用间隔最大化求最优的分离超平面,这时解是唯一的。

继续看上面的图,有A.B.C三个点,这3个点都是正例点,但是他们距离超平面的距离是不一样,A点离的最远,若将A点预测为正例,则可信度高,点C距离超平面最近,则预测其为正例点,则可信度不是很高。

所以,一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面wx + b = 0确定的情况下,|wx + b| 可以表示点x距离超平面的远近,而wx + b的符号和对应的标签y是否一致能够表示分类是否正确,所以可以用y(wx + b)来表示分类的正确性和确信度。这就是函数间隔。

函数间隔:

对于给定的训练数据集T和超平面参数(w,b),则定义超平面(w,b)关于样本点(xi,yi)的函数间隔为:

支持向量机模型架构 支持向量机总结_支持向量机模型架构_03


定义超平面(w,b)关于T中所有样本点(x,y)的函数间隔,即就是最小的函数间隔:

支持向量机模型架构 支持向量机总结_支持向量机_04


函数间隔可以表示分类预测的正确性和确信度,但是选择分离超平面时,仅仅有函数间隔还不够,因为只要成比例的改变 w 和 b, 例如将他们改为 2w 和 2b,这时超平面为2wx + 2b = 0,化简后,还是wx + b = 0,超平面没有变,但是函数间隔却扩大了2倍。

所以我们给超平面的法向量 w 加上约束,如规范化,|| w || = 1,使得间隔确定,这时的函数间隔变为几何间隔。其中|| w || 为 w 的L2范数。

几何间隔:

对于给定的训练集T和超平面(w,b),定义超平面(w,b)关于样本点(xi,yi)的几何间隔为:

支持向量机模型架构 支持向量机总结_支持向量机模型架构_05


定义超平面(w,b)关于T中所有样本点(x,y)的几何间隔,即就是最小的几何间隔:

支持向量机模型架构 支持向量机总结_支持向量机_06

函数间隔和几何间隔的关系:

有上面的定义可以看出两者之间的关系:

支持向量机模型架构 支持向量机总结_支持向量机模型架构_07


若|| w || = 1,则几何间隔和函数间隔相等,当超平面参数w和b成比例改变时,函数间隔也按照比例改变吗,但是几何不变,故用几何间隔来分类预测的正确性和确信度

间隔最大化:

上面介绍了函数间隔和几何间隔的概念,但是如何实现间隔最大化还是不知道,继续往下:

**间隔最大化的解释:**对给定的训练集,找到几何间隔最大的超平面。这个超平面不仅可以将正负示例分割开来,而且对最难分的实例点,也可以有足够大的确信度将它们分开,这样的超平面泛化能力将会是最好的。

如何求最大间隔分离超平面:

这个问题可以表示为下面的约束最优化问题:

先是最大化几何间隔,以及每个样本点的几何间隔都要大于最小的几何间隔。然后根据几何间隔和函数间隔的关系,将问题变为和函数间隔有关:如下图:

支持向量机模型架构 支持向量机总结_确信度_08


函数间隔的值 r 其实是不影响最优化问题的;因为,将 w 和 b 按比例扩大,变为 2w 和 2b时,函数间隔也变为2r,两边就把2消除了,还是原来的式子,所以我们简化模型,将函数间隔取值为1,以及下面如图的操作。得到最终的优化问题

支持向量机模型架构 支持向量机总结_支持向量机_09