SVM

SVM(线性模型)数学推导

在这里插入图片描述

学习路线:先线性二分类解释清楚,再加入核方法扩展至非线性二分类


几个重要的概念

  1. 训练样本集

    ( x i , y i ) (\boldsymbol{x}_i,y_i) (xi,yi),其中 x i \boldsymbol{x_i} xi n n n维列向量,表示 n n n维特征; y i y_i yi为标签,当 y i = + 1 y_i=+1 yi=+1时为正样本, y i = − 1 y_i=-1 yi=1时为负样本。

    则训练样本集为: D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) , y ∈ − 1 , + 1 D={( \boldsymbol{x}_{\boldsymbol{1}},y_1 ) ,( \boldsymbol{x}_2,y_2 ) ,\cdots ,( \boldsymbol{x}_m,y_m ) } , y\in {-1,+1 } D=(x1,y1),(x2,y2),,(xm,ym),y1,+1


  2. 什么叫超平面

    如上图,若在二维空间内(两个特征),若数据为线性可分,则可以用一条直线将正负样本区分开来(2分类问题);若在三维空间则为一个平面;三维空间以上无法想象统称为超平面。

    但上图中区分正负样本肯定又不止一种划分方法,何者为最优?最优者才叫做SVM的超平面。

    最优的判断标准则是,若对数据样本加以扰动(可以理解为采样样本总有误差),那么SVM超平面具有最佳的鲁棒性。从几何上来看,在上图中,若将超平面左右平移,直至触碰到最近的样本,那么这个被界定的范围记为 d d d,则SVM的超平面是有最大 d d d的那个超平面。


  3. 什么叫支持向量

    SVM超平面左右平移最先触碰到的为支持向量


  4. 超平面的方程
    w T x + b = 0 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=0 wTx+b=0
    其中: w \boldsymbol{w} w x \boldsymbol{x} x都是 n × 1 n\times 1 n×1的列向量, n n n是特征维数。 b b b为标量; w \boldsymbol{w} w还是超平面的法向量, b b b控制了超平面到原点的距离。确定了 w \boldsymbol{w} w b b b,超平面就被完全确定了。

    那么在超平面上方数据 w T x + b > 0 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b>0 wTx+b>0;在超平面下方数据 w T x + b < 0 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b<0 wTx+b<0


  5. w T x + b = 0 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=0 wTx+b=0 ζ w T x + ζ b = 0 \zeta\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+\zeta b=0 ζwTx+ζb=0表示的是同一个超平面

    如: 4 x + 4 y = 0 4x+4y=0 4x+4y=0 和 $ x+y=0$是同一个平面, 4 x + 4 y = 4 4x+4y=4 4x+4y=4和$ x+y=1$也是同一个平面


  6. 线性可分数据集的定义

    在数据集 ( x i , y i ) i = 1 ∼ m {( \boldsymbol{x}_i,y_i ) } _{i=1\sim m} (xi,yi)i=1m中, ∃ ( w , b ) \exists ( \boldsymbol{w},b ) (w,b),使得对于 ∀ i = 1 ∼ m \forall i=1 \sim m i=1m,有:
    { 若 y i = + 1 , 则 w T x i + b > 0 若 y i = − 1 , 则 w T x i + b < 0 \begin{cases} \text{若}y_i=+1, \text{则}\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b> 0\\ \text{若}y_i=-1, \text{则}\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b< 0\\ \end{cases} {yi=+1,wTxi+b>0yi=1,wTxi+b<0
    即正样本全部分到上方,负样本全部分到下方

    等价于 y i ( w T x i + b ) > 0 y_i(\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b)> 0 yi(wTxi+b)>0


  7. 点到平面距离公式

    ( x 0 , y 0 ) (x_0,y_0) (x0,y0)到平面 w 1 x + w 2 y + b = 0 w_1x+w_2y+b=0 w1x+w2y+b=0的距离表示为:
    d = ∣ w 1 x 0 + w 2 y 0 + b ∣ w 1 2 + w 2 2 d=\frac{\left| w_1x_0+w_2y_0+b \right|}{\sqrt{w_{1}^{2}+w_{2}^{2}}} d=w12+w22 w1x0+w2y0+b
    则样本点到超平面的距离表示为:
    d = ∣ w T x i + b ∣ ∥ w ∥ d=\frac{\left| \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b \right|}{\lVert \boldsymbol{w} \rVert} d=wwTxi+b

  8. 若假设支持向量过超平面的平行线为 w T x + b = 1 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=1 wTx+b=1 w T x + b = − 1 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=-1 wTx+b=1(如上图所示),那么可求得

    支持向量到超平面的距离为:
    d = 1 ∥ w ∥ d=\frac{1}{\lVert \boldsymbol{w} \rVert} d=w1
    那么超平面左右平移被限制的范围(即两个异类支持向量到超平面的距离之和)为:
    Υ = 2 ∥ w ∥ \varUpsilon =\frac{2}{\lVert \boldsymbol{w} \rVert} Υ=w2
    Υ \varUpsilon Υ被称为SVM的“间隔”(margin)

    为什么可以假设支持向量过超平面的平行线为 w T x + b = 1 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=1 wTx+b=1 w T x + b = − 1 \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b=-1 wTx+b=1呢?正如上面第5点所述,由于 W \boldsymbol{W} W b b b可以整体缩放倍数,超平面不变。那么总可以通过 ζ ⋅ ( w , b ) → ( w ′ , b ′ ) \zeta \cdot ( \boldsymbol{w},b ) \rightarrow ( \boldsymbol{w'},b' ) ζ(w,b)(w,b),使 ∣ w T x + b ∣ = 1 \left| \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}+b \right|=1 wTx+b=1。归一化的操作为我们带来便利



求解超平面转化为下列优化问题

在限制条件 y i ( w T x i + b ) ⩾ 1 , i = 1 ∼ m y_i(w^Tx_i+b)\geqslant 1,i=1\sim m yi(wTxi+b)1,i=1m 下,最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\lVert \boldsymbol{w} \rVert ^2 21w2 的问题

即:
min ⁡ w , b    1 2 ∥ w ∥ 2 s . t . y i ( w T x i + b ) ⩾ 1 , i = 1 ∼ m \begin{aligned} &\underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2 \\ &s.t.\quad y_i(\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b)\geqslant 1,i=1\sim m \end{aligned} w,bmin21w2s.t.yi(wTxi+b)1,i=1m

最大化 Υ = 2 ∥ w ∥ \varUpsilon =\frac{2}{\lVert \boldsymbol{w} \rVert} Υ=w2等价于最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\lVert \boldsymbol{w} \rVert ^2 21w2,而限制条件 y i ( w T x i + b ) ⩾ 1 , i = 1 ∼ m y_i(w^Tx_i+b)\geqslant 1,i=1\sim m yi(wTxi+b)1,i=1m表示求解超平面的前提条件是所有样本都被正确分类的情况下


这样就把支持向量机的求解转化为凸优化问题中的二次规划问题

二次规划(Quadratic Programming)

  1. 目标函数(Objective Function)为二次项
  2. 限制条件为一次项

要么无解,要么只有一个极值



SVM(非线性模型)数学推导

若数据集非线性可分,那么线性SVM的优化问题会变得无解。通过加入正则项,可以使SVM应用于非线性可分的数据集。


改写优化目标函数和限制条件

min ⁡ w , b    1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i s . t . { y i ( w T x i + b ) ⩾ 1 − ξ i ξ i ⩾ 0 , i = 1 ∼ m (1) \begin{aligned} &\underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2+C\sum_{i=1}^m{\xi _i}\\ &s.t.\quad \begin{cases} y_i( \boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{i}}+b ) \geqslant 1-\xi _i\\ \xi _i\geqslant 0\\ \end{cases},i=1\sim m\\ \end{aligned} \tag{1} w,bmin21w2+Ci=1mξis.t.{yi(wTxi+b)1ξiξi0,i=1m(1)

其中: ξ i \xi_i ξi称为松弛变量(Slack Variable), ∑ i = 1 m ξ i \sum_{i=1}^m{\xi _i} i=1mξi称为正则项

ξ i \xi_i ξi足够大,则限制条件可以被轻易满足(即为限制条件加入了容忍度)。但 ξ i \xi_i ξi又不能太大,那么限制条件就失去了意义。因此在优化目标函数里需要添加 ξ i \xi_i ξi,并用一个超参数 C C C来权衡最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\lVert \boldsymbol{w} \rVert ^2 21w2与最小化 ∑ i = 1 m ξ i \sum_{i=1}^m{\xi _i} i=1mξi之间的关系


低维到高维的映射

改写优化目标函数和限制条件后的SVM可以应用于非线性可分的数据集中。但是这样的SVM仍然是在试图寻找一条直线将正负样本划分,在某些情况下这仍然不够好,例如:

1590496039067

不同于其他机器学习算法,SVM试图通过高维映射,使低维空间的线性不可分问题变成高维空间中的线性可分问题,从而在高维空间中画出超平面对数据集进行划分。

我们定义高维映射 φ ( x ) \varphi (\boldsymbol{x}) φ(x)
x → φ φ ( x ) \boldsymbol{x}\xrightarrow{\varphi }\varphi ( \boldsymbol{x} ) xφ φ(x)

其中 x \boldsymbol{x} x是低维向量,而 φ ( x ) \varphi (\boldsymbol{x}) φ(x)为高维向量


那么SVM的优化条件变为:
min ⁡ w , b    1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i s . t . { y i ( w T φ ( x i ) + b ) ⩾ 1 − ξ i ξ i ⩾ 0 , i = 1 ∼ m \begin{aligned} &\underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2 +C\sum_{i=1}^m{\xi _i} \\ &s.t.\quad \begin{cases} y_i(\boldsymbol{w}^{\boldsymbol{T}}\varphi (\boldsymbol{x}_{\boldsymbol{i}})+b) \geqslant 1-\xi _i\\ \xi _i\geqslant 0\\ \end{cases},i=1\sim m \end{aligned} w,bmin21w2+Ci=1mξis.t.{yi(wTφ(xi)+b)1ξiξi0,i=1m

此时 w \boldsymbol{w} w的维度也升高了,与 φ ( x ) \varphi (\boldsymbol{x}) φ(x)的维度相同


例子:

在这里插入图片描述

对于这么一个异或问题,我们有:
x 1 = [ 0 0 ] ∈ C 1 , x 2 = [ 1 1 ] ∈ C 1 , x 3 = [ 1 0 ] ∈ C 2 , x 4 = [ 0 1 ] ∈ C 2 \begin{aligned} &\boldsymbol{x}_{\boldsymbol{1}}=\left[ \begin{array}{c} 0\\ 0\\ \end{array} \right] \in C_1,\quad \boldsymbol{x}_{\boldsymbol{2}}=\left[ \begin{array}{c} 1\\ 1\\ \end{array} \right] \in C_1,\quad \\ &\boldsymbol{x}_{\boldsymbol{3}}=\left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] \in C_2,\quad \boldsymbol{x}_{\boldsymbol{4}}=\left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] \in C_2 \end{aligned} x1=[00]C1,x2=[11]C1,x3=[10]C2,x4=[01]C2
定义映射关系:
x = [ a b ] → φ φ ( x ) = [ a 2 b 2 a b a b ] \boldsymbol{x}=\left[ \begin{array}{c} a\\ b\\ \end{array} \right] \xrightarrow{\varphi }\varphi ( \boldsymbol{x} ) =\left[ \begin{array}{c} a^2\\ b^2\\ a\\ \begin{array}{c} b\\ ab\\ \end{array}\\ \end{array} \right] x=[ab]φ φ(x)=a2b2abab
则升维后的样本为

φ ( x 1 ) = [ 0 0 0 0 0 ] ∈ C 1 , φ ( x 2 ) = [ 1 1 1 1 1 ] ∈ C 1 , φ ( x 3 ) = [ 1 0 1 0 0 ] ∈ C 2 , φ ( x 4 ) = [ 0 1 0 1 0 ] ∈ C 2 \begin{aligned} &\varphi ( \boldsymbol{x}_{\boldsymbol{1}} ) =\left[ \begin{array}{c} \begin{array}{c} 0\\ 0\\ \end{array}\\ \begin{array}{c} 0\\ 0\\ 0\\ \end{array}\\ \end{array} \right] \in C_1,\quad \varphi ( \boldsymbol{x}_{\boldsymbol{2}} ) =\left[ \begin{array}{c} \begin{array}{c} 1\\ 1\\ \end{array}\\ \begin{array}{c} 1\\ 1\\ 1\\ \end{array}\\ \end{array} \right] \in C_1,\quad \\ &\varphi ( \boldsymbol{x}_{\boldsymbol{3}} ) =\left[ \begin{array}{c} \begin{array}{c} 1\\ 0\\ \end{array}\\ \begin{array}{c} 1\\ 0\\ 0\\ \end{array}\\ \end{array} \right] \in C_2,\quad \varphi ( \boldsymbol{x}_{\boldsymbol{4}} ) =\left[ \begin{array}{c} \begin{array}{c} 0\\ 1\\ \end{array}\\ \begin{array}{c} 0\\ 1\\ 0\\ \end{array}\\ \end{array} \right] \in C_2 \end{aligned} φ(x1)=00000C1,φ(x2)=11111C1,φ(x3)=10100C2,φ(x4)=01010C2

求得 w \boldsymbol{w} w为:
w = [ − 1 − 1 − 1 − 1 6 ] , b = 1 \boldsymbol{w}=\left[ \begin{array}{c} \begin{array}{c} -1\\ -1\\ \end{array}\\ \begin{array}{c} -1\\ -1\\ 6\\ \end{array}\\ \end{array} \right] ,\quad b=1 w=11116,b=1

y ^ 1 = w T x 1 + b    =    1 > 0 y ^ 2 = w T x 2 + b    =    3 > 0 y ^ 3 = w T x 3 + b    =    − 1 < 0 y ^ 4 = w T x 4 + b    =    − 1 < 0 \begin{aligned} \widehat{y}_1&=\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{1}}+b\,\,=\,\,1>0\\\widehat{y}_2&=\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{2}}+b\,\,=\,\,3>0\\\widehat{y}_3&=\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{3}}+b\,\,=\,\,-1<0\\\widehat{y}_4&=\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{4}}+b\,\,=\,\,-1<0 \end{aligned} y 1y 2y 3y 4=wTx1+b=1>0=wTx2+b=3>0=wTx3+b=1<0=wTx4+b=1<0
可见的确通过升维,在高维空间划分了超平面,实现了非线性可分数据的分类问题。



