线性支持向量机的软间隔最大化模型
不完全线性可分
实际问题中,数据不一定完全线性可分。
数据线性可分,但间隔小
左图:少量样本被错分但间隔大
右图:样本被完全分对,但间隔小
样本完全线性可分时: y i ( w T x i + b ) ≥ 1 y_i ( \mathbf{w}^T \mathbf{x}_i + b) \ge 1 yi(wTxi+b)≥1
实际问题中,数据未必完全线性可分,因此有了软间隔(soft margin)的概念,它允许样本分错,即允许样本不满足约束,落实到约束条件,引入松弛变量(slack variables) ξ i ≥ 0 \xi_i \ge 0 ξi≥0,使得
y i ( w T x i + b ) ≥ 1 − ξ i y_i ( \mathbf{w}^T \mathbf{x}_i + b ) \ge 1 - \xi_i yi(wTxi+b)≥1−ξi
当然我们不希望约束放得太松,因此会要求 ξ i \xi_i ξi尽可能低,反映到优化问题本身,就变成下面的数学形式:
min w , b , C 1 2 ∣ ∣ w ∣ ∣ 2 2 + C ∑ i = 1 N ξ i s . t . y i ( w T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯ , N ξ i ≥ 0 , i = 1 , 2 , ⋯ , N \begin{aligned} &\min_{\mathbf{w}, b, C} \frac{1}{2}||\mathbf{w}||_2^2 + C\sum_{i=1}^N \xi_i \\ s.t. \quad y_i( \mathbf{w}^T& \mathbf{x}_i + b ) \ge 1-\xi_i, \quad i = 1,2,\cdots,N \\ &\xi_i \ge 0, \quad i = 1,2,\cdots,N \end{aligned} s.t.yi(wTw,b,Cmin21∣∣w∣∣22+Ci=1∑Nξixi+b)≥1−ξi,i=1,2,⋯,Nξi≥0,i=1,2,⋯,N
参数 C > 0 C \gt 0 C>0是惩罚项系数,它控制间隔和松弛变量惩罚项之间的平衡, C C C越大,对误分类的惩罚越大,反之,则误分类的惩罚越小。实际应用中,参数 C C C需要调参确定。
现在的优化目标变为:间隔尽可能大的同时样本被误分类的程度尽可能小。
软间隔最大化目标函数的优化
和硬间隔线性可分SVM的优化方式类似,先用拉格朗日乘子法,将目标函数变成:
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i [ y i ( w T x i + b ) − 1 + ξ i ] − ∑ i = 1 N μ i ξ i L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) = \frac{1}{2}||\mathbf{w}||_2^2 + C\sum_{i=1}^N \xi_i - \sum_{i=1}^N \alpha_i[ y_i(\mathbf{w}^T\mathbf{x}_i+b) - 1+ \xi_i ] - \sum_{i=1}^N \mu_i \xi_i L(w,b,ξ,α,μ)=21∣∣w∣∣22+Ci=1∑Nξi−i=1∑Nαi[yi(wTxi+b)−1+ξi]−i=1∑Nμiξi
使优化问题变为
min w , b , ξ max α , μ L ( w , b , ξ , α , μ ) s . t . ξ i ≥ 0 , i = 1 , 2 , ⋯ , N α i ≥ 0 , i = 1 , 2 , ⋯ , N μ i ≥ 0 , i = 1 , 2 , ⋯ , N \begin{aligned} &\min_{\mathbf{w}, b, \boldsymbol{\xi}} \max_{\boldsymbol{\alpha}, \boldsymbol{\mu}} L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) \\ s.t. \quad &\xi_i \ge 0, \quad i=1,2,\cdots,N \\ &\alpha_i \ge 0, \quad i=1,2,\cdots,N \\ &\mu_i \ge 0, \quad i=1,2,\cdots,N \end{aligned} s.t.w,b,ξminα,μmaxL(w,b,ξ,α,μ)ξi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,Nμi≥0,i=1,2,⋯,N
优化问题满足KKT条件,可以等价为对偶问题
max α , μ min w , b , ξ L ( w , b , ξ , α , μ ) s . t . ξ i ≥ 0 , i = 1 , 2 , ⋯ , N α i ≥ 0 , i = 1 , 2 , ⋯ , N μ i ≥ 0 , i = 1 , 2 , ⋯ , N \begin{aligned} &\max_{\boldsymbol{\alpha}, \boldsymbol{\mu}} \min_{\mathbf{w}, b, \boldsymbol{\xi}} L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) \\ s.t. \quad& \xi_i \ge 0, \quad i=1,2,\cdots,N \\ &\alpha_i \ge 0, \quad i=1,2,\cdots,N \\ &\mu_i \ge 0, \quad i=1,2,\cdots,N \end{aligned} s.t.α,μmaxw,b,ξminL(w,b,ξ,α,μ)ξi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,Nμi≥0,i=1,2,⋯,N
先求目标函数的极小化问题, L ( w , b , ξ , α , μ ) L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) L(w,b,ξ,α,μ)对参数求偏导得:
{ ∂ L ∂ w = 0 ⇒ w = ∑ i = 1 N α i y i x i ∂ L ∂ b = 0 ⇒ ∑ i = 1 N α i y i = 0 ∂ L ∂ ξ i = 0 ⇒ C − α i − μ i = 0 \left\{ \begin{aligned} &\frac{\partial L}{\partial \mathbf{w}} = 0 \Rightarrow \mathbf{w} = \sum_{i=1}^N\alpha_i y_i \mathbf{x}_i \\ &\frac{\partial L}{\partial b} = 0 \Rightarrow \sum_{i=1}^N \alpha_i y_i = 0 \\ &\frac{\partial L}{\partial \xi_i} = 0 \Rightarrow C - \alpha_i - \mu_i = 0 \end{aligned} \right. ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∂w∂L=0⇒w=i=1∑Nαiyixi∂b∂L=0⇒i=1∑Nαiyi=0∂ξi∂L=0⇒C−αi−μi=0
令
ψ ( α , μ ) = min w , b , ξ L ( w , b , ξ , α , μ ) \psi(\boldsymbol{\alpha}, \boldsymbol{\mu}) = \min_{\mathbf{w}, b, \boldsymbol{\xi}} L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) ψ(α,μ)=w,b,ξminL(w,b,ξ,α,μ)
把以上偏导结果代回 L ( w , b , ξ , α , μ ) L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) L(w,b,ξ,α,μ),有
ψ ( α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i [ y i ( w T x i + b ) − 1 + ξ i ] − ∑ i = 1 N μ i ξ i = 1 2 ∣ ∣ w ∣ ∣ 2 2 + ∑ i