SVM(支持向量机)的一些思考:在margin上却不属于支持向量

首先支持向量机问题:

min ⁡ β , β 0    1 2 ∥ β ∥ 2 + C ∑ i = 1 N ξ i s . t . ξ i ≥ 0    , y i ( x i T β + β 0 ) ≥ 1 − ξ i , ∀ i (12.8) \begin{array}{ll} \underset{\beta,\beta_0}{\min}&\;\frac{1}{2}\Vert\beta\Vert^2+C\sum\limits_{i=1}^N\xi_i\\ s.t.& \xi_i\ge 0\;,y_i(x_i^T\beta+\beta_0)\ge 1-\xi_i,\forall i \end{array} \tag{12.8} β,β0mins.t.21β2+Ci=1Nξiξi0,yi(xiTβ+β0)1ξi,i(12.8)

拉格朗日函数:

L P = 1 2 ∥ β ∥ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i [ y i ( x i T β + β 0 ) − ( 1 − ξ i ) ] − ∑ i = 1 N μ i ξ i (12.9) L_P=\frac{1}{2}\Vert\beta\Vert^2+C\sum\limits_{i=1}^N\xi_i-\sum\limits_{i=1}^N\alpha_i[y_i(x_i^T\beta+\beta_0)-(1-\xi_i)]-\sum\limits_{i=1}^{N}\mu_i\xi_i\tag{12.9} LP=21β2+Ci=1Nξii=1Nαi[yi(xiTβ+β0)(1ξi)]i=1Nμiξi(12.9)

先写出KKT条件:

12.10:对 β \beta β求偏导,12.11:对 β 0 \beta_0 β0求偏导,12.12:对 ϵ i \epsilon_i ϵi求偏导

β = ∑ i = 1 N α i y i x i 0 = ∑ i = 1 N α i y i α i = C − μ i ,    ∀ i , \begin{align} \beta&=\sum\limits_{i=1}^N\alpha_iy_ix_i& \tag{12.10}\\ 0&= \sum\limits_{i=1}^N\alpha_iy_i& \tag{12.11}\\ \alpha_i&=C-\mu_i,\;\forall i,& \tag{12.12} \end{align} β0αi=i=1Nαiyixi=i=1Nαiyi=Cμi,i,(12.10)(12.11)(12.12)

α i [ y i ( x i T β + β 0 ) − ( 1 − ξ i ) ] = 0 μ i ξ i = 0 y i ( x i T β + β 0 ) − ( 1 − ξ i ) ≥ 0 \begin{align} \alpha_i[y_i(x_i^T\beta+\beta_0)-(1-\xi_i)]&=0& \tag{12.14}\\ \mu_i\xi_i&=0& \tag{12.15}\\ y_i(x_i^T\beta+\beta_0)-(1-\xi_i)&\ge 0& \tag{12.16} \end{align} αi[yi(xiTβ+β0)(1ξi)]μiξiyi(xiTβ+β0)(1ξi)=0=00(12.14)(12.15)(12.16)

KKT条件总结了两种情况:

  1. 极值在边界取到,此时约束取等号
  2. 极值在可行域内部取到,此时约束取不等号

因此分类可得(注意这里分类的技巧,必须按照约束是否为0进行分类,如果用变量是否为0进行分类,则变量为0时,约束仍然可能为0,需要再次分类):

  • ξ i = 0 \xi_i=0 ξi=0时,点在边缘上, μ ≥ 0 \mu\ge 0 μ0(12.15),

    • y i ( x i T β + β 0 ) − 1 = 0 y_i(x_i^T\beta+\beta_0)-1=0 yi(xiTβ+β0)1=0:点落在边缘上,此时根据12.12, 0 ≤ α < C 0\le\alpha0α<C
    • y i ( x i T β + β 0 ) − 1 > 0 y_i(x_i^T\beta+\beta_0)-1>0 yi(xiTβ+β0)1>0:点在边缘外,此时根据12.14, α = 0 \alpha=0 α=0, μ = C \mu=C μ=C
  • ξ > 0 \xi_>0 ξ>0时,点在边缘内侧,不满足原来的约束, μ = 0 \mu= 0 μ=0(12.15)

    • y i ( x i T β + β 0 ) − ( 1 − ξ i ) ≥ 0 y_i(x_i^T\beta+\beta_0)-(1-\xi_i)\ge 0 yi(xiTβ+β0)(1ξi)0 α = C \alpha=C α=C(12.12)

点在边缘外侧, α = C \alpha=C α=C,点在边缘内侧 α = 0 \alpha=0 α=0,点在边缘上, α \alpha α可能等于0。

为什么在边缘上仍然不是支持向量呢?

根据拉格朗日乘数法: ∇ f ( x ) = − α h ( x ) \nabla f(x)=-\alpha h(x) f(x)=αh(x) ,其中f是目标函数也就是 1 2 w 2 \frac12w^2 21w2,h是约束,

α = 0 \alpha=0 α=0时,说明 ∇ f ( x ) = 0 \nabla f(x)=0 f(x)=0,也就是 w = 0 w=0 w=0,代入原方程可以得到w=0, b=0,这是我们需要避免的。因此这种情况是不会出现的,换句话说在边缘上的一定是支持向量。

你可能感兴趣的:(人工智能)