核函数

可以证明:若升的维度越高,则数据集越有可能在高维空间被线性划分。可以猜想,若 φ ( x ) \varphi (\boldsymbol{x}) φ(x)为无限维度,则必定可以在无限高维空间划分任意数据集。但这样,会使得 w \boldsymbol{w} w也变为无限维度,使优化问题 ( 1 ) (1) (1)变得不可解(因为 w \boldsymbol{w} w是代求参数)。

定理:我们可以不知道无限维映射 φ ( x ) \varphi (\boldsymbol{x}) φ(x)的显式表达,我们只要知道一个核函数(Kernel Function)
K ( x 1 , x 2 )    =    φ ( x 1 ) T ⋅ φ ( x 2 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) \,\,=\,\,\varphi ( \boldsymbol{x}_{\boldsymbol{1}} ) ^T\cdot \varphi ( \boldsymbol{x}_{\boldsymbol{2}} ) K(x1,x2)=φ(x1)Tφ(x2)
( 1 ) (1) (1)这个优化式仍然可解。

常用核函数:

  1. 高斯核
    K ( x 1 , x 2 )    =    e − ∥ x 1 − x 2 ∥ 2 2 σ 2 K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) \,\,=\,\,e^{-\frac{\lVert x_1-x_2 \rVert ^2}{2\sigma ^2}} K(x1,x2)=e2σ2x1x22

  2. 多项式核

