支持向量机(SVM)第三章---软间隔

参考周老师《机器学习》

在前面两章里,我们都是假设样本在原始空间或者高维空间里线性可分,并且我们提到核函数的选择成为SVM的关键。即使我们找到了合适的核函数,也难断定是否是因过拟合造成的。

引入软间隔,允许一些样本不满足约束条件。在前面两章所介绍的都是硬间隔,即所有样本都必须满足约束条件。


这里写图片描述

优化目标为:
min 1 2 | | w | | 2 + C i = 1 n l 0 / 1 ( y i ( w T x i + b ) 1 )
其中 C > 0 是一个常数, l 0 / 1 是”0-1损失函数“。

  • z < 0 l 0 / 1 ( z ) = 1
  • z 0 , l 0 / 1 = 0

然而 l 0 / 1 是非凸、非连续的,因此需要一些“替代损失”,它们是凸的连续的且是 l 0 / 1 的上界。比如:hinge损失、指数损失、对率损失


这里写图片描述

用hinge损失代替优化目标里的0-1损失:
min 1 2 | | w | | 2 + C i = 1 n m a x ( 0 , ( y i ( w T x i + b ) 1 ) )

引入松弛变量 ξ i 0 ,又可进一步重写为:
min 1 2 | | w | | 2 + C i = 1 n ξ i
s . t . y i ( w T x i + b ) 1 ξ i
ξ i 0 , i = 1 , 2 , . . . , n

通过拉格朗日乘子法可以得到对应的拉格朗日函数:
L ( w , b , ξ ) = 1 2 | | w | | 2 + C i = 1 n ξ i + i = 1 n β i ( ξ i ) + i = 1 n α i ( 1 ξ i y i ( w T x i + b ) )
其中 α i 0 , β i 0 是拉格朗日乘子
L w = w i = 1 n α i y i x i = 0
w = i = 1 n α i y i x i
L b = i = 1 n α i y i = 0
i = 1 n α i y i = 0
L ξ i = C β i α i = 0
C = β i + α i

带入上面的拉格朗日函数便得到软间隔支持向量机的对偶问题:


这里写图片描述

软间隔支持向量机的KKT条件:

  • L w = 0 , L b = 0 , L ξ i = 0
  • ξ i 0 , 1 ξ i y i ( w T x i + b ) 0
  • α i 0 , β i 0
  • α i ( 1 ξ i y i ( w T x i + b ) ) = 0 , β i ( ξ i ) = 0

最终的模型仍是:
f ( x ) = w T x + b = i = 1 n α i y i x i T x + b

根据KKT可知:
α i = 0 对应的样本不对 f ( x ) 产生影响;当 α i > 0 时,此时对应的样本是支持向量,如果 α i < C ,根据 C = α i + β i ,可知 β i > 0 ,那么 ξ i = 0 ,则该样本在最大间隔边界上;如果 α i = C ,那么 β i = 0 ,如果 ξ i 1 ,则样本落在最大间隔内部,若 ξ i > 1 ,则样本被错误分类。

软间隔支持向量机的最终模型同样只与支持向量有关,通过hinge损失函数保持了解的稀疏性。

猜你喜欢

转载自blog.csdn.net/YQMind/article/details/80379225