参考书:李航《统计学习方法》
学习线性可分支持向量机的时候遇到多个问题,做这个笔记总结下。
支持向量机由简至繁可分为3种:线性可分支持向量机、线性支持向量机、非线性支持向量机。这个笔记只记录线性可分支持向量机。
一、基本概念
1.1、线性可分支持向量机的定义
给定线性可分训练数据集,通过间隔最大化或者等价地求解相应的凸二次规划问题学习得到的分离超平面为:
以及相应的分类决策函数:
称为线性可分支持向量机。(抄书)
1.2、函数间隔和几何间隔
详细介绍可以参考我的另一篇文,https://blog.youkuaiyun.com/lvhuike/article/details/103766716,文里专门写了函数间隔和几何间隔,这里就简单的介绍下概念和它们之间的关系。
1.2.1、函数间隔
相对地表示点到超平面的远近,不是点到超平面的距离,公式为:
1.2.2、几何间隔
表示点到超平面的距离,公式为:
1.2.3、函数间隔和几何间隔的关系
通过它们的公式,我们可以发现:
既然已经有了函数间隔为什么还要用几何间隔呢?
如果等比例缩放w,b,几何间隔不会变,但是函数间隔会等比例缩放,因此用几何间隔更稳定。
二、间隔最大化
支持向量机学习的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。(抄书)
2.1、间隔最大化定义
对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实力点(离超平面最近的点)也有足够大的确信度将它们分开,这样的超平面应该对未知的新实例有很好的分类预测能力。(抄书)
2.2、最大间隔分离超平面
用约束问题表示为:
代入函数间隔和几何间隔的关系式,得到:
最大化公式和约束都除以得到:
我们用 表示w,b,得到:
另外,最大化和
最小化是等价的,因此我们得到:
这是凸二次规划问题。解出来,那就得到了超平面
以及分类决策函数
。
接下来介绍这个问题的求解思路和方法。
三、最大间隔分离超平面求解
3.1、凸优化问题和去约束
一般的凸优化问题的形式如下:
通过构建拉格朗日函数来去约束:
3.2、对偶算法
先把最大间隔分离超平面去约束,通过拉格朗日函数来做:
其中,
这里说明一下,因为最大间隔分离超平面的约束是大于等于,一般的凸优化问题是小于等于,因此构造出来的拉格朗日函数第二项才是减号的。
接下来,让我们了解下极大极小问题和极小极大问题。
上面的拉格朗日函数,是最大间隔分离超平面的约束,有2种结果,大于等于0或者小于0,大于等于0时,此时满足约束,这时L(w,b,a)最大只能是
,当小于0时,此时不满足约束,这时L(w,b,a)最大能取到无穷大。
上述一段话可以用以下形式表示:
我们令 ,然后考虑
的极小问题:
到此,我们得到了拉格朗日函数的极小极大问题。然后我们用拉格朗日函数的对偶性,得到对偶问题的形式:
因为 ,要使
,需要满足以下条件:
(1)优化问题时凸优化问题(已经满足)
(2)满足以下KKT条件:
为了得到对偶问题的解,先对L(w,b,a)对w,b的极小,再求对a的极大。
3.2.1、求
L(w,b,a)对w,b分别求导并令导数为0:
得到:
把得到的结果代入拉格朗日函数得到:
3.2.2、求对a的极大