7.1 线性支持向量机
7.1.1 间隔
一、函数间隔
对于一个训练样本(xi,yi),它到(w,b)确定的超平面的函数间隔为:
函数间隔与距离是正相关的
yi=1,(wTxi+b)是一个大的正数
yi=−1,(wTxi+b)是一个比较小的负数
yi(wTxi+b)>0,说明模型对样本的预测是正确的
大的函数间隔→高的预测置信度
对于训练数据集S={(xi,yi), i=1,…,N},它的函数间隔定义为所有样本中最小的那个:
二、几何间隔

对于样本(xi,yi),yi=1,它到决策面的距离γi是线段AB的长度
其中,点B可以表示为:
由于点B在决策边界上,即:
求解此方程可以得到样本(xi,yi)的几何间隔为:
同样的,对于训练数据集S={(xi,yi), i=1,…,N},关于判别界面的几何间隔为:
函数间隔与几何间隔的关系:
显然,若∥w∥2=1,则二者相等
几何间隔具有不变性
三、最优间隔分类器
假设数据是线性可分的
给定一个训练集,一个自然的想法是试图找到一个使几何间隔最大化的决策边界,这表示对训练集的有可信的预测并且对训练数据的良好“拟合”

那么就需要最大化间隔,即:
可以将问题转化为几何间隔:
进一步简化问题,令几何间隔为单位1:
也就是说,在分类正确的情况下,样本到判别界面的距离应当大于单位1
7.1.2 拉格朗日对偶性
一、一般情况
对于一般的含有等式和不等式约束的最优化问题:
可以定义广义拉格朗日函数:
上式中,αi和βi分别是等式约束和不等式约束的拉格朗日乘子,并要求αi≥0
那么考虑对于w的函数:
这里下标P表示原始问题
假设存在wi使得约束条件不成立(即gi(w)>0或hi(w)=0),则可以通过令αi或βi等于正无穷来使得θP(w)=+∞
而若w满足全部约束,显然可以有θP(w)=f(w),即:
那么如果考虑最小问题:
它与原始最优化问题是等价的,问题wminα,β;αi≥0maxL(w,α,β)称为广义拉格朗日函数的极小极大问题。这样就将原始问题的最优解转化为了拉格朗日函数的极小极大问题。定义原始问题的最优值
为原始问题的值
二、对偶问题
定义:
考虑最大化θD(α,β),即:
问题maxα,β;αi≥0minwL(w,α,β)称为广义拉格朗日函数的极大极小问题。可以将广义拉格朗日函数的极大极小问题表示为如下约束:
这一优化问题就称为原始问题的对偶问题,并定义对偶问题的最优解:
为对偶问题的值
三、原始问题和对偶问题的关系
若原始问题和对偶问题都有最优解,则:
设w∗和α∗,β∗分别为原始问题和对偶问题的可行解,若d∗=p∗,则w∗和α∗,β∗分别是原始问题和对偶问题的最优解
四、KKT条件
对于原始问题和对偶问题,假设f(w)和gi(w)是凸函数,hi(w)是仿射函数,并且不等式约束是严格执行的,即gi(w)<0,则存在w∗,α∗,β∗,使得w是原始问题的解,α,β是对偶问题的解,且:
它的充分必要条件是以下Karush-Kuhn-Tucker(KKT)条件:
其中,上式中标红的部分称为KKT的对偶互补条件,总结下来就是:若强对偶(αi∗>0),则αi∗gi(w∗)=0
7.1.3 线性SVM
支持向量:距分离超平面最近的样本
输入:线性可分的数据集S={(xi,yi),i=1,…,N}
输出:判别函数及决策/判别界面
最优化问题
分离超平面:(w∗)Tx+b∗=0
判别函数:fw,b(x)=sign((w∗)Tx+b∗)
理论保证:对于线性可分的训练数据集,最大间隔分类器存在且唯一
一、最优间隔分类器的对偶解

对于上面的最优化问题,其约束条件为:
由于KKT对偶互补条件为αi∗gi(w)=0,而在本问题中显然至少有一个αi=0(证明略),因此满足KKT条件即要求:
而满足这一条件的样本就是支持向量,其距离到分离超平面的距离为单位1
支持向量的数量远小于样本数量,因此可以大大减少训练成本
将整个问题写为广义拉格朗日函数:
那么它的对偶问题为:
记对偶问题的最优值为d∗,令偏导数等于0,求解w∗和b∗:
带入拉格朗日函数,即有:
二、线性可分SVM的求解过程
输入线性可分的训练数据集S={(xi,yi),i=1,…,N}
首先通过求解对偶问题,得到拉格朗日乘子的最优解α∗:
进而得到原问题的最优解:
分离超平面:(w∗)Tx+b∗=0
判别函数:fw,b(w∗)Tx+b∗
在计算w∗和b∗时,只需要利用那些αi>0的那些样本(支持向量)来计算
对偶技巧:只需要计算训练样本与输入特征的内积——(xi)Tx=xi⋅x
7.1.4 非线性可分SVM
假设
本文中的绘图代码:
参考
https://www.kaggle.com/code/alaapdhall/custom-svm-with-numpy-vs-sklearn
最后更新于