引言
如果假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。退一步说,即使恰好找到了某个核函数使训练样本在特征空间中线性可分,也很难判定这个貌似线性可分的结果不是由于过拟合造成的。
缓解该问题的方法就是要引入“软间隔”概念,即允许支持向量机在一些样本上出错。
一、软间隔
上图是软间隔的示意图,红色圈出来的点是分类错误的点,在错误最小化的同时也能找到间隔最大的超平面。对比之下,我们知道线性支持向量机要求所有样本都分类正确,即:
这个称为“硬间隔”。所谓“软间隔”就是要求不要那么严格,允许出现少量的样本会分类错误。当然也不能太“软“”,所以软间隔支持向量机的目标是最大化间隔的同时分错的点尽可能少,即目标函数为:
二、软间隔SVM模型
引入损失函数后,模型可以度量分类错误的程度大小,而软间隔SVM采用hinge损失:(
) =
(
,
) ,
=
(
+ b ) 。此时目标函数改写为:
C > 0是惩罚系数,表示损失的权重。C无穷大时,要使得损失最小,只能使得
即所有样本都要分类正确;C为0时,引入的损失毫无意义;故而C为一定值时,允许一些样本分类错误。如果我们令:
可能出现两种情况: