西瓜书第六章-支持向量机
一、间隔与支持向量
粗实线这个划分超平面所产生的分类结果是最鲁棒的,对未来示例的泛化能力最强
 在样本空间中,划分超平面可通过如下线性方程来描述:
 
     
      
       
        
         
          w
         
         
          T
         
        
        
         x
        
        
         +
        
        
         b
        
        
         =
        
        
         0
        
        
         ,
        
       
       
         \pmb w^T\pmb x +b =0, 
       
      
     wwwTxxx+b=0,
 其中
    
     
      
       
        w
       
       
        =
       
       
        (
       
       
        
         w
        
        
         1
        
       
       
        ;
       
       
        
         w
        
        
         2
        
       
       
        ;
       
       
        ⋯
        
       
        ;
       
       
        
         w
        
        
         d
        
       
       
        )
       
      
      
       \pmb w =(w_1;w_2;\cdots;w_d)
      
     
    www=(w1;w2;⋯;wd)为法向量,决定超平面的方向;b为位移项,决定了超平面与原点之间的距离
 样本空间中任意点
    
     
      
       
        x
       
      
      
       \pmb x
      
     
    xxx到超平面
    
     
      
       
        (
       
       
        w
       
       
        ,
       
       
        b
       
       
        )
       
      
      
       (\pmb w,b)
      
     
    (www,b)的距离可写为
 
     
      
       
        
         r
        
        
         =
        
        
         
          
           ∣
          
          
           
            w
           
           
            T
           
          
          
           x
          
          
           +
          
          
           b
          
          
           ∣
          
         
         
          
           ∣
          
          
           ∣
          
          
           w
          
          
           ∣
          
          
           ∣
          
         
        
       
       
         r=\frac{ |\pmb w^T \pmb x +b|}{||\pmb w||} 
       
      
     r=∣∣www∣∣∣wwwTxxx+b∣
 
     
      
       
        
         {
        
        
         
          
           
            
             
              
               w
              
              
               T
              
             
             
              
               x
              
              
               i
              
             
             
              +
             
             
              b
             
             
              ≥
             
             
              +
             
             
              1
             
             
              ,
             
             
             
              
               y
              
              
               i
              
             
             
              =
             
             
              +
             
             
              1
             
            
           
          
         
         
          
           
            
             
              
               w
              
              
               T
              
             
             
              
               x
              
              
               i
              
             
             
              +
             
             
              b
             
             
              ≤
             
             
              −
             
             
              1
             
             
              ,
             
             
             
              
               y
              
              
               i
              
             
             
              =
             
             
              −
             
             
              1
             
            
           
          
         
        
       
       
         \begin{cases} \pmb w^T \pmb x_i +b \geq +1, \quad y_i=+1\\ \pmb w^T \pmb x_i +b \leq -1, \quad y_i=-1 \end{cases} 
       
      
     {wwwTxxxi+b≥+1,yi=+1wwwTxxxi+b≤−1,yi=−1
 距离超平面最近的这几个训练样本点使上式的等号成立,它们被称为 “支持向量”(support vector),两个异类支持向量到超平面的距离之和为
 
     
      
       
        
         γ
        
        
         =
        
        
         
          2
         
         
          
           ∣
          
          
           ∣
          
          
           w
          
          
           ∣
          
          
           ∣
          
         
        
       
       
         \gamma = \frac{2}{||\pmb w||} 
       
      
     γ=∣∣www∣∣2
 它被称为 “间隔”(margin)
 
欲找到具有“最大间隔”(maximum margin)的划分超平面,就是要找到能满足约束的参数
    
     
      
       
        w
       
      
      
       \pmb w
      
     
    www和
    
     
      
       
        b
       
      
      
       b
      
     
    b,使得
    
     
      
       
        γ
       
      
      
       \gamma
      
     
    γ最大,即
 
     
      
       
        
         
          
           max
          
          
           
          
         
         
          
           w
          
          
           ,
          
          
           b
          
         
        
        
         
          2
         
         
          
           ∣
          
          
           ∣
          
          
           w
          
          
           ∣
          
          
           ∣
          
         
        
        
        
         s
        
        
         .
        
        
         t
        
        
         .
        
        
        
         
          y
         
         
          i
         
        
        
         (
        
        
         
          w
         
         
          T
         
        
        
         
          x
         
         
          i
         
        
        
         +
        
        
         b
        
        
         )
        
        
         ≥
        
        
         1
        
        
         ,
        
        
        
         i
        
        
         =
        
        
         1
        
        
         ,
        
        
         2
        
        
         ,
        
        
         ⋯
         
        
         ,
        
        
         m
        
       
       
         \underset {w,b}{\operatorname {max}} \frac{2}{||\pmb w||}\\ s.t.\quad y_i(\pmb w^T \pmb x_i +b) \geq 1, \quad i=1,2,\cdots,m 
       
      
     w,bmax∣∣www∣∣2s.t.yi(wwwTxxxi+b)≥1,i=1,2,⋯,m
 可重写为
 
     
      
       
        
         
          
           min
          
          
           
          
         
         
          
           w
          
          
           ,
          
          
           b
          
         
        
        
         
          1
         
         
          2
         
        
        
         ∣
        
        
         ∣
        
        
         w
        
        
         ∣
        
        
         
          ∣
         
         
          2
         
        
        
        
         s
        
        
         .
        
        
         t
        
        
         .
        
        
        
         
          y
         
         
          i
         
        
        
         (
        
        
         
          w
         
         
          T
         
        
        
         
          x
         
         
          i
         
        
        
         +
        
        
         b
        
        
         )
        
        
         ≥
        
        
         1
        
        
         ,
        
        
        
         i
        
        
         =
        
        
         1
        
        
         ,
        
        
         2
        
        
         ,
        
        
         ⋯
         
        
         ,
        
        
         m
        
       
       
         \underset {w,b}{\operatorname {min}} \frac{1}{2}||\pmb w||^2\\ s.t.\quad y_i(\pmb w^T \pmb x_i +b) \geq 1, \quad i=1,2,\cdots,m 
       
      
     w,bmin21∣∣www∣∣2s.t.yi(wwwTxxxi+b)≥1,i=1,2,⋯,m
 这就是支持向量机(Support Vector Machine,简称SVM)的基本型
二、对偶问题
支持向量机的基本型本身是一个 凸二次规划(convex quadratic programming),能直接用现成的优化计算包求解,但其实有更高效的方法
- 对上式使用拉格朗日乘子法可得到其 “对偶问题”(dual problem) ,具体来说,对每条约束添加拉格朗日乘子
     
      
       
        
         
          a
         
         
          i
         
        
        
         ≥
        
        
         0
        
       
       
        a_i \geq 0
       
      
     ai≥0,则该问题的拉格朗日函数可写为
L ( w , b , a ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m a i ( 1 − y i ( w T x i + b ) ) , L(\pmb w,b ,\pmb a)=\frac{1}{2}||\pmb w||^2 + \sum_{i=1}^m a_i(1-y_i(\pmb w^T\pmb x_i +b)), L(www,b,aaa)=21∣∣www∣∣2+i=1∑mai(1−yi(wwwTxxxi+b)),
其中 a = ( a 1 ; a 2 ; ⋯ ; a m ) \pmb a=(a_1;a_2;\cdots;a_m) aaa=(a1;a2;⋯;am),对 w \pmb w www和 b b b求偏导为0
w = ∑ i = 1 m a i y i x i 0 = ∑ i = 1 m a i y i \pmb w = \sum_{i=1}^m a_i y_i \pmb x_i\\ 0=\sum_{i=1}^ma_iy_i www=i=1∑maiyixxxi0=i=1∑maiyi
即可将 L ( w , b , a ) L(\pmb w,b ,\pmb a) L(www,b,aaa)中消去 w \pmb w www和 b b b,再考虑约束,就得到它的对偶问题
max  a ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j s . t . ∑ i = 1 m a i y i = 0 a i ≥ 0 , i = 1 , 2 , ⋯ , m \underset {\pmb a}{\operatorname {max}} \sum_{i=1}^m a_i -\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m a_i a_j y_i y_j \pmb x_i^T\pmb x_j\\ s.t. \sum_{i=1}^m a_iy_i=0\\ a_i \geq 0 ,\quad i=1,2,\cdots,m aaamaxi=1∑mai−21i=1∑mj=1∑maiajyiyjxxxiTxxxjs.t.i=1∑maiyi=0ai≥0,i=1,2,⋯,m
解出 a \pmb a aaa后,求出 w \pmb w www和 b b b即可得到模型
f ( x ) = w T x + b = ∑ i = 1 m a i y i x i T x + b \begin{aligned} f(x) &= \pmb w^Tx+b\\ &=\sum_{i=1}^ma_iy_i\pmb x_i^T\pmb x +b \end{aligned} f(x)=wwwTx+b=i=1∑maiyixxxiTxxx+b
支持向量的基本型有不等约束,因此上述过程需满足KKT(Karush-Kuhn-Tucker)条件,即要求
{ a i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; a i ( y i f ( x i ) − 1 ) = 0 \begin{cases} a_i \geq 0;\\ y_if(\pmb x_i) - 1 \geq 0;\\ a_i(y_if(\pmb x_i) - 1)=0 \end{cases} ⎩⎪⎨⎪⎧ai≥0;yif(xxxi)−1≥0;ai(yif(xxxi)−1)=0
补充KKT条件资料 - 显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量相关
 - SMO(Sequential Minimal Optimization)节省计算开销,SMO每次选择两个变量 a i a_i ai和 a j a_j aj,并固定其他参数,在参数初始化后,SMO不断执行如下两个步骤直至收敛:1.选取一对需更新的变量 a i a_i ai和 a j a_j aj.2.固定 a i a_i ai和 a j a_j aj以外的参数,求解对偶问题获得更新后的 a i a_i ai和 a j a_j aj
 - 直观来看,KKT条件违背的程度越大,则变量更新后可能导致目标函数数值减幅增大。SMO先选取违背KKT条件程度最大的变量,第二个变量应选择一个使目标函数值减小最快的变量(计算复杂度高),SMO采用了一个启发式:使选取的两个变量所对应的样本之间间隔最大,约束可重新写为
a i y i + a j y j = c , a i ≥ 0 , a j ≥ 0 a_iy_i+a_jy_j=c,\quad a_i \geq 0,a_j \geq 0 aiyi+ajyj=c,ai≥0,aj≥0
其中
c = − ∑ k = i , j a k y k c=-\sum_{k=i,j}a_ky_k c=−k=i,j∑akyk
如何确定偏移项 b b b呢?注意到对任意支持想想 ( x s , y s ) (x_s,y_s) (xs,ys)都有 y s f ( x s ) = 1 y_sf(x_s)=1 ysf(xs)=1,即
y s ( ∑ i ∈ S a i y i x i T x s + b ) = 1 y_s(\sum_{i\in S}a_iy_i\pmb x_i^T \pmb x_s +b)=1 ys(i∈S∑aiyixxxiTxxxs+b)=1
理论上可选取任意支持向量并通过求解上式得到 b b b,但现实任务中常采用一种更鲁棒的做法:使用所有支持向量求解的平均值
b = 1 ∣ S ∣ ∑ s ∈ S ( y s − ∑ i ∈ S a i y i x i T x s ) b=\frac{1}{|S|}\sum_{s\in S}(y_s - \sum_{i\in S}a_iy_i\pmb x_i^T \pmb x_s) b=∣S∣1s∈S∑(ys−i∈S∑aiyixxxiTxxxs) 
三、核函数

- 问题不一定是线性可分的,对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分,令
     
      
       
        
         ϕ
        
        
         (
        
        
         x
        
        
         )
        
       
       
        \phi(\pmb x)
       
      
     ϕ(xxx)表示 
     
      
       
        
         x
        
       
       
        \pmb x
       
      
     xxx映射后的特征向量,在特征空间中划分超平面所对应的模型可表示为
f ( x ) = w T ϕ ( x ) + b f(\pmb x) = \pmb w^T \phi(\pmb x) + b f(xxx)=wwwTϕ(xxx)+b
并有
min  w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T ϕ ( x ) + b ) ≥ 1 , i = 1 , 2 , ⋯ , m \underset {w,b}{\operatorname {min}}\frac{1}{2}||\pmb w||^2\\ s.t. \quad y_i(\pmb w^T \phi(\pmb x) + b)\geq 1,\quad i=1,2,\cdots,m w,bmin21∣∣www∣∣2s.t.yi(wwwTϕ(xxx)+b)≥1,i=1,2,⋯,m
其对偶问题是
max  a ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j ϕ ( x i ) T ϕ ( x j ) s . t . ∑ i = 1 m a i y i = 0 a i ≥ 0 , i = 1 , 2 , ⋯ , m \underset {\pmb a}{\operatorname {max}}\sum_{i=1}^ma_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m a_i a_j y_i y_j\phi(\pmb x_i)^T\phi(\pmb x_j)\\ s.t.\quad \sum_{i=1}^m a_i y_i =0\\ a_i \geq0,\quad i=1,2,\cdots,m aaamaxi=1∑mai−21i=1∑mj=1∑maiajyiyjϕ(xxxi)Tϕ(xxxj)s.t.i=1∑maiyi=0ai≥0,i=1,2,⋯,m
κ ( x i , x j ) = < ϕ ( x i , x j ) > = ϕ ( x i ) T ϕ ( x j ) \kappa(\pmb x_i, \pmb x_j)=<\phi(\pmb x_i,\pmb x_j)>=\phi (\pmb x_i)^T \phi (\pmb x_j) κ(xxxi,xxxj)=<ϕ(xxxi,xxxj)>=ϕ(xxxi)Tϕ(xxxj)
替换式中相关项,求解得到
f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m a i y I ϕ ( x i ) T ϕ ( x j ) + b = ∑ i = 1 m a i y i κ ( x i , x j ) + b \begin{aligned} f(\pmb x) &= \pmb w^T\phi (\pmb x) +b\\ &=\sum_{i=1}^m a_i y_I \phi(\pmb x_i)^T\phi(\pmb x_j)+b\\ &=\sum_{i=1}^ma_i y_i\kappa(\pmb x_i, \pmb x_j) + b \end{aligned} f(xxx)=wwwTϕ(xxx)+b=i=1∑maiyIϕ(xxxi)Tϕ(xxxj)+b=i=1∑maiyiκ(xxxi,xxxj)+b
其中 κ ( ⋅ , ⋅ ) \kappa(\cdot,\cdot) κ(⋅,⋅)就是 “核函数”(kernel function),式中显示出模型最优解可通过训练样本的核函数展开,这一展开式亦称“支持向量展开式”(support vector expansion) - 定理:令
     
      
       
        
         χ
        
       
       
        \chi
       
      
     χ为输入空间,
     
      
       
        
         κ
        
        
         (
        
        
         ⋅
        
        
         ,
        
        
         ⋅
        
        
         )
        
       
       
        \kappa(\cdot,\cdot)
       
      
     κ(⋅,⋅)是定义在
     
      
       
        
         χ
        
        
         ×
        
        
         χ
        
       
       
        \chi \times \chi
       
      
     χ×χ上的对称函数,则
     
      
       
        
         κ
        
       
       
        \kappa
       
      
     κ是核函数当且仅当对于任意
     
      
       
        
         D
        
        
         =
        
        
         {
        
        
         
          x
         
         
          1
         
        
        
         ,
        
        
         
          x
         
         
          2
         
        
        
         ,
        
        
         ⋯
         
        
         ,
        
        
         
          x
         
         
          m
         
        
        
         }
        
       
       
        D=\{\pmb x_1, \pmb x_2,\cdots,\pmb x_m\}
       
      
     D={xxx1,xxx2,⋯,xxxm},“核矩阵”(kernel matrix)
     
      
       
        
         K
        
       
       
        \Kappa
       
      
     K是半正定的:
K = [ κ ( x 1 , x 1 ) ⋯ κ ( x i , x j ) ⋯ κ ( x 1 , x m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x i , x 1 ) ⋯ κ ( x i , x j ) ⋯ κ ( x i , x m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x m , x 1 ) ⋯ κ ( x m , x j ) ⋯ κ ( x m , x m ) ] \Kappa= \begin{bmatrix} \kappa(\pmb x_1, \pmb x_1)&\cdots&\kappa(\pmb x_i, \pmb x_j)&\cdots&\kappa(\pmb x_1, \pmb x_m)\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ \kappa(\pmb x_i, \pmb x_1)&\cdots&\kappa(\pmb x_i, \pmb x_j)&\cdots&\kappa(\pmb x_i, \pmb x_m)\\ \vdots&\ddots&\vdots&\ddots&\vdots\\ \kappa(\pmb x_m, \pmb x_1)&\cdots&\kappa(\pmb x_m, \pmb x_j)&\cdots&\kappa(\pmb x_m, \pmb x_m)\\ \end{bmatrix} K=⎣⎢⎢⎢⎢⎢⎢⎡κ(xxx1,xxx1)⋮κ(xxxi,xxx1)⋮κ(xxxm,xxx1)⋯⋱⋯⋱⋯κ(xxxi,xxxj)⋮κ(xxxi,xxxj)⋮κ(xxxm,xxxj)⋯⋱⋯⋱⋯κ(xxx1,xxxm)⋮κ(xxxi,xxxm)⋮κ(xxxm,xxxm)⎦⎥⎥⎥⎥⎥⎥⎤ - 定理表明,只要一个堆成函数所对应的核矩阵半正定,它就能作为核函数使用。事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射 ϕ \phi ϕ。换言之,任何一个核函数都隐式地定义了一个称为 “再生核希尔伯特空间”(Reproducing Kernel Hilbert Space,简称RKHS) 的特殊空间
 - “核函数选择”成为支持向量机的最大变数

此外,还可通过函数组合得到,例如: - 若
     
      
       
        
         
          κ
         
         
          1
         
        
       
       
        \kappa_1
       
      
     κ1和
     
      
       
        
         
          κ
         
         
          2
         
        
       
       
        \kappa_2
       
      
     κ2为核函数,则对于任意正数
     
      
       
        
         
          γ
         
         
          1
         
        
       
       
        \gamma_1
       
      
     γ1和
     
      
       
        
         
          γ
         
         
          2
         
        
       
       
        \gamma_2
       
      
     γ2,其线性组合
γ 1 κ 1 + γ 2 κ 2 \gamma_1\kappa_1+\gamma_2\kappa_2 γ1κ1+γ2κ2
也是核函数
κ 1 ⊗ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) \kappa_1 \otimes \kappa_2(\pmb x,\pmb z) =\kappa_1(\pmb x,\pmb z)\kappa_2(\pmb x,\pmb z) κ1⊗κ2(xxx,zzz)=κ1(xxx,zzz)κ2(xxx,zzz)
直积也是核函数
对于任意函数 g ( x ) g(x) g(x),
κ ( x , z ) = g ( x ) κ 1 ( x , z ) g ( z ) \kappa(\pmb x,\pmb z)= g(\pmb x)\kappa_1(\pmb x,\pmb z)g(\pmb z) κ(xxx,zzz)=g(xxx)κ1(xxx,zzz)g(zzz)
也是核函数 
四、软间隔与正则化

- 所有样本均满足约束,即所有样本都必须划分正确,成为“硬间隔”(hard margin),而“软间隔”(soft margin)允许某些样本不满足约束
y i ( w T x i + b ) ≥ 1 y_i(\pmb w^T \pmb x_i +b) \geq 1 yi(wwwTxxxi+b)≥1
当然,在最大化间隔的同时,不满足约束的样本应尽可能少,优化目标可写为
min  w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ 0 / 1 ( y i ( w T x i + b ) − 1 ) , \underset {w,b}{\operatorname {min}}\frac{1}{2}||\pmb w||^2 +C\sum_{i=1}^m \ell_{0/1}(y_i(\pmb w^T\pmb x_i +b )-1), w,bmin21∣∣www∣∣2+Ci=1∑mℓ0/1(yi(wwwTxxxi+b)−1),
其中 C > 0 C>0 C>0是一个常数, ℓ 0 / 1 \ell_{0/1} ℓ0/1是”0/1损失函数“
ℓ 0 / 1 ( z ) = { 1 , i f z < 0 ; 0 , o t h e r w i s e . \ell_{0/1}(z)= \begin{cases} 1, \quad if z<0;\\ 0, \quad otherwise. \end{cases} ℓ0/1(z)={1,ifz<0;0,otherwise. - 当C为无穷大时,迫使所有样本均满足约束;当C取有限值时,允许一些样本不满足约束
 - 0/1 不连续,数学性质不好,“替代损失”(surrogate loss) 一般具有较好的数学性质,如它们通常是凸连续函数且是
     
      
       
        
         
          ℓ
         
         
          
           0
          
          
           /
          
          
           1
          
         
        
       
       
        \ell_{0/1}
       
      
     ℓ0/1的上界,三种常用的替代损失函数:
h i n d g e 损 失 函 数 : ℓ h i n g e ( z ) = m a x ( 0 , 1 − z ) ; 指 数 损 失 ( e x p o n e n t i a l l o s s ) : ℓ e x p ( z ) = e x p ( − z ) 对 率 损 失 ( l o g i s t i c l o s s ) : ℓ l o g ( z ) = l o g ( 1 + e x p ( − z ) ) hindge损失函数:\ell_{hinge}(z)=max(0,1-z);\\ 指数损失(exponential loss):\ell_{exp}(z)=exp(-z)\\ 对率损失(logistic loss): \ell_{log}(z)=log(1+exp(-z)) hindge损失函数:ℓhinge(z)=max(0,1−z);指数损失(exponentialloss):ℓexp(z)=exp(−z)对率损失(logisticloss):ℓlog(z)=log(1+exp(−z))
若采用hinge损失,则变成:
min  w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m max  ( 0 , 1 − y i ( w T x i + b ) ) \underset {w,b}{\operatorname {min}} \frac{1}{2}||\pmb w||^2+C\sum_{i=1}^m\operatorname {max}(0,1-y_i(\pmb w^T \pmb x_i +b)) w,bmin21∣∣www∣∣2+Ci=1∑mmax(0,1−yi(wwwTxxxi+b))

 
引用“松弛变量”(slack variables)
    
     
      
       
        
         ξ
        
        
         i
        
       
       
        ≥
       
       
        0
       
      
      
       \xi_i\geq0
      
     
    ξi≥0,可将式重写为
 
     
      
       
        
         
          
           min
          
          
           
          
         
         
          
           w
          
          
           ,
          
          
           b
          
          
           ,
          
          
           
            ξ
           
           
            i
           
          
         
        
        
         
          1
         
         
          2
         
        
        
         ∣
        
        
         ∣
        
        
         w
        
        
         ∣
        
        
         
          ∣
         
         
          2
         
        
        
         +
        
        
         C
        
        
         
          ∑
         
         
          
           i
          
          
           =
          
          
           1
          
         
        
        
         m
        
        
         
          ξ
         
         
          i
         
        
        
        
         s
        
        
         .
        
        
         t
        
        
         .
        
        
        
         
          y
         
         
          i
         
        
        
         (
        
        
         
          w
         
         
          T
         
        
        
         
          x
         
         
          i
         
        
        
         +
        
        
         b
        
        
         )
        
        
         ≥
        
        
         1
        
        
         −
        
        
         
          ξ
         
         
          i
         
        
        
        
         
          ξ
         
         
          i
         
        
        
         ≥
        
        
         0
        
        
         ,
        
        
        
         i
        
        
         =
        
        
         1
        
        
         ,
        
        
         2
        
        
         ,
        
        
         ⋯
         
        
         ,
        
        
         m
        
        
         .
        
       
       
         \underset {w,b,\xi_i}{\operatorname {min}}\frac{1}{2}||\pmb w||^2+C\sum_{i=1}{m}\pmb \xi_i\\ s.t.\quad y_i(\pmb w^T \pmb x_i + b)\geq1-\xi_i\\ \xi_i \geq0, \quad i=1,2,\cdots,m. 
       
      
     w,b,ξimin21∣∣www∣∣2+Ci=1∑mξξξis.t.yi(wwwTxxxi+b)≥1−ξiξi≥0,i=1,2,⋯,m.
 这就是常用的“软间隔支持向量机”,仍是一个二次规划问题,类似的,通过拉格朗日乘子法得到
 
     
      
       
        
         
          
           
            
             L
            
            
             (
            
            
             w
            
            
             ,
            
            
             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} L(\pmb w,b ,\pmb \alpha, \pmb \xi, \pmb \mu)&=\frac{1}{2}||\pmb w||^2+C\sum_{i=1}^m\xi_i\\ &+\sum_{i=1}^m\alpha_i(1-\xi_i-y_i(\pmb w^T \pmb x_i + b))-\sum_{i=1}^m\mu_i\xi_i\\ \end{aligned} 
       
      
     L(www,b,ααα,ξξξ,μμμ)=21∣∣www∣∣2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wwwTxxxi+b))−i=1∑mμiξi
对软间隔支持向量机,KKT条件
 
     
      
       
        
         {
        
        
         
          
           
            
             
              
               α
              
              
               i
              
             
             
              ≥
             
             
              0
             
             
              ,
             
             
             
              
               μ
              
              
               i
              
             
             
              ≥
             
             
              0
             
             
              ,
             
            
           
          
         
         
          
           
            
             
              
               y
              
              
               i
              
             
             
              f
             
             
              (
             
             
              
               x
              
              
               i
              
             
             
              )
             
             
              −
             
             
              1
             
             
              +
             
             
              
               ξ
              
              
               i
              
             
             
              ≥
             
             
              0
             
             
              ,
             
            
           
          
         
         
          
           
            
             
              
               α
              
              
               i
              
             
             
              (
             
             
              
               y
              
              
               i
              
             
             
              f
             
             
              (
             
             
              
               x
              
              
               i
              
             
             
              )
             
             
              −
             
             
              1
             
             
              +
             
             
              
               ξ
              
              
               i
              
             
             
              )
             
             
              =
             
             
              0
             
             
              ,
             
            
           
          
         
         
          
           
            
             
              
               ξ
              
              
               i
              
             
             
              ≥
             
             
              0
             
             
              ,
             
             
              
               μ
              
              
               i
              
             
             
              
               ξ
              
              
               i
              
             
             
              =
             
             
              0.
             
            
           
          
         
        
       
       
         \begin{cases} \alpha_i\geq0,\quad \mu_i\geq0,\\ y_if(\pmb x_i)-1+\xi_i\geq 0,\\ \alpha_i(y_if(\pmb x_i)-1+\xi_i)=0,\\ \xi_i\geq0,\mu_i\xi_i=0. \end{cases} 
       
      
     ⎩⎪⎪⎪⎨⎪⎪⎪⎧αi≥0,μi≥0,yif(xxxi)−1+ξi≥0,αi(yif(xxxi)−1+ξi)=0,ξi≥0,μiξi=0.
- 软间隔支持向量最终模型仅与支持向量有关,即通过采用hinge损失函数仍保持了稀疏性
 - 如果使用对率损失函数 ℓ l o g \ell_{log} ℓlog来替代式中的0/1损失函数,则几何得到了对率回归模型
 - 对率回归的优势主要在于其输出具有自然的概率意义,即在给出预测标记的同时也给出了概率。而支持向量机的输出不具有概率意义,欲得到概率输出需进行特殊处理
 - 对率回归能够直接用于多分类任务,支持向量机为此则需要进行推广
 - 对数回归的解依赖于更多的训练样本,其预测开销更大
 - 可写为一般形式
min  f Ω ( f ) + C ∑ i = 1 m ℓ ( f ( x i ) , y i ) , \underset {f}{\operatorname {min}}\Omega(f)+C\sum_{i=1}^m\ell(f(\pmb x_i),y_i), fminΩ(f)+Ci=1∑mℓ(f(xxxi),yi),
其中 Ω ( f ) \Omega(f) Ω(f)称为 “结构风险”(structural risk),用于描述模型f的某些性质;第二项 ∑ i = 1 m ℓ ( f ( x i ) , y i ) \sum_{i=1}^m\ell(f(\pmb x_i),y_i) ∑i=1mℓ(f(xxxi),yi)称为 “经验风险”(empirical risk),用于描述模型与训练数据的契合度;C用于对二者进行折中。 - 从风险最小化的角度来看, Ω ( f ) \Omega(f) Ω(f)表达了我们希望获得具有何种性质的模型,这为引入领域知识和用户意图提供了途径;另一方面,该信息有助于削减假设空间,从而降低最小化训练误差的过拟合风险。从这个角度来说,上式称为 “正则化”(regularization) 问题, Ω ( f ) \Omega(f) Ω(f)称为正则化项,C则称为正则化常数, L  P \operatorname L_P LP范数(norm)是常用的正则化项
 - 其中L2范数 ∣ ∣ w ∣ ∣ 2 ||\pmb w||^2 ∣∣www∣∣2倾向于 w \pmb w www的分量取值尽量均衡,即非零分量个数尽量稠密,而L0范数 ∣ ∣ w ∣ ∣ 0 ||\pmb w||_0 ∣∣www∣∣0和L1范数 ∣ ∣ w ∣ ∣ 1 ||\pmb w||_1 ∣∣www∣∣1则倾向 w \pmb w www的分量尽量稀疏,即非零向量个数尽量少
 
五、支持向量回归
- 支持向量回归(Support Vector Regression,简称SVR)
SVR 问题可形式化为
min  w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i , \underset {w,b}{\operatorname {min}}\frac{1}{2}||\pmb w||^2+C\sum_{i=1}^m\ell_{\epsilon}(f(\pmb x_i)-y_i, w,bmin21∣∣www∣∣2+Ci=1∑mℓϵ(f(xxxi)−yi,
其中C为正则化常数, ℓ ϵ \ell_{\epsilon} ℓϵ是图中所示的 ϵ \epsilon ϵ-不敏感损失( ϵ \epsilon ϵ-insensitive loss)函数
ℓ ϵ ( z ) = { 0 , if  ∣ z ∣ ≤ ϵ ; ∣ z ∣ − ϵ , otherwise  \ell_{\epsilon}(z)= \begin{cases} 0,\quad \operatorname {if}|z|\leq\epsilon;\\ |z|-\epsilon, \quad \operatorname{otherwise} \end{cases} ℓϵ(z)={0,if∣z∣≤ϵ;∣z∣−ϵ,otherwise

引入松弛变量 ξ i \xi_i ξi和 ξ ^ i \hat \xi_i ξ^i,可将式重写为
min  w , b , ξ i , ξ ^ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) s . t . f ( x i ) − y i ≤ ϵ + ξ i y i − f ( x i ) ≤ ϵ + ξ ^ i ξ i ≥ 0 , ξ ^ i ≥ 0 , i = 1 , 2 , ⋯ , m . \underset{w,b,\xi_i,\hat \xi_i}{\operatorname {min}}\frac{1}{2}||\pmb w||^2+C\sum_{i=1}^m(\xi_i+\hat \xi_i)\\ s.t. \quad f(\pmb x_i)-y_i \leq \epsilon + \xi_i\\ y_i- f(\pmb x_i)\leq \epsilon + \hat \xi_i\\ \xi_i\geq0,\hat \xi_i \geq 0,i=1,2,\cdots,m. w,b,ξi,ξ^imin21∣∣www∣∣2+Ci=1∑m(ξi+ξ^i)s.t.f(xxxi)−yi≤ϵ+ξiyi−f(xxxi)≤ϵ+ξ^iξi≥0,ξ^i≥0,i=1,2,⋯,m. 
KKT条件
 
     
      
       
        
         {
        
        
         
          
           
            
             
              
               α
              
              
               i
              
             
             
              (
             
             
              f
             
             
              (
             
             
              
               x
              
              
               i
              
             
             
              )
             
             
              −
             
             
              
               y
              
              
               i
              
             
             
              −
             
             
              ϵ
             
             
              −
             
             
              
               ξ
              
              
               i
              
             
             
              )
             
             
              =
             
             
              0
             
             
              ,
             
            
           
          
         
         
          
           
            
             
              
               
                α
               
               
                ^
               
              
              
               i
              
             
             
              (
             
             
              
               y
              
              
               i
              
             
             
              −
             
             
              f
             
             
              (
             
             
              
               x
              
              
               i
              
             
             
              )
             
             
              −
             
             
              ϵ
             
             
              −
             
             
              
               
                ξ
               
               
                ^
               
              
              
               i
              
             
             
              )
             
             
              =
             
             
              0
             
             
              ,
             
            
           
          
         
         
          
           
            
             
              
               α
              
              
               i
              
             
             
              
               
                α
               
               
                ^
               
              
              
               i
              
             
             
              =
             
             
              0
             
             
              ,
             
             
              
               ξ
              
              
               i
              
             
             
              
               
                ξ
               
               
                ^
               
              
              
               i
              
             
             
              =
             
             
              0
             
            
           
          
         
         
          
           
            
             
              (
             
             
              C
             
             
              −
             
             
              
               α
              
              
               i
              
             
             
              )
             
             
              
               ξ
              
              
               i
              
             
             
              =
             
             
              0
             
             
              ,
             
             
              (
             
             
              C
             
             
              −
             
             
              
               
                α
               
               
                ^
               
              
              
               i
              
             
             
              )
             
             
              
               
                ξ
               
               
                ^
               
              
              
               i
              
             
             
              =
             
             
              0.
             
            
           
          
         
        
       
       
         \begin{cases} \alpha_i(f(\pmb x_i)-y_i-\epsilon -\xi_i)=0,\\ \hat \alpha_i(y_i-f(\pmb x_i)-\epsilon -\hat \xi_i)=0,\\ \alpha_i\hat \alpha_i=0,\xi_i\hat \xi_i=0\\ (C-\alpha_i)\xi_i=0,(C-\hat \alpha_i)\hat \xi_i=0. \end{cases} 
       
      
     ⎩⎪⎪⎪⎨⎪⎪⎪⎧αi(f(xxxi)−yi−ϵ−ξi)=0,α^i(yi−f(xxxi)−ϵ−ξ^i)=0,αiα^i=0,ξiξ^i=0(C−αi)ξi=0,(C−α^i)ξ^i=0.
- 仅当样本
     
      
       
        
         (
        
        
         
          x
         
         
          i
         
        
        
         ,
        
        
         
          y
         
         
          i
         
        
        
         )
        
       
       
        (\pmb x_i,y_i)
       
      
     (xxxi,yi)不落入
     
      
       
        
         ϵ
        
       
       
        \epsilon
       
      
     ϵ-间隔带中,相应的
     
      
       
        
         
          α
         
         
          i
         
        
       
       
        \alpha_i
       
      
     αi和
     
      
       
        
         
          
           α
          
          
           ^
          
         
         
          i
         
        
       
       
        \hat \alpha_i
       
      
     α^i才能取非零值
SVR可表示为
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b f(\pmb x)=\sum_{i=1}^m(\hat \alpha_i - \alpha_i)\kappa(\pmb x, \pmb x_i) +b f(xxx)=i=1∑m(α^i−αi)κ(xxx,xxxi)+b
其中 κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa(\pmb x_i, \pmb x_j)=\phi(\pmb x_i)^T\phi(\pmb x_j) κ(xxxi,xxxj)=ϕ(xxxi)Tϕ(xxxj)
这节推导部分很多,省略了很多 
六、核方法
- “表示定理”(representer theorem)令
     
      
       
        
         H
        
       
       
        \mathbb{H}
       
      
     H为核函数
     
      
       
        
         κ
        
       
       
        \kappa
       
      
     κ对应的再生核希泊尔特空间,
     
      
       
        
         ∣
        
        
         ∣
        
        
         h
        
        
         ∣
        
        
         
          ∣
         
         
          H
         
        
       
       
        ||h||_{H}
       
      
     ∣∣h∣∣H表示空间中关于h的范数,对于任意单调递增函数
     
      
       
        
         Ω
        
        
         :
        
        
         [
        
        
         0
        
        
         ,
        
        
         ∞
        
        
         )
        
        
         ↦
        
        
         R
        
       
       
        \Omega:[0,\infty)\mapsto \mathbb{R}
       
      
     Ω:[0,∞)↦R和任意非损失函数
     
      
       
        
         ℓ
        
        
         :
        
        
         R
        
        
         ↦
        
        
         [
        
        
         0
        
        
         ,
        
        
         ∞
        
        
         ]
        
       
       
        \ell:\mathbb{R}\mapsto[0,\infty]
       
      
     ℓ:R↦[0,∞],优化问题
min  h ∈ H F ( h ) = Ω ( ∣ ∣ h ∣ ∣ H ) + ℓ ( h ( x 1 ) , h ( x 2 ) , ⋯ , h ( x m ) ) \underset{h\in \mathbb{H}}{\operatorname {min}}F(h) = \Omega(||h||_H)+\ell(h(\pmb x_1),h(\pmb x_2),\cdots,h(\pmb x_m)) h∈HminF(h)=Ω(∣∣h∣∣H)+ℓ(h(xxx1),h(xxx2),⋯,h(xxxm))
解总可以写为
h ∗ ( x ) = ∑ i = 1 m α i κ ( x , x i ) h^*(\pmb x) = \sum_{i=1}^{m}\alpha_i\kappa(\pmb x,\pmb x_i) h∗(xxx)=i=1∑mαiκ(xxx,xxxi) - 基于核函数的学习方法,统称为 “核方法”(kernel methods) 最常见的,是通过“核化”(即引入核函数)来将线性学习器拓展为非线性学习器
 - “核线性判别分析”(Kernelized Linear Discriminant Analysis,简称KLDA)
先假设可通过某种映射 ϕ : χ ↦ F \phi:\chi\mapsto \mathbb{F} ϕ:χ↦F将样本映射到一个特征空间 F \mathbb{F} F,然后在 F \mathbb{F} F中执行线性判别分析,以求得
h ( x ) = w T ϕ ( x ) h(\pmb x)=\pmb w^T \phi(\pmb x) h(xxx)=wwwTϕ(xxx)
KLDA的学习目标是
max  w J ( w ) = w T S b ϕ w w T S w ϕ w , \underset{w}{\operatorname {max}}J(\pmb w)=\frac{\pmb w^TS_b^{\phi}\pmb w}{\pmb w^TS_w^{\phi}\pmb w}, wmaxJ(www)=wwwTSwϕwwwwwwTSbϕwww,
S b ϕ S_b^{\phi} Sbϕ和 S w ϕ S_w^{\phi} Swϕ分别为训练样本在特征空间 F \mathbb{F} F中的类间散度矩阵和类内散度矩阵,令 X i X_i Xi表示第 i ∈ { 0 , 1 } i\in\{0,1\} i∈{0,1}类样本的集合,其样本数为 m i m_i mi;总样本数 m = m 0 + m 1 m=m_0+m_1 m=m0+m1.第i类样本在特征空间 F \mathbb{F} F中的均值为
μ i ϕ = 1 m i ∑ x ∈ X i ϕ ( x ) \pmb \mu_i^{\phi}=\frac{1}{m_i}\sum_{x \in X_i}\phi(\pmb x) μμμiϕ=mi1x∈Xi∑ϕ(xxx)
两个散度矩阵分别为
S b ϕ = ( μ 1 ϕ − μ 0 ϕ ) ( μ 1 ϕ − μ 0 ϕ ) T S w ϕ = ∑ i = 1 1 ∑ s ∈ X i ( ϕ ( x ) − μ i ϕ ) ( ϕ ( x ) − μ i ϕ ) T S_b^{\phi}=(\pmb \mu_1^{\phi}-\pmb \mu_0^{\phi})(\pmb \mu_1^{\phi}-\pmb \mu_0^{\phi})^T\\ S_w^{\phi}=\sum_{i=1}^1\sum_{s\in X_i}(\phi(\pmb x)-\pmb \mu_i^{\phi})(\phi(\pmb x)-\pmb \mu_i^{\phi})^T Sbϕ=(μμμ1ϕ−μμμ0ϕ)(μμμ1ϕ−μμμ0ϕ)TSwϕ=i=1∑1s∈Xi∑(ϕ(xxx)−μμμiϕ)(ϕ(xxx)−μμμiϕ)T
通常我们难以知道映射 ϕ 的 具 体 形 式 , 因 此 \phi的具体形式,因此 ϕ的具体形式,因此使用核函数 κ ( x , x i ) = ϕ ( x i ) T ϕ ( x ) \kappa(\pmb x,\pmb x_i)=\phi(\pmb x_i)^T\phi(\pmb x) κ(xxx,xxxi)=ϕ(xxxi)Tϕ(xxx)来隐式表达这个映射和特征空间 F \mathbb{F} F
由表示定理,函数 h ( x ) h(\pmb x) h(xxx)可写为
h ( x ) = ∑ i = 1 m α i κ ( x , x i ) = ∑ i = 1 m α i ϕ ( x i ) T ϕ ( x ) = ( ∑ i = 1 m α i ϕ ( x i ) ) T ϕ ( x ) \begin{aligned} h(\pmb x) &= \sum_{i=1}^m\alpha_i\kappa(\pmb x,\pmb x_i)\\ &=\sum_{i=1}^m\alpha_i\phi(\pmb x_i)^T\phi(\pmb x)\\ &=(\sum_{i=1}^m\alpha_i\phi(\pmb x_i))^T\phi(\pmb x) \end{aligned} h(xxx)=i=1∑mαiκ(xxx,xxxi)=i=1∑mαiϕ(xxxi)Tϕ(xxx)=(i=1∑mαiϕ(xxxi))Tϕ(xxx)
可得
w = ∑ i = 1 m α i ϕ ( x i ) \pmb w = \sum_{i=1}^m\alpha_i\phi(\pmb x_i) www=i=1∑mαiϕ(xxxi)
令 K ∈ R m × m \pmb K \in \mathbb R^{m\times m} KKK∈Rm×m为核函数 κ \kappa κ所对应的核矩阵, ( K ) i j = κ ( x i , x j ) (\pmb K)_{ij}=\kappa(\pmb x_i,\pmb x_j) (KKK)ij=κ(xxxi,xxxj).令 1 i ∈ { 1 , 0 } m × 1 1_i\in\{1,0\}^{m\times 1} 1i∈{1,0}m×1为第i类样本的指示向量,即 1 i 1_i 1i的第j个分量为1当且仅当 x j ∈ X i \pmb x_j\in X_i xxxj∈Xi,否则 1 i 1_i 1i的第j个分量为0.再令
μ ^ 0 = 1 m 0 K 1 0 , μ ^ 1 = 1 m 1 K 1 1 , M = ( μ ^ 0 − μ ^ 1 ) ( μ ^ 0 − μ ^ 1 ) T N = K K T − ∑ i = 0 1 m i μ ^ i μ ^ i T \hat \mu_0 = \frac{1}{m_0}\pmb K1_0,\\ \hat \mu_1 = \frac{1}{m_1}\pmb K1_1,\\ \pmb M = (\hat \mu_0 - \hat \mu_1)(\hat \mu_0 - \hat \mu_1)^T\\ \pmb N = \pmb K\pmb K^T - \sum_{i=0}^1m_i\hat \mu_i\hat \mu_i^T μ^0=m01KKK10,μ^1=m11KKK11,MMM=(μ^0−μ^1)(μ^0−μ^1)TNNN=KKKKKKT−i=0∑1miμ^iμ^iT
于是有
max  α J ( α ) = α T M α α T N α \underset{\alpha}{\operatorname{max}}J(\pmb \alpha)= \frac{\pmb \alpha^T\pmb M \pmb \alpha}{\pmb \alpha^T\pmb N \pmb \alpha} αmaxJ(ααα)=αααTNNNααααααTMMMααα
显然,使用线性判别分析求解方法即可得到 α \pmb \alpha ααα,进而可得到投影函数 h ( x ) h(\pmb x) h(xxx) 
总结
本节推导内容较多,省略了部分内容。










