线性支持向量机(SVM)与软间隔最大化

之前的文章:线性可分硬间隔支持向量机
链接: 线性可分硬间隔支持向量机中所介绍的方法对于线性不可分的数据集并不适用,因为在求解凸二次规划问题时不能保证所有的约束条件都得到满足。
假设样本数据集是线性不可分的,训练数据中存在一些奇异点,将这些奇异点去除之后,剩余的大部分样本是线性可分的。
为了解决这个问题,对每一个样本点(xi,yi)(x_i,y_i)(xi​,yi​)引入一个松弛变量ξi0\xi_i\geqslant0ξi​⩾0,使函数间隔加上松弛变量大于等于1.这样,约束条件就变为了
yi(wxi+b)1ξiy_i(w\cdot x_i+b)\geqslant1-\xi_iyi​(w⋅xi​+b)⩾1−ξi​
同时,对于每一个松弛变量ξi\xi_iξi​都支付一个代价ξi\xi_iξi​,于是,目标函数就变为了
12w2+Ci=1Nξi\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i21​∣∣w∣∣2+Ci=1∑N​ξi​
其中,C>0C>0C>0为惩罚系数。
于是,线性不可分的线性支持向量机的学习问题变味了如下的凸二次规划问题(原始问题):
minw,b,ξ12w2+Ci=1Nξi\min_{w,b,\xi}\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_iw,b,ξmin​21​∣∣w∣∣2+Ci=1∑N​ξi​
s.t.
yi(wxi+b)1=ξi,i=1,2,,Ny_i(w\cdot x_i+b)\geqslant1=\xi_i, i=1,2,\cdots,Nyi​(w⋅xi​+b)⩾1=ξi​,i=1,2,⋯,N
ξi0,i=1,2,,N\xi_i\geqslant0,i=1,2,\cdots,Nξi​⩾0,i=1,2,⋯,N
可以证明,ww\,w的解是唯一的,但是b\,b\,b的解可能不唯一,而是存在一个区间。
设上述问题的解为ww^*w∗,bb^*b∗,则可以得到分离超平面wx+b=0w^*\cdot x+b=0w∗⋅x+b=0以及分类决策函数f(x)=sign(wx+b)f(x)=sign(w^*\cdot x+b^*)f(x)=sign(w∗⋅x+b∗),并且把这样的模型称为线性支持向量机。
下面进行求解
写出上述目标函数的拉格朗日函数
L(w,b,ξ,α,μ)=12w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1NμiξiL(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i-\sum_{i=1}^N\alpha_i(y_i(w\cdot x_i+b)-1+\xi_i)-\sum_{i=1}^N\mu_i\xi_iL(w,b,ξ,α,μ)=21​∣∣w∣∣2+Ci=1∑N​ξi​−i=1∑N​αi​(yi​(w⋅xi​+b)−1+ξi​)−i=1∑N​μi​ξi​
其中,αi0,μi0\alpha_i\geqslant0,\mu_i\geqslant0αi​⩾0,μi​⩾0
对偶问题为极大极小,首先求极小minw,b,ξL(w,b,ξ,α,μ)\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)minw,b,ξ​L(w,b,ξ,α,μ)
分别求w,b,ξw,b,\xiw,b,ξ的梯度得到:
w=i=1Nαiyixiw = \sum_{i=1}^Nα_iy_ix_iw=i=1∑N​αi​yi​xi​
i=1Nαiyi=0\sum_{i=1}^Nα_iy_i=0i=1∑N​αi​yi​=0
Cαiμi=0C-\alpha_i-\mu_i=0C−αi​−μi​=0
带入之前的问题,可得到最终需要求解的问题
minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi\min_{\alpha}\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_iαmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)−i=1∑N​αi​
s.t.
i=1Nαiyi=0\sum_{i=1}^N\alpha_iy_i = 0i=1∑N​αi​yi​=0
0αiC,i=1,2,,N0\leqslant\alpha_i\leqslant C,i=1,2,\cdots,N0⩽αi​⩽C,i=1,2,⋯,N
相比线性可分的模型,改变了约束条件。
α=(α1,α2,,αN)\alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)α∗=(α1∗​,α2∗​,⋯,αN∗​)为对偶问题的一个解,若存在α\alpha^*α∗的一个分量αj\alpha^*_jαj∗​,0<αj<C0<\alpha^*_j<C0<αj∗​<C,则原始问题的解w,bw^*,b^*w∗,b∗可按下式求得
w=i=1Nαiyixiw^*=\sum_{i=1}^N\alpha_i^*y_ix_iw∗=i=1∑N​αi∗​yi​xi​
b=yii=1Nyiαi(xixj)b^*=y_i-\sum_{i=1}^Ny_i\alpha_i^*(x_i\cdot x_j)b∗=yi​−i=1∑N​yi​αi∗​(xi​⋅xj​)
由此可求出:
i=1Nαiyi(xxi)+b=0\sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*=0 i=1∑N​αi∗​yi​(x⋅xi​)+b∗=0
分类决策函数为
f(x)=sign(i=1Nαiyi(xxi)+b)f(x)=sign(\sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*)f(x)=sign(i=1∑N​αi∗​yi​(x⋅xi​)+b∗)

线性支持向量机(SVM)与软间隔最大化线性支持向量机(SVM)与软间隔最大化 xjtu_rzc 发布了7 篇原创文章 · 获赞 0 · 访问量 3834 私信 关注
上一篇:latex常用符号总结


下一篇:奇数码问题 Page38 归并排序计算逆序对