K ( x 1 , x 2 )    =    ( x 1 T x 2 + 1 ) d K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) \,\,=\,\,( \boldsymbol{x}_{\boldsymbol{1}}^{\boldsymbol{T}}\boldsymbol{x}_{\boldsymbol{2}}+1 ) ^d K(x1,x2)=(x1Tx2+1)d

我们知道核 K ( x 1 , x 2 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) K(x1,x2)的表达式,且知道 K ( x 1 , x 2 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) K(x1,x2)可以表示为 φ ( x 1 ) T φ ( x 2 ) \varphi ( \boldsymbol{x}_{\boldsymbol{1}} ) ^T \varphi ( \boldsymbol{x}_{\boldsymbol{2}} ) φ(x1)Tφ(x2),并且 φ ( x ) \varphi (\boldsymbol{x}) φ(x)是无限维的(不需要知道 φ ( x ) \varphi (\boldsymbol{x}) φ(x)的显示表达)。

K ( x 1 , x 2 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) K(x1,x2)能写成 φ ( x 1 ) T φ ( x 2 ) \varphi ( \boldsymbol{x}_{\boldsymbol{1}} ) ^T \varphi ( \boldsymbol{x}_{\boldsymbol{2}} ) φ(x1)Tφ(x2)的充要条件为(Mercer’s Theorem):

  1. K ( x 1 , x 2 ) = K ( x 2 , x 1 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) = K( \boldsymbol{x}_{\boldsymbol{2}},\boldsymbol{x}_{\boldsymbol{1}} ) K(x1,x2)=K(x2,x1)(交换性)
  2. ∀ C i ,    x i ( i = 1 ∼ N ) \forall C_i, \,\, \boldsymbol{x_i}(i=1\sim N) Ci,xi(i=1N),有 ∑ i = 1 N ∑ j = 1 N C i C j K ( x 1 , x 2 ) ⩾ 0    \sum_{i=1}^N{\sum_{j=1}^N{C_iC_jK( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) \geqslant 0}}\,\, i=1Nj=1NCiCjK(x1,x2)0成立(半正定性)

原问题和对偶问题

现在我们要在只知道 K ( x 1 , x 2 ) K( \boldsymbol{x}_{\boldsymbol{1}},\boldsymbol{x}_{\boldsymbol{2}} ) K(x1,x2)不知道 φ ( x ) \varphi (\boldsymbol{x}) φ(x)的情况下,解优化问题 ( 1 ) (1) (1),因此我们需要一些理论知识铺垫。

这是优化理论的内容,用到就学一下吧

原问题(Prime Problem):

最小化:
f ( ω ) f(\boldsymbol{\omega}) f(ω)
限制条件:
g i ( ω ) ⩽ 0 ( i = 1 ∼ K ) h i ( ω ) = 0 ( i = 1 ∼ M ) g_i( \boldsymbol{\omega} ) \leqslant 0 ( i=1\sim K ) \\ h_i( \boldsymbol{\omega} ) =0 ( i=1\sim M ) gi(ω)0(i=1K)hi(ω)=0(i=1M)
则其对偶问题(Dual Problem)为:

最大化:
Θ ( α , β )    =    i n f f o r    a l l    ω L ( ω , α , β ) \varTheta ( \boldsymbol{\alpha} ,\boldsymbol{\beta}) \,\,=\,\,\underset{for\,\,all\,\,\boldsymbol{\omega}}{inf}{L( \boldsymbol{\omega} ,\boldsymbol{\alpha} ,\boldsymbol{\beta} ) } Θ(α,β)=forallωinfL(ω,α,β)

限制条件:

α ⩾ 0 \boldsymbol{\alpha }\geqslant 0 α0

其中 L ( ω , α , β ) L( \boldsymbol{\omega} ,\boldsymbol{\alpha },\boldsymbol{\beta } ) L(ω,α,β)为:
L ( ω , α , β )    =    f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 M β i h i ( ω )    =    f ( ω ) + α T g ( ω ) + β T h ( ω ) \begin{aligned} L( \boldsymbol{\omega} ,\boldsymbol{\alpha },\boldsymbol{\beta } ) \,\,&=\,\,f( \boldsymbol{\omega} ) +\sum_{i=1}^K{\alpha _ig_i( \boldsymbol{\omega} )}+\sum_{i=1}^M{\beta _ih_i( \boldsymbol{\boldsymbol{\omega}} )}\,\, \\ &=\,\,f( \boldsymbol{\omega} ) +\boldsymbol{\alpha }^{\boldsymbol{T}}g( \boldsymbol{\omega} ) +\boldsymbol{\beta }^{\boldsymbol{T}}h( \boldsymbol{\omega} ) \end{aligned} L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω)=f(ω)+αTg(ω)+βTh(ω)

i n f f o r    a l l    ω \underset{for\,\,all\,\,\boldsymbol{\omega}}{inf} forallωinf的意思是,在所有 ω \boldsymbol{\omega} ω取值上取得的最小值


原问题和对偶问题的关系:如果 ω ∗ \boldsymbol{\omega}^* ω是原问题的解,而 α ∗ , β ∗ \boldsymbol{\alpha}^*,\boldsymbol{\beta}^* α,β是对偶问题的解,则有:
f ( ω ∗ ) ⩾ θ ( α ∗ , β ∗ ) f( \boldsymbol{\omega} ^* ) \geqslant \theta ( \boldsymbol{\alpha} ^*,\boldsymbol{\beta} ^* ) f(ω)θ(α,β)

proof:
θ ( α ∗ , β ∗ )    =    i n f f o r    a l l    ω L ( ω , α ∗ , β ∗ ) ⩽ L ( ω ∗ , α ∗ , β ∗ ) =    f ( ω ∗ ) + ∑ i = 1 K α i ∗ g i ( ω ∗ ) + ∑ i = 1 M β i ∗ h i ( ω ∗ ) ⩽    f ( ω ∗ ) \begin{aligned} \theta ( \boldsymbol{\alpha }^*,\boldsymbol{\beta }^* ) \,\,&=\,\,\underset{for\,\,all\,\,\omega}{inf}{L( \boldsymbol{\omega },\boldsymbol{\alpha }^*,\boldsymbol{\beta }^* ) } \leqslant L( \boldsymbol{\omega }^*,\boldsymbol{\alpha }^*,\boldsymbol{\beta }^* ) \\ &=\,\,f( \boldsymbol{\omega }^* ) +\sum_{i=1}^K{\boldsymbol{\alpha }_{i}^{*}g_i( \boldsymbol{\omega }^* )}+\sum_{i=1}^M{\boldsymbol{\beta }_{i}^{*}h_i( \boldsymbol{\omega }^* )}\leqslant \,\,f( \boldsymbol{\omega }^* ) \end{aligned} θ(α,β)=forallωinfL(ω,α,β)L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω)f(ω)
因为其中 α ∗ ⩾ 0 \boldsymbol{\alpha^* }\geqslant 0 α0, g i ( ω ∗ ) ⩽ 0 g_i( \boldsymbol{\omega ^*} ) \leqslant 0 gi(ω)0 h i ( ω ∗ ) = 0 h_i( \boldsymbol{\omega^* } ) =0 hi(ω)=0



强对偶定理

f ( ω ) f(\boldsymbol{\omega}) f(ω)为凸函数,且 g ( ω ) = A ω + b g(\boldsymbol{\omega}) = \boldsymbol{A\omega} + b g(ω)=Aω+b h ( ω ) = C ω + d h(\boldsymbol{\omega}) = \boldsymbol{C\omega} + d h(ω)=Cω+d,则优化问题的原问题与对偶问题间距为0,即:
f ( ω ∗ ) = θ ( α ∗ , β ∗ ) f( \boldsymbol{\omega} ^* ) = \theta ( \boldsymbol{\alpha} ^*,\boldsymbol{\beta} ^* ) f(ω)=θ(α,β)
再观察上面的proof过程,可以立即得出:

∀ i = 1 ∼ K \forall i=1 \sim K i=1K,有 α i ∗ = 0 \boldsymbol{\alpha^*_i }=0 αi=0 或者 g i ( ω ∗ ) = 0 g_i( \boldsymbol{\omega ^*} ) =0 gi(ω)=0

以上称为KKT条件



将SVM原问题转化为对偶问题

核函数SVM优化目标可以改写为(为了使形式上靠近优化理论,将 ξ i ⩾ 0 → ξ i ⩽ 0 \xi _i\geqslant 0\rightarrow \xi _i\leqslant 0 ξi0ξi0

最小化:
min ⁡ w , b    1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i → min ⁡ w , b    1 2 ∥ w ∥ 2 − C ∑ i = 1 m ξ i \underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2+C\sum_{i=1}^m{\xi _i}\rightarrow \underset{\boldsymbol{w},b}{\min}\,\,\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2-C\sum_{i=1}^m{\xi _i} w,bmin21w2+Ci=1mξiw,bmin21w2Ci=1mξi


限制条件:
y i ( w T φ ( x i ) + b ) ⩾ 1 − ξ i    →    y i ( w T φ ( x i ) + b ) ⩾ 1 + ξ i    →    1 + ξ i − y i ( w T φ ( x i ) + b ) ⩽ 0 ξ i ⩾ 0 → ξ i ⩽ 0 \begin{aligned} y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) \geqslant 1-\xi _i\,\,&\rightarrow \,\,y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) \geqslant 1+\xi _i\,\, \\ &\rightarrow \,\,1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) \leqslant 0 \\ \xi _i\geqslant 0&\rightarrow \xi _i\leqslant 0 \end{aligned} yi(wTφ(xi)+b)1ξiξi0yi(wTφ(xi)+b)1+ξi1+ξiyi(wTφ(xi)+b)0ξi0

1. 原问题1.核函数SVM原问题
最小化:
f ( ω ) f(\boldsymbol{\omega}) f(ω)
最小化:
1 2 ∥ w ∥ 2 − C ∑ i = 1 m ξ i \frac{1}{2}\lVert \boldsymbol{w} \rVert ^2-C\sum_{i=1}^m{\xi _i} 21w2Ci=1mξi
限制条件:
g i ( ω ) ⩽ 0 ( i = 1 ∼ K ) h i ( ω ) = 0 ( i = 1 ∼ M ) g_i( \boldsymbol{\omega} ) \leqslant 0 ( i=1\sim K ) \\h_i( \boldsymbol{\omega} ) =0 ( i=1\sim M ) gi(ω)0(i=1K)hi(ω)=0(i=1M)
限制条件:
  1 + ξ i − y i ( w T φ ( x i ) + b ) ⩽ 0 ξ i ⩽ 0 \,1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) \leqslant 0 \\ \xi _i\leqslant 0 1+ξiyi(wTφ(xi)+b)0ξi0

从限制条件可知,左边的不等式限制条件 g i ( ω ) ⩽ 0 g_i( \boldsymbol{\omega} ) \leqslant 0 gi(ω)0对应右边的 1 + ξ i − y i ( w T φ ( x i ) + b ) ⩽ 0 1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}})+b ) \leqslant 0 1+ξiyi(wTφ(xi)+b)0 ξ i ⩽ 0 \xi _i\leqslant 0 ξi0;而没有等式限制条。

优化目标函数 f ( ω ) f(\boldsymbol{\omega}) f(ω)对应 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i \frac{1}{2}\lVert \boldsymbol{w} \rVert ^2+C\sum_{i=1}^m{\xi _i} 21w2+Ci=1mξi

左边只有一个变量 ω \boldsymbol{\omega} ω,而右边对应有三个变量 ω , ξ i , b \boldsymbol{\omega},\xi _i, b ωξib

因此可以推导出核函数SVM的对偶问题:

2. 对偶问题2. 核函数SVM对偶问题
最大化:
Θ ( α , β )   =   i n f f o r    a l l    ω L ( ω , α , β ) \varTheta ( \boldsymbol{\alpha} ,\boldsymbol{\beta}) \,=\,\underset{for\,\,all\,\,\boldsymbol{\omega}}{inf}{L( \boldsymbol{\omega} ,\boldsymbol{\alpha} ,\boldsymbol{\beta} ) } Θ(α,β)=forallωinfL(ω,α,β)
最大化:
Θ ( α , β )   =   i n f f o r    a l l   (   ω , ξ i , b ) 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 β i ξ i \begin{aligned}\varTheta ( \boldsymbol{\alpha },\boldsymbol{\beta } ) \,=\,\underset{for\,\,all\,( \,\boldsymbol{\omega },\xi _i,b )}{inf}{\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2-C\sum_{i=1}^m{\xi _i}+\sum_{i=1}^m{\alpha _i}\,( 1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) ) +\sum_{i=1}^m{\beta _i\xi _i} }\end{aligned} Θ(α,β)=forall(ω,ξi,b)inf21w2Ci=1mξi+i=1mαi(1+ξiyi(wTφ(xi)+b))+i=1mβiξi
限制条件:
α i ⩾ 0 ( i = 1 ∼ K ) \alpha_i\geqslant 0 \quad (i=1 \sim K) αi0(i=1K)
限制条件:
α i ⩾ 0 , β i ⩾ 0 ( i = 1 ∼ m ) \alpha_i\geqslant 0 , \beta_i \geqslant 0 \quad(i=1 \sim m) αi0,βi0(i=1m)
L ( ω , α , β )    =    f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 M β i h i ( ω )    L( \boldsymbol{\omega },\boldsymbol{\alpha },\boldsymbol{\beta } ) \,\,=\,\,f( \boldsymbol{\omega } ) +\sum_{i=1}^K{\alpha _ig_i( \boldsymbol{\omega } )}+\sum_{i=1}^M{\beta _ih_i( \boldsymbol{\omega } )}\,\, L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω)

