这篇博客是看完李航《统计学习方法》,对其中知识点的梳理!!
文章目录
- 概念:
- 线性可分支持向量(硬间隔最大化):
- 学习的目标:
- 线性可分支持向量的定义:
- 函数间隔与几何间隔:
- 函数间隔:
- 几何间隔:
- 函数间隔和几何间隔的关系:
- 间隔最大化:
- 如何求最大间隔分离超平面:
概念:
支持向量机(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”代表负例,训练集线性可分,这时有无穷多直线可以将这两类数据划分开来。
感知机利用误分类数最小的策略,求得分离超平面,不过这时的解有无穷多个;
而线性可分支持向量机利用间隔最大化求最优的分离超平面,这时解是唯一的。
继续看上面的图,有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)的函数间隔为:
定义超平面(w,b)关于T中所有样本点(x,y)的函数间隔,即就是最小的函数间隔:
函数间隔可以表示分类预测的正确性和确信度,但是选择分离超平面时,仅仅有函数间隔还不够,因为只要成比例的改变 w 和 b, 例如将他们改为 2w 和 2b,这时超平面为2wx + 2b = 0,化简后,还是wx + b = 0,超平面没有变,但是函数间隔却扩大了2倍。
所以我们给超平面的法向量 w 加上约束,如规范化,|| w || = 1,使得间隔确定,这时的函数间隔变为几何间隔。其中|| w || 为 w 的L2范数。
几何间隔:
对于给定的训练集T和超平面(w,b),定义超平面(w,b)关于样本点(xi,yi)的几何间隔为:
定义超平面(w,b)关于T中所有样本点(x,y)的几何间隔,即就是最小的几何间隔:
函数间隔和几何间隔的关系:
有上面的定义可以看出两者之间的关系:
若|| w || = 1,则几何间隔和函数间隔相等,当超平面参数w和b成比例改变时,函数间隔也按照比例改变吗,但是几何不变,故用几何间隔来分类预测的正确性和确信度
间隔最大化:
上面介绍了函数间隔和几何间隔的概念,但是如何实现间隔最大化还是不知道,继续往下:
**间隔最大化的解释:**对给定的训练集,找到几何间隔最大的超平面。这个超平面不仅可以将正负示例分割开来,而且对最难分的实例点,也可以有足够大的确信度将它们分开,这样的超平面泛化能力将会是最好的。
如何求最大间隔分离超平面:
这个问题可以表示为下面的约束最优化问题:
先是最大化几何间隔,以及每个样本点的几何间隔都要大于最小的几何间隔。然后根据几何间隔和函数间隔的关系,将问题变为和函数间隔有关:如下图:
函数间隔的值 r 其实是不影响最优化问题的;因为,将 w 和 b 按比例扩大,变为 2w 和 2b时,函数间隔也变为2r,两边就把2消除了,还是原来的式子,所以我们简化模型,将函数间隔取值为1,以及下面如图的操作。得到最终的优化问题: