第六章 支持向量机
6.1 间隔与支持向量
支持向量机:支持向量机与感知机一样都是找到一个超平面划分线性可分的数据集,但支持向量机所找到的超平面距离正负样例都最远,其解是唯一的,泛化性能更好。
n维空间的超平面
1、超平面方程不唯一
2、法向量w和位移项b确定唯一一个超平面
3、法向量w垂直于超平面(缩放w,b时,若缩放倍数为附属会改变法向量方向)
4、法向量w指向的那一半空间为正空间,另一半为负空间
5、任意点x到超平面的距离公式为
(对于负空间任意点(对于正空间则下式中为cos0),设其在超平面
的投影点为
,则
且
与法向量w平行,则
)
几何间隔:对于给定的数据集X和超平面,数据集X中的任意一个样本点(xi,yi),yi∈{-1,1},i=1,2,...,m关于超平面的几何间隔为
正确分类时γi>0,几何间隔此时等价于点到超平面的距离;没有正确分类时γi<0
(正确分类时,对于正空间上的点,>0,yi=1则γi>0;负空间上的点
<0,yi=-1则γi>0
错误分类时, 对于正空间上的点,>0,yi=-1则γi<0;负空间上的点
<0,yi=1则γi<0)
定义数据集X关于超平面的几何间隔为;数据集X中所有样本点关于超平面的几何间隔中的最小值,即
支持向量机:
(1)模型:对于给定的数据集X,支持向量机模型希望求出数据集关于超平面的几何间隔γ最大的超平面(数据集X中样本关于该超平面几何间隔的最小值相较于数据集X中样本关于其他超平面几何间隔的最小值更大),然后将超平面套上sign函数进行分类:
(当超平面未正确划分正负样本时,几何间隔最小的样本为误分类点,γ<0;当正确划分超平面时,γ≥0且越靠近中央γ越大,因此所找到的超平面为距离正负样本都最远的超平面)
(2)策略:给定线性可分的数据集X,设X中几何间隔最小的样本为(xmin,ymin),支持向量机找超平面的过程看转化为一下带约束条件的优化问题:(求使γ最大时的w、b,约束条件为γ为样本的几何间隔最小值)
若对w、b不做限制,则上述问题解不唯一(假设最优解为(w*,b*),则,
也是最优解,即相当于在
分子分母同乘α,在
左右两式同乘α),因此令
可解出唯一解,则
(求最大值即相当于求
最小值,也可转化为求
最小值)
(3)算法:上述问题为含不等式约束的优化问题且为凸优化问题,可采用求凸优化问题的方法求解,此次采用拉格朗日对偶求解。
6.2 对偶问题
凸优化问题:对于一般的约束优化问题:
如果f(x)为凸函数,约束集合为凸集(gi(x)为凸函数,hj(x)是线性函数时,约束集合为凸集),该问题为凸优化问题。
为关于w的凸函数,
也为关于w的凸函数,隐层支持向量机是凸优化问题。
拉格朗日对偶:对于一般的约束优化问题(不一定是凸优化问题):
设上述问题的定义域(D为f、gi、hj的定义域的交集),可行集为
,最优值p*=
,则上述优化问题的拉格朗日函数为
为拉格朗日乘子。
定义上述优化问题的拉格朗日对偶函数(x不为其自变量)为
关于x的下确界(函数值域的最小值,即
中x为使
最小的x取值),即
具有如下性质:
1、无论是否是凸优化问题,其恒为凹函数
2、μ≥0时,为p*的下界,即
(由于为D的子集,
为对
取关于x的最小值,因此L在D上的最小值小于或等于其在
上的最小值;
μ≥0时,由于≤0,则
≤0,
=0,
=0,而
,
)
定义满足μ≥0时,求对偶函数最大值的优化问题为拉格朗日对偶问题(原问题为主问题):
设该问题最优值为d*,则d*≤p*,此时称为“弱多偶成立”;d*=p*,则称为“强对偶成立”。(此时可通过求解d*间接求解p*)
1、当主问题满足某些充分条件时强对偶成立,强对偶成立。常见充分条件有Slater条件:若主问题为凸优化问题且可行集中存在一点使所有不等式约束成立,则强对偶成立。支持向量机满足Slater条件。
2、无论主问题是否为凸优化问题,对偶问题恒为凸优化问题(对偶函数为凹函数,加负号即可转化为凸函数;μ≥0恒为凸集)
3、设f(x)、gi(x)、hi(x)一节偏导连续,x*(μ*,λ*)分别为主问题和对偶问题最优解,若强对偶成立,则x*,μ*,λ*,满足下列5个条件(KKT条件):
对于支持向量机:
主问题:
拉格朗日函数:
推导方式1:
若将w、b合并为(
=
x),上式为关于
的凸函数,直接令其一阶导为0,然后带回即可得到最小值,即拉格朗日对偶函数。令
对w和b的偏导为0可得
带回可得拉格朗日对偶函数:
推导方式2:
为关于w的凸函数,关于b的线性函数。当b的系数不为0时,下确界为
;当b的系数为0时,下确界有其他部分确定,则
的下确界(即为拉个朗日对偶函数)为:
当b的系数为0时,求关于w,b的最小值时,只需考虑w且该式为关于w的凸函数,因此对上式关于w求导令等于0,然后带回原式可得
上述两种情况,要使得最大,则应该取
时,推出对偶问题如下
再根据强对偶性成立条件需满足如下KKT条件:
(一节偏导数为0的条件在推导对偶问题时已使用,且问题无等式约束条件)
解出α后,求出w与b即可得到模型
支持向量机采用拉格朗日对偶求解原因:
1、无论主问题为何种优化问题,对偶问题恒为凸优化问题,因此更容易求解(尽管支持向量机主问题为凸优化问题),且原始问题的时间复杂度和特征维数呈正比(未知量为w),而对偶问题和数据量成正比(未知量为α),当特征维数远高于数据量时拉格朗日对偶更高效;
2、对偶问题能很自然地引入核函数,进而推广到非线性分类问题(主要问题)
6.4 软间隔
软间隔:在现实中,线性不可分的情况最常见,因此要允许支持向量机犯错。从数学角度上,软间隔就是允许部分样本(尽可能少)不满足下式中的约束条件
可以将严格执行的约束条件转化为具有一定灵活性的“损失”,合格的损失函数要求如下:
1、满足约束条件式,损失为0
2、不满足约束条件时,损失不为0(通常损失大于0)
3、(可选)当不满足约束条件时,损失与其违法约束条件的程度成正比
则可得到下列损失函数:
(代表数据集的几何间隔;
为不满足
的损失)
其中,为“0/1损失函数”
C>0是一个常数(自己设定),用于调节损失的权重,当C→时,,为了使损失函数最小,会迫使所有样本的损失为0,进而退化为严格执行的约束条件(硬间隔)。
由于非凸、不连续,数学性质不好,因此常用其他函数代替,软间隔支持向量机采用hinge(合页)来进行代替:
替换进上式可得
引入松弛变量,
;则上述问题转化为
()
(松弛变量也可看作直接对条件
进行松弛,松弛变量即为损失量,损失函数即使数据集的几何间隔和松弛变量总和最小)
后续算法求解可参照支持向量机转化为对偶问题进行求解。其拉格朗日函数为
其中αi≥0,μi≥0是拉格朗日乘子,对w、b、
分别求偏导并令其为0可得
带回原式得到对偶问题
其KKT条件为
6.5 支持向量回归
支持向量回归(SVR):采用一个以为中心,宽度为2
的间隔带来拟合训练样本。落在间隔带上的样本不计损失,不落在间隔带上的样本以偏离带子的距离(
)作为损失然后最小化损失,使得间隔带从样本最密集的地方(中心地带)穿过。
SVR优化问题可以写为
为”
不敏感损失函数”:
为L2正则项,此处引入正则项除了起正则化本身的作用(防止过拟合)外,也是为了和软间隔支持向量机的优化目标保持形式上一致,从而导出对偶问题引入核函数。C为调节损失权重的常数。
同软间隔支持向量机,引入松弛变量,
,则SVR问题可以改写为
()
若两边采用不同的松弛程度,则
其拉格朗日函数为(为拉格朗日乘子)
对
求偏导并令偏导数为0可得
带回原式得其对偶问题为
其KKT条件为
仅当样本(xi,yi)不落入间隔带中,相应的才能取非零值。此外,由于,
和
不同式成立,则
中至少有一个为0,最终SVR的解形如
以上内容来自第6章-软间隔与支持向量回归_哔哩哔哩_bilibili和周志华老师的《机器回归》