1. 软间隔
前文中讲到的线性支持向量机默认样本数据集是线性可分的,即存在一个超平面能将两个类别的数据完全分开。然而,现实任务的样本很难找到合适的核函数来使得样本在特征空间中线性可分。解决该问题的思路是:允许出现一些错误,并且要使得间隔最大的同时,错误最小化。
上图是软间隔的示意图,红色圈出来的点是分类错误的点,在错误最小化的同时也能找到间隔最大的超平面。对比之下,我们知道线性支持向量机要求所有样本都分类正确,即:
y i ( w T x i + b ) ≥ 1 \begin{aligned} y_i (w^Tx_i+b) \geq 1 \end{aligned} yi(wTxi+b)≥1
这个称为“硬间隔”。所谓“软间隔”就是要求不要那么严格,允许出现少量的样本会分类错误。当然也不能太“软“”,所以软间隔支持向量机的目标是最大化间隔的同时分错的点尽可能少,即目标函数为:
m i n [ w , b ] 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m L o s s ( z ) \begin{aligned} min_{[w,b]}\enspace\cfrac{1}{2}||w||^2+C\sum_{i=1}^mLoss(z) \end{aligned} min[w,b]21∣∣w∣∣2+Ci=1∑mLoss(z)
2. 软间隔SVM模型
引入损失函数后,模型可以度量分类错误的程度大小,而软间隔SVM采用hinge损失: L o s s ( z ) = m a x ( 0 , 1 − z ) , z = y i ( w T x i + b ) Loss(z)=max(0,1-z),z=y_i(w^Tx_i+b) Loss(z)=max(0,1−z),z=yi(wTxi+b)。此时,目标函数改写为:
m i n [ w , b ] 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m m a x ( 0 , 1 − y i ( w T x i + b ) ) \begin{aligned} min_{[w,b]}\enspace\cfrac{1}{2}||w||^2+C\sum_{i=1}^mmax(0,1-y_i(w^Tx_i+b)) \end{aligned} min[w,b]21∣∣w∣∣2+Ci=1∑mmax(0,1−yi(wTxi+b))
C > 0是惩罚系数,表示损失的权重。C无穷大时,要使得损失最小,只能使得 m a x ( 0 , 1 − y i ( w T x i + b ) ) = 0 max(0,1-y_i(w^Tx_i+b))=0 max(0,1−yi(wTxi+b))=0,即所有样本都要分类正确;C为0时,引入的损失毫无意义;故而C为一定值时,允许一些样本分类错误。
如果我们令 ∑ i = 1 m m a x ( 0 , 1 − y i ( w T x i + b ) ) = ∑ i = 1 m ξ i \sum_{i=1}^mmax(0,1-y_i(w^Tx_i+b)) =\sum_{i=1}^m \xi_i ∑i=1mmax(0,1−yi(wTxi+b))=∑i=1mξi,可能出现两种情况:
- y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b) \geq 1 yi(wTxi+b)≥1时,即样本不会分错,那么 ξ i = 0 \xi_i=0 ξi=0
- otherwise,样本会分错,那么 ξ i = 1 − y i ( w T x i + b ) > 0 \xi_i=1-y_i(w^Tx_i+b) > 0 ξi=1−yi(wTxi+b)>0
称 ξ i ≥ 0 \xi_i \geq 0 ξi≥0为松弛变量,那么目标函数可以改写为:
m i n [ w , b ] 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \begin{aligned} min_{[w,b]}\enspace\cfrac{1}{2}||w||^2+C\sum_{i=1}^m \xi_i \end{aligned} min[w,b]21∣∣w∣∣2+Ci=1∑mξi
ξ i = 0 \xi_i=0 ξi=0时,样本满足约束 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b) \geq 1 yi(wTxi+b)≥1
ξ i > 0 \xi_i>0 ξi>0时,样本满足 y i ( w T x i + b ) = 1 − ξ i y_i(w^Tx_i+b) =1-\xi_i yi(wTxi+b)=1−ξi
综上,得到软间隔SVM模型:
m i n [ w , b ] 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s . t . y i ( w T x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 \begin{aligned} &min_{[w,b]}\enspace\cfrac{1}{2}||w||^2+C\sum_{i=1}^m \xi_i \\\\ &s.t.\enspace y_i(w^Tx_i+b) \geq1-\xi_i,\xi_i \geq 0 \end{aligned} min[w,b]21∣∣w∣∣2+Ci=1∑mξis.t.yi(wTxi+b)≥1−ξi,ξi≥0
显然,这个模型依然是个二次规划问题,我们下一步求解它的对偶问题。
3. 软间隔SVM的对偶问题
设拉格朗日辅助函数:
L ( w , b , α , ξ , u ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 m u i ξ i \begin{aligned} L(w,b,\alpha,\xi,u)=&\cfrac{1}{2}||w||^2+C\sum_{i=1}^m \xi_i\\&+\sum_{i=1}^m\alpha_i(1-\xi_i-y_i(w^Tx_i+b))-\sum_{i=1}^mu_i\xi_i \end{aligned} L(w,b,α,ξ,u)=21∣∣w∣∣2+Ci=1∑mξi+