注意,由于SVM中的不等式限制条件有 α i \alpha_i αi β i \beta_i βi两个,因此实际上左边的 α i \alpha_i αi对应右边的 α i \alpha_i αi β i \beta_i βi


现在我们来求解下式的具体表达式
Θ ( α , β )   = i n f f o r    a l l   (   ω , ξ i , b ) L ( ω , ξ , b )   = i n f f o r    a l l   (   ω , ξ , b ) 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 β i ξ i \begin{aligned} \varTheta ( \boldsymbol{\alpha },\boldsymbol{\beta } ) \,&=\underset{for\,\,all\,( \,\boldsymbol{\omega },\xi _i,b )}{inf}{L( \boldsymbol{\omega },\boldsymbol{\xi },b ) } \, \\ &=\underset{for\,\,all\,( \,\boldsymbol{\omega },\boldsymbol{\xi },b )}{inf}{\frac{1}{2}\lVert \boldsymbol{w} \rVert ^2-C\sum_{i=1}^m{\xi _i}+\sum_{i=1}^m{\alpha _i}\,( 1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) ) +\sum_{i=1}^m{\beta _i\xi _i} } \end{aligned} Θ(α,β)=forall(ω,ξi,b)infL(ω,ξ,b)=forall(ω,ξ,b)inf21w2Ci=1mξi+i=1mαi(1+ξiyi(wTφ(xi)+b))+i=1mβiξi
i n f f o r    a l l   (   ω , ξ i , b ) \underset{for\,\,all\,( \,\boldsymbol{\omega },\xi _i,b )}{inf} forall(ω,ξi,b)inf表示求关于 (   ω , ξ i , b ) ( \,\boldsymbol{\omega },\xi _i,b ) (ω,ξi,b)的最小值,即求 ∂ ∂ ω L ( ω , ξ i , b ) \frac{\partial}{\partial \boldsymbol{\omega }}L( \boldsymbol{\omega },\xi _i,b ) ωL(ω,ξi,b) ∂ ∂ ξ i L ( ω , ξ i , b ) \frac{\partial}{\partial \xi _i}L( \boldsymbol{\omega },\xi _i,b ) ξiL(ω,ξi,b) ∂ ∂ b L ( ω , ξ i , b ) \frac{\partial}{\partial b}L( \boldsymbol{\omega },\xi _i,b ) bL(ω,ξi,b),并使他们等于零:
∂ ∂ ω L ( ω , ξ i , b ) = 0 → ω = ∑ i = 1 m α i y i φ ( x i ) ∂ ∂ ξ i L ( ω , ξ i , b ) = 0 → α i + β i = C ∂ ∂ b L ( ω , ξ i , b ) = 0 → ∑ i = 1 m α i y i = 0 (2) \begin{aligned} &\frac{\partial}{\partial \boldsymbol{\omega }}L( \boldsymbol{\omega },\xi _i,b ) =0\rightarrow \boldsymbol{\omega }=\sum_{i=1}^m{\alpha _iy_i\varphi ( x_i )}\\ &\frac{\partial}{\partial \xi _i}L( \boldsymbol{\omega },\xi _i,b ) =0\rightarrow \alpha _i+\beta _i=C\\ &\frac{\partial}{\partial b}L( \boldsymbol{\omega },\xi _i,b ) =0\rightarrow \sum_{i=1}^m{\alpha _iy_i=0}\\ \end{aligned} \tag2 ωL(ω,ξi,b)=0ω=i=1mαiyiφ(xi)ξiL(ω,ξi,b)=0αi+βi=CbL(ω,ξi,b)=0i=1mαiyi=0(2)

其中用到矩阵求导参考矩阵论,这里给出结果

f ( ω ) = 1 2 ∥ ω ∥ 2 f( \boldsymbol{\omega } ) =\frac{1}{2}\lVert \boldsymbol{\omega } \rVert ^2 f(ω)=21ω2,则 ∂ ∂ ω f ( ω ) = ω \frac{\partial}{\partial \boldsymbol{\omega }}f( \boldsymbol{\omega } ) =\boldsymbol{\omega } ωf(ω)=ω

f ( ω ) = ω T x f( \boldsymbol{\omega } ) =\boldsymbol{\omega }^{\text{T}}x f(ω)=ωTx,则 ∂ ∂ ω f ( ω ) = x \frac{\partial}{\partial \boldsymbol{\omega }}f( \boldsymbol{\omega } ) =x ωf(ω)=x


( 2 ) (2) (2)带入 Θ ( α , β ) \varTheta(\boldsymbol{\alpha},\boldsymbol{\beta}) Θ(α,β),得到:
Θ ( α ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) \varTheta ( \boldsymbol{\alpha }) =\sum_{i=1}^m{\alpha _i-\frac{1}{2}\sum_{i=1}^m{\sum_{j=1}^m{\alpha _i\alpha _jy_iy_j}}}K( x_i,x_j ) Θ(α)=i=1mαi21i=1mj=1mαiαjyiyjK(xi,xj)

这时,通过把原问题转换为对偶问题,得到了核函数的表示形式!


