之前的文章:线性可分硬间隔支持向量机
链接: 线性可分硬间隔支持向量机中所介绍的方法对于线性不可分的数据集并不适用,因为在求解凸二次规划问题时不能保证所有的约束条件都得到满足。
假设样本数据集是线性不可分的,训练数据中存在一些奇异点,将这些奇异点去除之后,剩余的大部分样本是线性可分的。
为了解决这个问题,对每一个样本点(xi,yi)引入一个松弛变量ξi⩾0,使函数间隔加上松弛变量大于等于1.这样,约束条件就变为了
yi(w⋅xi+b)⩾1−ξi
同时,对于每一个松弛变量ξi都支付一个代价ξi,于是,目标函数就变为了
21∣∣w∣∣2+Ci=1∑Nξi
其中,C>0为惩罚系数。
于是,线性不可分的线性支持向量机的学习问题变味了如下的凸二次规划问题(原始问题):
w,b,ξmin21∣∣w∣∣2+Ci=1∑Nξi
s.t.
yi(w⋅xi+b)⩾1=ξi,i=1,2,⋯,N
ξi⩾0,i=1,2,⋯,N
可以证明,w的解是唯一的,但是b的解可能不唯一,而是存在一个区间。
设上述问题的解为w∗,b∗,则可以得到分离超平面w∗⋅x+b=0以及分类决策函数f(x)=sign(w∗⋅x+b∗),并且把这样的模型称为线性支持向量机。
下面进行求解
写出上述目标函数的拉格朗日函数
L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑Nξi−i=1∑Nαi(yi(w⋅xi+b)−1+ξi)−i=1∑Nμiξi
其中,αi⩾0,μi⩾0
对偶问题为极大极小,首先求极小minw,b,ξL(w,b,ξ,α,μ)
分别求w,b,ξ的梯度得到:
w=i=1∑Nαiyixi
i=1∑Nαiyi=0
C−αi−μi=0
带入之前的问题,可得到最终需要求解的问题
αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
s.t.
i=1∑Nαiyi=0
0⩽αi⩽C,i=1,2,⋯,N
相比线性可分的模型,改变了约束条件。
设α∗=(α1∗,α2∗,⋯,αN∗)为对偶问题的一个解,若存在α∗的一个分量αj∗,0<αj∗<C,则原始问题的解w∗,b∗可按下式求得
w∗=i=1∑Nαi∗yixi
b∗=yi−i=1∑Nyiαi∗(xi⋅xj)
由此可求出:
i=1∑Nαi∗yi(x⋅xi)+b∗=0
分类决策函数为
f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
xjtu_rzc
发布了7 篇原创文章 · 获赞 0 · 访问量 3834
私信
关注