( 2 ) (2) (2)带入限制条件 α i ⩾ 0 , β i ⩾ 0 ( i = 1 ∼ m ) \alpha_i\geqslant 0 , \beta_i \geqslant 0 (i=1 \sim m) αi0,βi0(i=1m)得到:
0 ⩽ α i ⩽ C ∑ i = 1 m α i y i = 0 0\leqslant \alpha _i\leqslant C \\ \sum_{i=1}^m{\alpha _iy_i=0} 0αiCi=1mαiyi=0


于是我们求得了核函数SVM的优化对偶问题
核函数SVM对偶问题
最大化: Θ ( α ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) \varTheta ( \boldsymbol{\alpha }) =\sum_{i=1}^m{\alpha _i-\frac{1}{2}\sum_{i=1}^m{\sum_{j=1}^m{\alpha _i\alpha _jy_iy_j}}}K( x_i,x_j ) Θ(α)=i=1mαi21i=1mj=1mαiαjyiyjK(xi,xj)
限制条件: 0 ⩽ α i ⩽ C ∑ i = 1 m α i y i = 0 0\leqslant \alpha _i\leqslant C \quad\quad \sum_{i=1}^m{\alpha _iy_i=0} 0αiCi=1mαiyi=0

只有一个参数待求解: α \boldsymbol{\alpha} α,通常可以使用SMO算法

在测试流程中,我们可以有如下判断:
{ 若 w T φ ( x i ) + b > 0 , 则 y i = + 1 若 w T φ ( x i ) + b < 0 , 则 y i = − 1 \begin{cases} \text{若}\boldsymbol{w}^{\boldsymbol{T}}\varphi ( \boldsymbol{x}_{\text{i}} ) +b>0,\text{则}y_{\text{i}}=+1\\ \text{若}\boldsymbol{w}^{\boldsymbol{T}}\varphi ( \boldsymbol{x}_{\text{i}} ) +b<0,\text{则}y_{\text{i}}=-1\\ \end{cases} {wTφ(xi)+b>0,yi=+1wTφ(xi)+b<0,yi=1
( 2 ) (2) (2)中,我们知道有 ω = ∑ i = 1 m α i y i φ ( x i ) \boldsymbol{\omega }=\sum_{i=1}^m{\alpha _iy_i\varphi ( \boldsymbol{x_i} )} ω=i=1mαiyiφ(xi),则:
w T φ ( x i ) = ∑ j = 1 m [ α i y i φ ( x j ) ] T φ ( x i ) = ∑ j = 1 m α i y i φ ( x j ) T φ ( x i ) = ∑ j = 1 m α i y i K ( x i , x j ) (3) \begin{aligned} \boldsymbol{w}^{\boldsymbol{T}}\varphi ( \boldsymbol{x}_{\boldsymbol{i}} ) &=\sum_{j=1}^m{\left[ \alpha _iy_i\varphi ( \boldsymbol{x}_j ) \right] ^{\text{T}}}\varphi ( \boldsymbol{x}_{\boldsymbol{i}} ) \\&=\sum_{j=1}^m{\alpha _iy_i\varphi ( \boldsymbol{x}_{\boldsymbol{j}} ) ^{\text{T}}\varphi ( \boldsymbol{x}_{\boldsymbol{i}} )}\\&=\sum_{j=1}^m{\alpha _iy_iK( \boldsymbol{x}_{\boldsymbol{i}},\boldsymbol{x}_{\boldsymbol{j}} )} \end{aligned} \tag{3} wTφ(xi)=j=1m[αiyiφ(xj)]Tφ(xi)=j=1mαiyiφ(xj)Tφ(xi)=j=1mαiyiK(xi,xj)(3)
只剩下 b b b待求解。确定了 b b b,则核函数SVM训练完成

b b b的求解需要用到KKT条件,

3. KKT条件3. SVM的KKT条件
∀ i = 1 ∼ K \forall i=1 \sim K i=1K
α i ∗ = 0 \boldsymbol{\alpha^*_i }=0 αi=0 或者 g i ( ω ∗ ) = 0 g_i( \boldsymbol{\omega ^*} ) =0 gi(ω)=0
∀ i = 1 ∼ m \forall i=1 \sim m i=1m
1. α i = 0 \boldsymbol{\alpha_i }=0 αi=0 或者   1 + ξ i − y i ( w T φ ( x i ) + b ) = 0 \,1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) = 0 1+ξiyi(wTφ(xi)+b)=0
2. β i = 0 \boldsymbol{\beta_i }=0 βi=0或者 ξ i = 0 \xi_i=0 ξi=0

取一个 0 < α i < C ⇒ β i = C − α i > 0 0<\boldsymbol{\alpha }_{\boldsymbol{i}}<C\Rightarrow \boldsymbol{\beta }_{\boldsymbol{i}}=C-\boldsymbol{\alpha }_{\boldsymbol{i}}>0 0<αi<Cβi=Cαi>0,此时有:
β i ≠ 0 ⇒ ξ i = 0 α i ≠ 0 ⇒ 1 + ξ i − y i ( w T φ ( x i ) + b ) = 0 ⇒ 1 − y i ( w T φ ( x i ) + b ) = 0 \begin{aligned} \boldsymbol{\beta }_{\boldsymbol{i}}\ne 0&\Rightarrow \xi _i=0 \\ \boldsymbol{\alpha }_{\boldsymbol{i}}\ne 0&\Rightarrow 1+\xi _i-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) =0 \\ &\Rightarrow 1-y_i( \boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}+b ) =0 \end{aligned} βi=0αi=0ξi=01+ξiyi(wTφ(xi)+b)=01yi(wTφ(xi)+b)=0
带入 ( 3 ) (3) (3),得到:
b = 1 y i − w T φ ( x i ) = 1 − y i w T φ ( x i ) y i = 1 − y i ∑ j = 1 m α i y i K ( x i , x j ) y i \begin{aligned} b&=\frac{1}{y_i}-\boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}=\frac{1-y_i\boldsymbol{w}^{\boldsymbol{T}}\varphi \boldsymbol{(x}_{\boldsymbol{i}}\text{)}}{y_i} \\ &=\frac{1-y_i\sum_{j=1}^m{\alpha _iy_iK( \boldsymbol{x}_{\boldsymbol{i}},\boldsymbol{x}_{\boldsymbol{j}} )}}{y_i} \end{aligned} b=yi1wTφ(xi)=yi1yiwTφ(xi)=yi1yij=1mαiyiK(xi,xj)

以上就是核函数SVM原问题转换为对偶问题,并用对偶问题训练SVM(求出 α i \boldsymbol{\alpha_i} αi b b b的过程)的推导过程



核函数SVM算法总结

SVM算法

  1. 训练流程:

    • 输入 ( x i , y i ) i = 1 ∼ m {(\boldsymbol{x_i},y_i)}_{i=1 \sim m} (xi,yi)i=1m

    • 解优化问题:

      ​ 最大化: Θ ( α ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) \varTheta ( \boldsymbol{\alpha }) =\sum_{i=1}^m{\alpha _i-\frac{1}{2}\sum_{i=1}^m{\sum_{j=1}^m{\alpha _i\alpha _jy_iy_j}}}K( x_i,x_j ) Θ(α)=i=1mαi21i=1mj=1mαiαjyiyjK(xi,xj)

      ​ 限制条件: 0 ⩽ α i ⩽ C , ∑ i = 1 m α i y i = 0 0\leqslant \alpha _i\leqslant C, \quad\sum_{i=1}^m{\alpha _iy_i=0} 0αiC,i=1mαiyi=0

      ​ 求解 b b b:找一个 0 < α i < C 0<\boldsymbol{\alpha }_{\boldsymbol{i}}<C 0<αi<C,可以算得 b = 1 − y i ∑ j = 1 m α i y i K ( x i , x j ) y i b=\frac{1-y_i\sum_{j=1}^m{\alpha _iy_iK( \boldsymbol{x}_{\boldsymbol{i}},\boldsymbol{x}_{\boldsymbol{j}} )}}{y_i} b=yi1yij=1mαiyiK(xi,xj)

  2. 测试流程

    • 输入测试样本 x \boldsymbol{x} x
      { 若 ∑ j = 1 m α i y i K ( x i , x j ) + b > 0 , 则 y i = + 1 若 ∑ j = 1 m α i y i K ( x i , x j ) + b < 0 , 则 y i = − 1 \begin{cases} \text{若}\sum_{j=1}^m\alpha _iy_iK( \boldsymbol{x}_{\boldsymbol{i}},\boldsymbol{x}_{\boldsymbol{j}} ) +b>0,\text{则}y_{\text{i}}=+1\\ \text{若}\sum_{j=1}^m\alpha _iy_iK( \boldsymbol{x}_{\boldsymbol{i}},\boldsymbol{x}_{\boldsymbol{j}} ) +b<0,\text{则}y_{\text{i}}=-1\\ \end{cases} {j=1mαiyiK(xi,xj)+b>0,yi=+1j=1mαiyiK(xi,xj)+b<0,yi=1

通过转换为对偶问题,我们可以看到上面没有出现 φ ( x ) \varphi (\boldsymbol{x}) φ(x),而待求解的参数只有 α i \boldsymbol{\alpha_i} αi b b b



SVM处理多分类问题

上面都在说如何用SVM处理二分类问题,那么怎么样用SVM处理多分类问题呢?

我们有一下三种方法:

  1. 改造优化的目标函数和限制条件,使之能处理多分类问题。

    这种方法通常效果一般,SVM专为二分类而生


  2. 一类VS其他类

    例子:

    若有 C 1 , C 2 , C 3 C_1 ,C_2 ,C_3 C1,C2,C3三类,则可以设计三个SVM

    SVM1: ( C 1 , C 2 ) V S ( C 3 ) (C_1 ,C_2)VS(C_3) (C1,C2)VS(C3)

    SVM2: ( C 1 , C 3 ) V S ( C 2 ) (C_1 ,C_3)VS(C_2) (C1,C3)VS(C2)

    SVM3: ( C 2 , C 3 ) V S ( C 1 ) (C_2 ,C_3)VS(C_1) (C2,C3)VS(C1)

    y 1 = + 1 , y 2 = + 1 , y 3 = − 1 y_1=+1,y_2=+1,y_3=-1 y1=+1,y2=+1,y3=1,则 显然为第一类

    y 1 = + 1 , y 2 = − 1 , y 3 = − 1 y_1=+1,y_2=-1,y_3=-1 y1=+1,y2=1,y3=1,在看看SVM1和SVM2的 w T φ ( x i ) + b \boldsymbol{w}^{\boldsymbol{T}}\varphi ( \boldsymbol{x}_{\text{i}} ) +b wTφ(xi)+b哪一个负的比较多就判断为哪一个


  3. 一类VS另一类

    例子:

    若有 C 1 , C 2 , C 3 C_1 ,C_2 ,C_3 C1,C2,C3三类,则可以设计三个SVM

    SVM1: ( C 1 ) V S ( C 2 ) (C_1 )VS(C_2) (C1)VS(C2)

    SVM2: ( C 1 ) V S ( C 3 ) (C_1 )VS(C_3) (C1)VS(C3)

    SVM3: ( C 2 ) V S ( C 3 ) (C_2)VS(C_3) (C2)VS(C3)

    y 1 = + 1 , y 2 = + 1 , y 3 = − 1 y_1=+1,y_2=+1,y_3=-1 y1=+1,y2=+1,y3=1,则 显然为第一类( C 1 C_1 C1被投了两票, C 3 C_3 C3被投了一票)


对于n分类问题:

用一类VS其他类我们需要用n个SVM;

用一类VS另一类我们需要用 n ( n − 1 ) 2 \frac{n( n-1 )}{2} 2n(n1)个SVM。

根据经验,用一类VS另一类的效果最佳,但同时也是最复杂的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值