0


SVM——《统计学习方法第七章》


为什么叫支持向量机

在第二章中我们学过感知机,它是最小化所有误分类点到超平面的距离之和, M 为误分类点的集合,得到的分离超平面是不唯一的。

        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
     
    
      [ 
     
    
      − 
     
     
     
       ∑ 
      
      
       
       
         x 
        
       
         i 
        
       
      
        ∈ 
       
      
        M 
       
      
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
    
      ] 
     
    
   
     \min_{\omega,b}[-\sum_{x_i \in M}y_i (\omega\cdot x_i+b)] 
    
   
 ω,bmin​[−xi​∈M∑​yi​(ω⋅xi​+b)]

在支持向量机中,

       { 
      
      
       
        
         
          
          
            分类确信度 
           
           
            
            
              ∣ 
             
            
              ω 
             
            
              ⋅ 
             
             
             
               x 
              
             
               i 
              
             
            
              + 
             
            
              b 
             
            
              ∣ 
             
            
            
            
              ∣ 
             
            
              ∣ 
             
            
              ω 
             
            
              ∣ 
             
            
              ∣ 
             
            
           
          
         
        
       
       
        
         
          
          
            分类正确性 
           
           
           
             y 
            
           
             i 
            
           
          
            ( 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ) 
           
          
         
        
       
      
     
    
      ⇒ 
     
    
      几何间隔 
     
     
     
       γ 
      
     
       i 
      
     
    
      = 
     
     
      
       
       
         y 
        
       
         i 
        
       
      
        ( 
       
      
        ω 
       
      
        ⋅ 
       
       
       
         x 
        
       
         i 
        
       
      
        + 
       
      
        b 
       
      
        ) 
       
      
      
      
        ∣ 
       
      
        ∣ 
       
      
        ω 
       
      
        ∣ 
       
      
        ∣ 
       
      
     
    
   
     \begin{cases} 分类确信度 \frac{|\omega\cdot x_i+b|}{||\omega||}\\ 分类正确性 y_i(\omega\cdot x_i +b) \end{cases} \Rightarrow几何间隔\gamma_i=\frac{y_i(\omega\cdot x_i +b)}{||\omega||} 
    
   
 {分类确信度∣∣ω∣∣∣ω⋅xi​+b∣​分类正确性yi​(ω⋅xi​+b)​⇒几何间隔γi​=∣∣ω∣∣yi​(ω⋅xi​+b)​

哪些样本最有用?就是几何间隔最小的点

     min 
    
   
     ⁡ 
    
    
    
      γ 
     
    
      i 
     
    
   
  
    \min \gamma_i 
   
  
minγi​。

然后使得几何间隔最小的点最大

       max 
      
     
       ⁡ 
      
     
     
     
       ω 
      
     
       , 
      
     
       b 
      
     
    
   
     min 
    
   
     ⁡ 
    
    
    
      γ 
     
    
      i 
     
    
   
  
    \max_{\omega,b}\min \gamma_i 
   
  
maxω,b​minγi​,一看这形式就知道要使用到最大熵章节讲到的原始问题和对偶问题。

 
  
   
    
    
      R 
     
    
      n 
     
    
   
  
    R^n 
   
  
Rn空间中点和向量是等价的,最有用的那些点 
 
  
   
   
     min 
    
   
     ⁡ 
    
    
    
      γ 
     
    
      i 
     
    
   
  
    \min \gamma_i 
   
  
minγi​称为支持向量。

线性可分支持向量机

a122df875738429a7dc0543663a3aa61.png
线性可分支持向量机是可以将样本点完全分类开来,但是这种情况在现实中是很少的,但是它是最简单的支持向量机。我们先理清它的过程,还有一些证明,后面的向量机都是在它的基础上发展的。
假设有 N 个样本,M 个特征 ,Y 只有正类(+1)和负类(-1)

几何间隔和函数间隔

几何间隔的定义(点

     ( 
    
    
    
      x 
     
    
      i 
     
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
     ) 
    
   
  
    (x_i,y_i) 
   
  
(xi​,yi​)**到超平面** 
 
  
   
   
     ω 
    
   
     ⋅ 
    
   
     x 
    
   
     + 
    
   
     b 
    
   
     = 
    
   
     0 
    
   
  
    \omega\cdot x + b=0 
   
  
ω⋅x+b=0**的距离):**

  
   
    
     
      
       
        
        
          γ 
         
        
          i 
         
        
       
      
      
       
        
         
        
          = 
         
         
          
          
            ∣ 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ∣ 
           
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          = 
         
         
          
           
           
             y 
            
           
             i 
            
           
          
            ( 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ) 
           
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          = 
         
         
         
           y 
          
         
           i 
          
         
        
          ( 
         
         
         
           ω 
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
          ⋅ 
         
         
         
           x 
          
         
           i 
          
         
        
          + 
         
         
         
           b 
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
          ) 
         
        
       
      
     
    
   
     \begin{aligned} \gamma_i&=\frac{|\omega\cdot x_i +b|}{||\omega||}\\ &=\frac{y_i(\omega\cdot x_i +b)} {||\omega||}\\ &=y_i(\frac{\omega}{||\omega||}\cdot x_i+\frac{b}{||\omega||}) \end{aligned} 
    
   
 γi​​=∣∣ω∣∣∣ω⋅xi​+b∣​=∣∣ω∣∣yi​(ω⋅xi​+b)​=yi​(∣∣ω∣∣ω​⋅xi​+∣∣ω∣∣b​)​

几何间隔的最小值

     γ 
    
   
     = 
    
    
     
     
       min 
      
     
       ⁡ 
      
     
    
      i 
     
    
    
    
      γ 
     
    
      i 
     
    
   
  
    \gamma = \min_i \gamma_i 
   
  
γ=mini​γi​

优化问题为:

            max 
           
          
            ⁡ 
           
          
          
          
            ω 
           
          
            , 
           
          
            b 
           
          
         
         
        
          γ 
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          s 
         
        
          . 
         
        
          t 
         
        
          . 
         
         
         
         
           y 
          
         
           i 
          
         
        
          ( 
         
         
         
           ω 
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
          ⋅ 
         
         
         
           x 
          
         
           i 
          
         
        
          + 
         
         
         
           b 
          
          
          
            ∣ 
           
          
            ∣ 
           
          
            ω 
           
          
            ∣ 
           
          
            ∣ 
           
          
         
        
          ) 
         
        
          ≥ 
         
        
          γ 
         
        
          , 
         
        
          i 
         
        
          = 
         
        
          1 
         
        
          , 
         
        
          2 
         
        
          , 
         
        
          . 
         
        
          . 
         
        
          . 
         
        
          , 
         
        
          N 
         
        
       
      
     
    
   
     \begin{aligned} & \max_{\omega,b}\quad \gamma\\ &s.t. \quad y_i(\frac{\omega}{||\omega||}\cdot x_i+\frac{b}{||\omega||})\ge \gamma,i=1,2,...,N \end{aligned} 
    
   
 ​ω,bmax​γs.t.yi​(∣∣ω∣∣ω​⋅xi​+∣∣ω∣∣b​)≥γ,i=1,2,...,N​

函数间隔的定义:

           γ 
          
         
           ^ 
          
         
        
          i 
         
        
       
      
      
       
        
         
        
          = 
         
         
         
           ∣ 
          
         
           ω 
          
         
           ⋅ 
          
          
          
            x 
           
          
            i 
           
          
         
           + 
          
         
           b 
          
         
           ∣ 
          
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          = 
         
         
          
          
            y 
           
          
            i 
           
          
         
           ( 
          
         
           ω 
          
         
           ⋅ 
          
          
          
            x 
           
          
            i 
           
          
         
           + 
          
         
           b 
          
         
           ) 
          
         
        
       
      
     
    
   
     \begin{aligned} \hat\gamma_i&={|\omega\cdot x_i +b|}\\ &={y_i(\omega\cdot x_i +b)} \\ \end{aligned} 
    
   
 γ^​i​​=∣ω⋅xi​+b∣=yi​(ω⋅xi​+b)​

函数间隔的最小值

      γ 
     
    
      ^ 
     
    
   
     = 
    
    
     
     
       min 
      
     
       ⁡ 
      
     
    
      i 
     
    
    
     
     
       γ 
      
     
       ^ 
      
     
    
      i 
     
    
   
  
    \hat\gamma = \min_i \hat\gamma_i 
   
  
γ^​=mini​γ^​i​

优化问题为:

            max 
           
          
            ⁡ 
           
          
          
          
            ω 
           
          
            , 
           
          
            b 
           
          
         
         
         
         
           γ 
          
         
           ^ 
          
         
        
          / 
         
        
          ∣ 
         
        
          ∣ 
         
        
          ω 
         
        
          ∣ 
         
        
          ∣ 
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          s 
         
        
          . 
         
        
          t 
         
        
          . 
         
         
         
          
          
            y 
           
          
            i 
           
          
         
           ( 
          
         
           ω 
          
         
           ⋅ 
          
          
          
            x 
           
          
            i 
           
          
         
           + 
          
         
           b 
          
         
           ) 
          
         
        
          ≥ 
         
         
         
           γ 
          
         
           ^ 
          
         
        
          , 
         
        
          i 
         
        
          = 
         
        
          1 
         
        
          , 
         
        
          2 
         
        
          , 
         
        
          . 
         
        
          . 
         
        
          . 
         
        
          , 
         
        
          N 
         
        
       
      
     
    
   
     \begin{aligned} & \max_{\omega,b}\quad \hat\gamma/||\omega||\\ &s.t. \quad {y_i(\omega\cdot x_i +b)}\ge \hat\gamma,i=1,2,...,N \end{aligned} 
    
   
 ​ω,bmax​γ^​/∣∣ω∣∣s.t.yi​(ω⋅xi​+b)≥γ^​,i=1,2,...,N​

怎么将几何间隔和函数间隔联系起来?
第一种:将

     ω 
    
   
  
    \omega 
   
  
ω**归一化,即** 
 
  
   
   
     ∣ 
    
   
     ∣ 
    
   
     ω 
    
   
     ∣ 
    
   
     ∣ 
    
   
     = 
    
   
     1 
    
   
  
    ||\omega||=1 
   
  
∣∣ω∣∣=1

以下这三种超平面的

     ω 
    
   
     , 
    
   
     b 
    
   
  
    \omega,b 
   
  
ω,b不一样,但是表示的是同一个超平面。

  
   
    
    
      3 
     
     
     
       x 
      
      
      
        ( 
       
      
        1 
       
      
        ) 
       
      
     
    
      + 
     
    
      4 
     
     
     
       x 
      
      
      
        ( 
       
      
        2 
       
      
        ) 
       
      
     
    
      + 
     
    
      1 
     
    
      = 
     
    
      0 
     
     
    
      6 
     
     
     
       x 
      
      
      
        ( 
       
      
        1 
       
      
        ) 
       
      
     
    
      + 
     
    
      8 
     
     
     
       x 
      
      
      
        ( 
       
      
        2 
       
      
        ) 
       
      
     
    
      + 
     
    
      2 
     
    
      = 
     
    
      0 
     
     
     
     
       3 
      
     
       5 
      
     
     
     
       x 
      
      
      
        ( 
       
      
        1 
       
      
        ) 
       
      
     
    
      + 
     
     
     
       4 
      
     
       5 
      
     
     
     
       x 
      
      
      
        ( 
       
      
        2 
       
      
        ) 
       
      
     
    
      + 
     
     
     
       1 
      
     
       5 
      
     
    
      = 
     
    
      0 
     
     
    
   
     3x^{(1)}+4x^{(2)}+1=0\\ 6x^{(1)}+8x^{(2)}+2=0\\ \frac{3}{5}x^{(1)}+\frac{4}{5}x^{(2)}+\frac{1}{5}=0\\ 
    
   
 3x(1)+4x(2)+1=06x(1)+8x(2)+2=053​x(1)+54​x(2)+51​=0

     ω 
    
   
  
    \omega 
   
  
ω归一化后,函数间隔和几何间隔就是等价的,此时优化问题为:

  
   
    
     
      
       
        
       
      
      
       
        
         
         
          
          
            max 
           
          
            ⁡ 
           
          
          
          
            ω 
           
          
            , 
           
          
            b 
           
          
         
         
         
         
           γ 
          
         
           ^ 
          
         
        
          / 
         
        
          ∣ 
         
        
          ∣ 
         
        
          ω 
         
        
          ∣ 
         
        
          ∣ 
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          s 
         
        
          . 
         
        
          t 
         
        
          . 
         
         
         
           { 
          
          
           
            
             
              
               
                
                
                  y 
                 
                
                  i 
                 
                
               
                 ( 
                
               
                 ω 
                
               
                 ⋅ 
                
                
                
                  x 
                 
                
                  i 
                 
                
               
                 + 
                
               
                 b 
                
               
                 ) 
                
               
              
                ≥ 
               
               
               
                 γ 
                
               
                 ^ 
                
               
              
                , 
               
              
                i 
               
              
                = 
               
              
                1 
               
              
                , 
               
              
                2 
               
              
                , 
               
              
                . 
               
              
                . 
               
              
                . 
               
              
                , 
               
              
                N 
               
              
             
            
           
           
            
             
              
              
                ∣ 
               
              
                ∣ 
               
              
                ω 
               
              
                ∣ 
               
              
                ∣ 
               
              
                = 
               
              
                1 
               
              
             
            
           
          
         
        
       
      
     
    
   
     \begin{aligned} & \max_{\omega,b}\quad \hat\gamma/||\omega||\\ &s.t. \begin{cases} {y_i(\omega\cdot x_i +b)}\ge \hat\gamma,i=1,2,...,N\\ ||\omega ||=1 \end{cases} \end{aligned} 
    
   
 ​ω,bmax​γ^​/∣∣ω∣∣s.t.{yi​(ω⋅xi​+b)≥γ^​,i=1,2,...,N∣∣ω∣∣=1​​

第二种:对

      γ 
     
    
      ^ 
     
    
   
  
    \hat\gamma 
   
  
γ^​**做处理,和刚刚三个超平面处理类似,对** 
 
  
   
   
     ω 
    
   
     , 
    
   
     b 
    
   
  
    \omega,b 
   
  
ω,b**进行放缩,可以使得** 
 
  
   
    
    
      γ 
     
    
      ^ 
     
    
   
     = 
    
    
     
     
       min 
      
     
       ⁡ 
      
     
    
      i 
     
    
    
     
     
       γ 
      
     
       ^ 
      
     
    
      i 
     
    
   
     = 
    
   
     1 
    
   
  
    \hat\gamma=\min_{i}\hat\gamma_i=1 
   
  
γ^​=mini​γ^​i​=1

此时优化问题为:

            min 
           
          
            ⁡ 
           
          
          
          
            ω 
           
          
            , 
           
          
            b 
           
          
         
         
        
          ∣ 
         
        
          ∣ 
         
        
          ω 
         
        
          ∣ 
         
        
          ∣ 
         
        
       
      
     
     
      
       
        
       
      
      
       
        
         
        
          s 
         
        
          . 
         
        
          t 
         
        
          . 
         
         
         
          
          
            y 
           
          
            i 
           
          
         
           ( 
          
         
           ω 
          
         
           ⋅ 
          
          
          
            x 
           
          
            i 
           
          
         
           + 
          
         
           b 
          
         
           ) 
          
         
        
          ≥ 
         
        
          1 
         
        
          , 
         
        
          i 
         
        
          = 
         
        
          1 
         
        
          , 
         
        
          2 
         
        
          , 
         
        
          . 
         
        
          . 
         
        
          . 
         
        
          , 
         
        
          N 
         
        
       
      
     
    
   
     \begin{aligned} & \min_{\omega ,b}\quad ||\omega||\\ &s.t. \quad {y_i(\omega\cdot x_i +b)}\ge 1,i=1,2,...,N\\ \end{aligned} 
    
   
 ​ω,bmin​∣∣ω∣∣s.t.yi​(ω⋅xi​+b)≥1,i=1,2,...,N​

显然,第二种处理能使得问题更加简单。

证明分离超平面存在且唯一

目标函数是凸函数,约束条件是放射函数,所以这个凸优化问题存在最优解。
现在证最优解是唯一的(反证法):
d39997678c6e8d23b99a3e322a01587.jpg
57fe7f12ee7d118339b2715275c560a.jpg

原始问题算法流程

输入:数据集

     T 
    
   
     = 
    
   
     { 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ) 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ) 
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      N 
     
    
   
     , 
    
    
    
      y 
     
    
      N 
     
    
   
     ) 
    
   
     } 
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
     ∈ 
    
   
     { 
    
   
     + 
    
   
     1 
    
   
     , 
    
   
     − 
    
   
     1 
    
   
     } 
    
   
  
    T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},y_i\in \{+1,-1\} 
   
  
T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},yi​∈{+1,−1}

输出:最大间隔分离超平面与决策函数

  1. 构造优化问题

             min 
            
           
             ⁡ 
            
           
           
           
             ω 
            
           
             , 
            
           
             b 
            
           
          
          
          
          
            1 
           
          
            2 
           
          
         
           ∣ 
          
         
           ∣ 
          
         
           ω 
          
         
           ∣ 
          
          
          
            ∣ 
           
          
            2 
           
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
         
           s 
          
         
           . 
          
         
           t 
          
         
           . 
          
          
         
           1 
          
         
           − 
          
          
           
           
             y 
            
           
             i 
            
           
          
            ( 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ) 
           
          
         
           ≤ 
          
         
           0 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
     
    
      \begin{aligned} & \min_{\omega ,b}\quad \frac{1}{2}||\omega||^2\\ &s.t. \quad 1-{y_i(\omega\cdot x_i +b)}\le 0,i=1,2,...,N\\ \end{aligned} 
     
    

    ​ω,bmin​21​∣∣ω∣∣2s.t.1−yi​(ω⋅xi​+b)≤0,i=1,2,...,N​

所得解为

      ω 
     
    
      ∗ 
     
    
   
     , 
    
    
    
      b 
     
    
      ∗ 
     
    
   
  
    \omega^* ,b^* 
   
  
ω∗,b∗
  1. 分离超平面

        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       = 
      
     
       0 
      
     
    
      \omega^*\cdot x + b^*=0 
     
    

    ω∗⋅x+b∗=0

决策函数

      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       s 
      
     
       i 
      
     
       g 
      
     
       n 
      
     
       ( 
      
      
      
        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       ) 
      
     
    
   
     f(x)=\rm sign(\omega^*\cdot x + b^*) 
    
   
 f(x)=sign(ω∗⋅x+b∗)

对偶算法

推导对偶优化问题

e8fb9ab4d8d0e08e2647368409c3855.jpg

     α 
    
   
  
    \alpha 
   
  
α推导 
 
  
   
   
     ω 
    
   
  
    \omega 
   
  
ω和 b

d58575e45bd9fefa6ad583247e30693.jpg

对偶算法流程

输入:数据集

     T 
    
   
     = 
    
   
     { 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ) 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ) 
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      N 
     
    
   
     , 
    
    
    
      y 
     
    
      N 
     
    
   
     ) 
    
   
     } 
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
     ∈ 
    
   
     { 
    
   
     + 
    
   
     1 
    
   
     , 
    
   
     − 
    
   
     1 
    
   
     } 
    
   
  
    T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},y_i\in \{+1,-1\} 
   
  
T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},yi​∈{+1,−1}

输出:最大间隔分离超平面与决策函数

  1. 构造优化问题

             min 
            
           
             ⁡ 
            
           
          
            α 
           
          
          
          
          
            1 
           
          
            2 
           
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            ∑ 
           
           
           
             j 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            α 
           
          
            j 
           
          
          
          
            y 
           
          
            i 
           
          
          
          
            y 
           
          
            j 
           
          
         
           ( 
          
          
          
            x 
           
          
            i 
           
          
         
           ⋅ 
          
          
          
            x 
           
          
            j 
           
          
         
           ) 
          
         
           − 
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
         
           s 
          
         
           . 
          
         
           t 
          
         
           . 
          
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            y 
           
          
            i 
           
          
         
           = 
          
         
           0 
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
          
          
          
          
            α 
           
          
            i 
           
          
         
           ≥ 
          
         
           0 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
     
    
      \begin{aligned} & \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i\cdot x_j)-\sum_{i=1}^N \alpha_i\\ &s.t. \quad \sum_{i=1}^N \alpha_i y_i= 0\\ &\quad \quad \alpha_i\ge 0,i=1,2,...,N\\ \end{aligned} 
     
    

    ​αmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)−i=1∑N​αi​s.t.i=1∑N​αi​yi​=0αi​≥0,i=1,2,...,N​

  2. 求解优化问题,得到最优解

        α 
       
      
        ∗ 
       
      
     
       = 
      
     
       ( 
      
      
      
        α 
       
      
        1 
       
      
        ∗ 
       
      
     
       , 
      
      
      
        α 
       
      
        2 
       
      
        ∗ 
       
      
     
       , 
      
     
       . 
      
     
       . 
      
     
       . 
      
     
       , 
      
      
      
        α 
       
      
        N 
       
      
        ∗ 
       
      
      
      
        ) 
       
      
        T 
       
      
     
    
      \alpha^* = (\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T 
     
    

    α∗=(α1∗​,α2∗​,...,αN∗​)T

  3. 根据 α ∗ \alpha^* α∗得到

        ω 
       
      
        ∗ 
       
      
     
       = 
      
      
      
        ∑ 
       
       
       
         i 
        
       
         = 
        
       
         1 
        
       
      
        N 
       
      
      
      
        α 
       
      
        i 
       
      
        ∗ 
       
      
      
      
        y 
       
      
        i 
       
      
      
      
        x 
       
      
        i 
       
      
     
    
      \omega^*=\sum_{i=1}^N \alpha_i^* y_i x_i 
     
    

    ω∗=i=1∑N​αi∗​yi​xi​

找到符合

      α 
     
    
      j 
     
    
      ∗ 
     
    
   
     > 
    
   
     0 
    
   
  
    \alpha_j^*>0 
   
  
αj∗​>0的点 
 
  
   
   
     ( 
    
    
    
      x 
     
    
      j 
     
    
   
     , 
    
    
    
      y 
     
    
      j 
     
    
   
     ) 
    
   
  
    (x_j,y_j) 
   
  
(xj​,yj​),计算

  
   
    
     
     
       b 
      
     
       ∗ 
      
     
    
      = 
     
     
     
       y 
      
     
       j 
      
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       α 
      
     
       i 
      
     
       ∗ 
      
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      ⋅ 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
   
     b^*=y_j-\sum_{i=1}^N \alpha_i^*y_i(x_i\cdot x_j) 
    
   
 b∗=yj​−i=1∑N​αi∗​yi​(xi​⋅xj​)
  1. 分离超平面

        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       = 
      
     
       0 
      
     
    
      \omega^*\cdot x + b^*=0 
     
    

    ω∗⋅x+b∗=0

决策函数

      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       s 
      
     
       i 
      
     
       g 
      
     
       n 
      
     
       ( 
      
      
      
        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       ) 
      
     
    
   
     f(x)=\rm sign(\omega^*\cdot x + b^*) 
    
   
 f(x)=sign(ω∗⋅x+b∗)

线性支持向量机(不完全可分)

6f7ee306c430e430421aee0479429156.png

引入松弛因子

在线性支持向量机中,有四类点
正确分类且在分界线外面的点(白色的点):

      y 
     
    
      i 
     
    
   
     ( 
    
   
     ω 
    
   
     ⋅ 
    
    
    
      x 
     
    
      i 
     
    
   
     + 
    
   
     b 
    
   
     ) 
    
   
     ≥ 
    
   
     1 
    
   
  
    y_i(\omega\cdot x_i+b)\ge 1 
   
  
yi​(ω⋅xi​+b)≥1

分类正确但在超平面与分界线之间的点(黄色的点):

      y 
     
    
      i 
     
    
   
     ( 
    
   
     ω 
    
   
     ⋅ 
    
    
    
      x 
     
    
      i 
     
    
   
     + 
    
   
     b 
    
   
     ) 
    
   
     + 
    
    
    
      ξ 
     
    
      i 
     
    
   
     ≥ 
    
   
     1 
    
   
     , 
    
    
    
      ξ 
     
    
      i 
     
    
   
     ∈ 
    
   
     ( 
    
   
     0 
    
   
     , 
    
   
     1 
    
   
     ) 
    
   
  
    y_i(\omega\cdot x_i+b) + \xi_i\ge 1 ,\xi_i\in (0,1) 
   
  
yi​(ω⋅xi​+b)+ξi​≥1,ξi​∈(0,1)

在超平面上的点:

      y 
     
    
      i 
     
    
   
     ( 
    
   
     ω 
    
   
     ⋅ 
    
    
    
      x 
     
    
      i 
     
    
   
     + 
    
   
     b 
    
   
     ) 
    
   
     + 
    
    
    
      ξ 
     
    
      i 
     
    
   
     ≥ 
    
   
     1 
    
   
     , 
    
    
    
      ξ 
     
    
      i 
     
    
   
     = 
    
   
     1 
    
   
  
    y_i(\omega\cdot x_i+b) + \xi_i\ge 1 ,\xi_i=1 
   
  
yi​(ω⋅xi​+b)+ξi​≥1,ξi​=1

分类错误的点:

      y 
     
    
      i 
     
    
   
     ( 
    
   
     ω 
    
   
     ⋅ 
    
    
    
      x 
     
    
      i 
     
    
   
     + 
    
   
     b 
    
   
     ) 
    
   
     + 
    
    
    
      ξ 
     
    
      i 
     
    
   
     ≥ 
    
   
     1 
    
   
     , 
    
    
    
      ξ 
     
    
      i 
     
    
   
     > 
    
   
     1 
    
   
  
    y_i(\omega\cdot x_i+b) + \xi_i\ge 1 ,\xi_i>1 
   
  
yi​(ω⋅xi​+b)+ξi​≥1,ξi​>1

解决重点就都集中到了这个关键的参数

      ξ 
     
    
      i 
     
    
   
  
    \xi_i 
   
  
ξi​ 上,我们给它起名叫做**弹性因子**或**松弛变量**。

现在我们就要把原来线性可分的目标函数改成考虑所有松弛变量的新函数,目标函数是:

      min 
     
    
      ⁡ 
     
     
     
       1 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
      + 
     
    
      C 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       ξ 
      
     
       i 
      
     
    
   
     \min \frac{1}{2}||\omega^2||+C\sum_{i=1}^N \xi_i 
    
   
 min21​∣∣ω2∣∣+Ci=1∑N​ξi​

这里的

     C 
    
   
  
    C 
   
  
C 被称作**惩罚系数**,它决定了原始参数和松弛变量之间的影响权重。
  •                                     C                                  C                     C越大代表了误分类起到的作用更大,也可以说对误分类的惩罚力度大
    
  •                                     C                                  C                     C越小代表正确分类的参数作用更大,对误分类的惩罚力度小
    

原始问题算法流程

  1. 构造优化问题

             min 
            
           
             ⁡ 
            
           
           
           
             ω 
            
           
             , 
            
           
             b 
            
           
             , 
            
            
            
              ξ 
             
            
              i 
             
            
           
          
          
          
          
            1 
           
          
            2 
           
          
         
           ∣ 
          
         
           ∣ 
          
          
          
            ω 
           
          
            2 
           
          
         
           ∣ 
          
         
           ∣ 
          
         
           + 
          
         
           C 
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            ξ 
           
          
            i 
           
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
         
           s 
          
         
           . 
          
         
           t 
          
         
           . 
          
          
         
           1 
          
         
           − 
          
          
          
            ξ 
           
          
            i 
           
          
         
           − 
          
          
           
           
             y 
            
           
             i 
            
           
          
            ( 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ) 
           
          
         
           ≤ 
          
         
           0 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
          
         
           − 
          
          
          
            ξ 
           
          
            i 
           
          
         
           ≤ 
          
         
           0 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
     
    
      \begin{aligned} & \min_{\omega ,b,\xi_i}\quad \frac{1}{2}||\omega^2||+C\sum_{i=1}^N \xi_i\\ &s.t. \quad 1-\xi_i -{y_i(\omega\cdot x_i +b)}\le 0,i=1,2,...,N\\ &\qquad -\xi_i\le 0 ,i=1,2,...,N \end{aligned} 
     
    

    ​ω,b,ξi​min​21​∣∣ω2∣∣+Ci=1∑N​ξi​s.t.1−ξi​−yi​(ω⋅xi​+b)≤0,i=1,2,...,N−ξi​≤0,i=1,2,...,N​

所得解为

      ω 
     
    
      ∗ 
     
    
   
     , 
    
    
    
      b 
     
    
      ∗ 
     
    
   
  
    \omega^* ,b^* 
   
  
ω∗,b∗
  1. 分离超平面

        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       = 
      
     
       0 
      
     
    
      \omega^*\cdot x + b^*=0 
     
    

    ω∗⋅x+b∗=0

决策函数

      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       s 
      
     
       i 
      
     
       g 
      
     
       n 
      
     
       ( 
      
      
      
        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       ) 
      
     
    
   
     f(x)=\rm sign(\omega^*\cdot x + b^*) 
    
   
 f(x)=sign(ω∗⋅x+b∗)

对偶算法

推导对偶优化问题

cb7471a5559bf44af2567a8c8830889.jpg

     α 
    
   
  
    \alpha 
   
  
α推导 
 
  
   
   
     ω 
    
   
  
    \omega 
   
  
ω和 b

a63e68f91e1849b47f618753964f377.jpg

对偶算法流程

输入:数据集

     T 
    
   
     = 
    
   
     { 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ) 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ) 
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      N 
     
    
   
     , 
    
    
    
      y 
     
    
      N 
     
    
   
     ) 
    
   
     } 
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
     ∈ 
    
   
     { 
    
   
     + 
    
   
     1 
    
   
     , 
    
   
     − 
    
   
     1 
    
   
     } 
    
   
  
    T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},y_i\in \{+1,-1\} 
   
  
T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},yi​∈{+1,−1}

输出:最大间隔分离超平面与决策函数

  1. 给定惩罚参数 C C C,构造优化问题

             min 
            
           
             ⁡ 
            
           
          
            α 
           
          
          
          
          
            1 
           
          
            2 
           
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            ∑ 
           
           
           
             j 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            α 
           
          
            j 
           
          
          
          
            y 
           
          
            i 
           
          
          
          
            y 
           
          
            j 
           
          
         
           ( 
          
          
          
            x 
           
          
            i 
           
          
         
           ⋅ 
          
          
          
            x 
           
          
            j 
           
          
         
           ) 
          
         
           − 
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
         
           s 
          
         
           . 
          
         
           t 
          
         
           . 
          
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            y 
           
          
            i 
           
          
         
           = 
          
         
           0 
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
          
          
         
           0 
          
         
           ≤ 
          
          
          
            α 
           
          
            i 
           
          
         
           ≤ 
          
         
           C 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
     
    
      \begin{aligned} & \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i\cdot x_j)-\sum_{i=1}^N \alpha_i\\ &s.t. \quad \sum_{i=1}^N \alpha_i y_i= 0\\ &\quad \quad 0\le\alpha_i\le C,i=1,2,...,N\\ \end{aligned} 
     
    

    ​αmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)−i=1∑N​αi​s.t.i=1∑N​αi​yi​=00≤αi​≤C,i=1,2,...,N​

  2. 求解优化问题,得到最优解

        α 
       
      
        ∗ 
       
      
     
       = 
      
     
       ( 
      
      
      
        α 
       
      
        1 
       
      
        ∗ 
       
      
     
       , 
      
      
      
        α 
       
      
        2 
       
      
        ∗ 
       
      
     
       , 
      
     
       . 
      
     
       . 
      
     
       . 
      
     
       , 
      
      
      
        α 
       
      
        N 
       
      
        ∗ 
       
      
      
      
        ) 
       
      
        T 
       
      
     
    
      \alpha^* = (\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T 
     
    

    α∗=(α1∗​,α2∗​,...,αN∗​)T

  3. 根据 α ∗ \alpha^* α∗得到

        ω 
       
      
        ∗ 
       
      
     
       = 
      
      
      
        ∑ 
       
       
       
         i 
        
       
         = 
        
       
         1 
        
       
      
        N 
       
      
      
      
        α 
       
      
        i 
       
      
        ∗ 
       
      
      
      
        y 
       
      
        i 
       
      
      
      
        x 
       
      
        i 
       
      
     
    
      \omega^*=\sum_{i=1}^N \alpha_i^* y_i x_i 
     
    

    ω∗=i=1∑N​αi∗​yi​xi​

找到符合

     0 
    
   
     < 
    
    
    
      α 
     
    
      j 
     
    
      ∗ 
     
    
   
     < 
    
   
     C 
    
   
  
    0<\alpha_j^*<C 
   
  
0<αj∗​<C的点 
 
  
   
   
     ( 
    
    
    
      x 
     
    
      j 
     
    
   
     , 
    
    
    
      y 
     
    
      j 
     
    
   
     ) 
    
   
  
    (x_j,y_j) 
   
  
(xj​,yj​),计算

  
   
    
     
     
       b 
      
     
       ∗ 
      
     
    
      = 
     
     
     
       y 
      
     
       j 
      
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       α 
      
     
       i 
      
     
       ∗ 
      
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      ⋅ 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
   
     b^*=y_j-\sum_{i=1}^N \alpha_i^*y_i(x_i\cdot x_j) 
    
   
 b∗=yj​−i=1∑N​αi∗​yi​(xi​⋅xj​)
  1. 分离超平面

        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       = 
      
     
       0 
      
     
    
      \omega^*\cdot x + b^*=0 
     
    

    ω∗⋅x+b∗=0

决策函数

      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       s 
      
     
       i 
      
     
       g 
      
     
       n 
      
     
       ( 
      
      
      
        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       ) 
      
     
    
   
     f(x)=\rm sign(\omega^*\cdot x + b^*) 
    
   
 f(x)=sign(ω∗⋅x+b∗)

从合页损失的角度理解线性支持向量机

合页的表达式

image.png
b309defc921bf9989a5703b24c44b8fa.png

软间隔和合页损失

原始优化问题:

        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
        , 
       
       
       
         ξ 
        
       
         i 
        
       
      
     
     
     
     
       1 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
      + 
     
    
      C 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       ξ 
      
     
       i 
      
     
    
   
     \min_{\omega ,b,\xi_i}\quad \frac{1}{2}||\omega^2||+C\sum_{i=1}^N \xi_i 
    
   
 ω,b,ξi​min​21​∣∣ω2∣∣+Ci=1∑N​ξi​

631c3b00c63ca8e171ca20373325792.jpg

       ξ 
      
     
       i 
      
     
    
      = 
     
    
      [ 
     
    
      1 
     
    
      − 
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
     
     
       ] 
      
     
       + 
      
     
    
      = 
     
     
     
       { 
      
      
       
        
         
          
          
            1 
           
          
            − 
           
           
           
             y 
            
           
             i 
            
           
          
            ( 
           
          
            ω 
           
          
            ⋅ 
           
           
           
             x 
            
           
             i 
            
           
          
            + 
           
          
            b 
           
          
            ) 
           
          
         
        
        
         
          
           
           
             ξ 
            
           
             i 
            
           
          
            > 
           
          
            0 
           
          
         
        
       
       
        
         
         
           0 
          
         
        
        
         
          
           
           
             ξ 
            
           
             i 
            
           
          
            ≤ 
           
          
            0 
           
          
         
        
       
      
     
    
   
     \xi_i = [1-y_i(\omega\cdot x_i + b)]_+=\begin{cases} 1-y_i(\omega\cdot x_i + b) & \xi_i > 0\\ 0& \xi_i\le 0 \end{cases} 
    
   
 ξi​=[1−yi​(ω⋅xi​+b)]+​={1−yi​(ω⋅xi​+b)0​ξi​>0ξi​≤0​

  
   
    
     
      
      
        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
        , 
       
       
       
         ξ 
        
       
         i 
        
       
      
     
     
     
     
       1 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
      + 
     
    
      C 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       ξ 
      
     
       i 
      
     
     
    
      = 
     
     
      
      
        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
     
     
     
     
       1 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
      + 
     
    
      C 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
    
      [ 
     
    
      1 
     
    
      − 
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
     
     
       ] 
      
     
       + 
      
     
     
    
      = 
     
     
      
      
        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
     
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
    
      [ 
     
    
      1 
     
    
      − 
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
     
     
       ] 
      
     
       + 
      
     
    
      + 
     
     
     
       1 
      
      
      
        2 
       
      
        C 
       
      
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
     
    
      = 
     
     
      
      
        min 
       
      
        ⁡ 
       
      
      
      
        ω 
       
      
        , 
       
      
        b 
       
      
     
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
    
      [ 
     
    
      1 
     
    
      − 
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
     
     
       ] 
      
     
       + 
      
     
    
      + 
     
    
      λ 
     
    
      ∣ 
     
    
      ∣ 
     
     
     
       ω 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
   
     \min_{\omega ,b,\xi_i}\quad \frac{1}{2}||\omega^2||+C\sum_{i=1}^N \xi_i\\ =\min_{\omega,b}\quad \frac{1}{2}||\omega^2||+C\sum_{i=1}^N [1-y_i(\omega\cdot x_i + b)]_+\\ =\min_{\omega,b}\quad \sum_{i=1}^N [1-y_i(\omega\cdot x_i + b)]_+ + \frac{1}{2C}||\omega^2||\\ =\min_{\omega,b}\quad \sum_{i=1}^N [1-y_i(\omega\cdot x_i + b)]_+ + \lambda ||\omega^2|| 
    
   
 ω,b,ξi​min​21​∣∣ω2∣∣+Ci=1∑N​ξi​=ω,bmin​21​∣∣ω2∣∣+Ci=1∑N​[1−yi​(ω⋅xi​+b)]+​=ω,bmin​i=1∑N​[1−yi​(ω⋅xi​+b)]+​+2C1​∣∣ω2∣∣=ω,bmin​i=1∑N​[1−yi​(ω⋅xi​+b)]+​+λ∣∣ω2∣∣

可以理解为最小化合页损失,后面是惩罚项。

三个损失函数的比较

image.png

非线性支持向量机

核函数

非线性的也分为可分和不可分两种情况。我们主要看非线性支持向量机(不可分)的情况。
我们需要将非线性转化为线性:原空间的点映射到新空间,用线性支持向量机取解决。
分析线性支持向量机的优化问题,我们可以发现关键计算

     ( 
    
    
    
      x 
     
    
      i 
     
    
   
     ⋅ 
    
    
    
      x 
     
    
      j 
     
    
   
     ) 
    
   
  
    (x_i\cdot x_j) 
   
  
(xi​⋅xj​)这个内积,其余都是单个数,所以要求新空间是能够计算内积的。

设映射是

     Φ 
    
   
  
    \Phi 
   
  
Φ,

  
   
    
     
     
       z 
      
     
       i 
      
     
    
      = 
     
    
      Φ 
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      ) 
     
    
      , 
     
     
     
       z 
      
     
       j 
      
     
    
      = 
     
    
      Φ 
     
    
      ( 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
   
     z_i = \Phi(x_i),z_j = \Phi(x_j) 
    
   
 zi​=Φ(xi​),zj​=Φ(xj​)

  
   
    
     
     
       z 
      
     
       i 
      
     
    
      ⋅ 
     
     
     
       z 
      
     
       j 
      
     
    
      = 
     
    
      Φ 
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      ) 
     
    
      ⋅ 
     
    
      Φ 
     
    
      ( 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
      = 
     
    
      K 
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      , 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
      核函数 
     
    
   
     z_i\cdot z_j = \Phi (x_i)\cdot \Phi(x_j)=K(x_i,x_j) 核函数 
    
   
 zi​⋅zj​=Φ(xi​)⋅Φ(xj​)=K(xi​,xj​)核函数

有很多映射对应一个核函数,我们不关心具体是什么映射,只关心核函数。
在新空间里

        min 
       
      
        ⁡ 
       
      
     
       α 
      
     
     
     
     
       1 
      
     
       2 
      
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       ∑ 
      
      
      
        j 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       α 
      
     
       i 
      
     
     
     
       α 
      
     
       j 
      
     
     
     
       y 
      
     
       i 
      
     
     
     
       y 
      
     
       j 
      
     
    
      K 
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      , 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       α 
      
     
       i 
      
     
    
   
     \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i,x_j)-\sum_{i=1}^N \alpha_i 
    
   
 αmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​K(xi​,xj​)−i=1∑N​αi​

如何找到正定核?(

     K 
    
   
     ( 
    
    
    
      x 
     
    
      i 
     
    
   
     , 
    
    
    
      x 
     
    
      i 
     
    
   
     ) 
    
   
     ≥ 
    
   
     0 
    
   
  
    K(x_i,x_i)\ge 0 
   
  
K(xi​,xi​)≥0)

满足以下两个条件:

     K 
    
   
  
    K 
   
  
K是对称函数

② 新空间上的Gram矩阵半正定
image.png
这部分的具体内容需要泛函的知识,难度较大,感兴趣可以看《统计学习方法 李航》


常用核函数(我们所说的核函数就是正定核):

  1. 线性内核函数 K ( x i , x j ) = x i ⋅ x j K(x_i,x_j)=x_i\cdot x_j K(xi​,xj​)=xi​⋅xj​
  2. 多项式核函数 K ( x i , x j ) = ( x i ⋅ x j + 1 ) q K(x_i,x_j)=(x_i\cdot x_j+1)^q K(xi​,xj​)=(xi​⋅xj​+1)q
  3. 径向基核函数(高斯核函数,RBF) K ( x i , x j ) = exp ⁡ { − ∣ ∣ x i − x j ∣ ∣ 2 2 σ 2 } K(x_i,x_j)=\exp {-\frac{||x_i-x_j||^2}{2\sigma^2}} K(xi​,xj​)=exp{−2σ2∣∣xi​−xj​∣∣2​}

还有一种字符串核函数:
76376f8715b003234ed71c79eafb42f.jpg

算法流程

和线性支持向量机不同的地方就是将

      x 
     
    
      i 
     
    
   
     ⋅ 
    
    
    
      x 
     
    
      j 
     
    
   
  
    x_i\cdot x_j 
   
  
xi​⋅xj​改为 
 
  
   
   
     K 
    
   
     ( 
    
    
    
      x 
     
    
      i 
     
    
   
     , 
    
    
    
      x 
     
    
      j 
     
    
   
     ) 
    
   
  
    K(x_i,x_j) 
   
  
K(xi​,xj​)。

输入:数据集

     T 
    
   
     = 
    
   
     { 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ) 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ) 
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
   
     ( 
    
    
    
      x 
     
    
      N 
     
    
   
     , 
    
    
    
      y 
     
    
      N 
     
    
   
     ) 
    
   
     } 
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
     ∈ 
    
   
     { 
    
   
     + 
    
   
     1 
    
   
     , 
    
   
     − 
    
   
     1 
    
   
     } 
    
   
  
    T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},y_i\in \{+1,-1\} 
   
  
T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},yi​∈{+1,−1}

输出:最大间隔分离超平面与决策函数

  1. 给定惩罚参数 C C C,构造优化问题

             min 
            
           
             ⁡ 
            
           
          
            α 
           
          
          
          
          
            1 
           
          
            2 
           
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            ∑ 
           
           
           
             j 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            α 
           
          
            j 
           
          
          
          
            y 
           
          
            i 
           
          
          
          
            y 
           
          
            j 
           
          
         
           K 
          
         
           ( 
          
          
          
            x 
           
          
            i 
           
          
         
           , 
          
          
          
            x 
           
          
            j 
           
          
         
           ) 
          
         
           − 
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
         
           s 
          
         
           . 
          
         
           t 
          
         
           . 
          
          
          
          
            ∑ 
           
           
           
             i 
            
           
             = 
            
           
             1 
            
           
          
            N 
           
          
          
          
            α 
           
          
            i 
           
          
          
          
            y 
           
          
            i 
           
          
         
           = 
          
         
           0 
          
         
        
       
      
      
       
        
         
        
       
       
        
         
          
          
          
         
           0 
          
         
           ≤ 
          
          
          
            α 
           
          
            i 
           
          
         
           ≤ 
          
         
           C 
          
         
           , 
          
         
           i 
          
         
           = 
          
         
           1 
          
         
           , 
          
         
           2 
          
         
           , 
          
         
           . 
          
         
           . 
          
         
           . 
          
         
           , 
          
         
           N 
          
         
        
       
      
     
    
      \begin{aligned} & \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i, x_j)-\sum_{i=1}^N \alpha_i\\ &s.t. \quad \sum_{i=1}^N \alpha_i y_i= 0\\ &\quad \quad 0\le\alpha_i\le C,i=1,2,...,N\\ \end{aligned} 
     
    

    ​αmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​K(xi​,xj​)−i=1∑N​αi​s.t.i=1∑N​αi​yi​=00≤αi​≤C,i=1,2,...,N​

  2. 求解优化问题,得到最优解

        α 
       
      
        ∗ 
       
      
     
       = 
      
     
       ( 
      
      
      
        α 
       
      
        1 
       
      
        ∗ 
       
      
     
       , 
      
      
      
        α 
       
      
        2 
       
      
        ∗ 
       
      
     
       , 
      
     
       . 
      
     
       . 
      
     
       . 
      
     
       , 
      
      
      
        α 
       
      
        N 
       
      
        ∗ 
       
      
      
      
        ) 
       
      
        T 
       
      
     
    
      \alpha^* = (\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T 
     
    

    α∗=(α1∗​,α2∗​,...,αN∗​)T

  3. 根据 α ∗ \alpha^* α∗得到

        ω 
       
      
        ∗ 
       
      
     
       = 
      
      
      
        ∑ 
       
       
       
         i 
        
       
         = 
        
       
         1 
        
       
      
        N 
       
      
      
      
        α 
       
      
        i 
       
      
        ∗ 
       
      
      
      
        y 
       
      
        i 
       
      
     
       K 
      
     
       ( 
      
     
       ⋅ 
      
     
       , 
      
      
      
        x 
       
      
        i 
       
      
     
       ) 
      
     
    
      \omega^*=\sum_{i=1}^N \alpha_i^* y_i K(\cdot,x_i) 
     
    

    ω∗=i=1∑N​αi∗​yi​K(⋅,xi​)

找到符合

     0 
    
   
     < 
    
    
    
      α 
     
    
      j 
     
    
      ∗ 
     
    
   
     < 
    
   
     C 
    
   
  
    0<\alpha_j^*<C 
   
  
0<αj∗​<C的点 
 
  
   
   
     ( 
    
    
    
      x 
     
    
      j 
     
    
   
     , 
    
    
    
      y 
     
    
      j 
     
    
   
     ) 
    
   
  
    (x_j,y_j) 
   
  
(xj​,yj​),计算

  
   
    
     
     
       b 
      
     
       ∗ 
      
     
    
      = 
     
     
     
       y 
      
     
       j 
      
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       N 
      
     
     
     
       α 
      
     
       i 
      
     
       ∗ 
      
     
     
     
       y 
      
     
       i 
      
     
    
      K 
     
    
      ( 
     
     
     
       x 
      
     
       i 
      
     
    
      , 
     
     
     
       x 
      
     
       j 
      
     
    
      ) 
     
    
   
     b^*=y_j-\sum_{i=1}^N \alpha_i^*y_iK(x_i,x_j) 
    
   
 b∗=yj​−i=1∑N​αi∗​yi​K(xi​,xj​)
  1. 分离超平面

        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       = 
      
     
       0 
      
     
    
      \omega^*\cdot x + b^*=0 
     
    

    ω∗⋅x+b∗=0

决策函数

      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
     
     
       s 
      
     
       i 
      
     
       g 
      
     
       n 
      
     
       ( 
      
      
      
        ω 
       
      
        ∗ 
       
      
     
       ⋅ 
      
     
       x 
      
     
       + 
      
      
      
        b 
       
      
        ∗ 
       
      
     
       ) 
      
     
    
   
     f(x)=\rm sign(\omega^*\cdot x + b^*) 
    
   
 f(x)=sign(ω∗⋅x+b∗)

SMO算法

SMO算法用来求解第二步中的优化问题。

坐标下降法(简化优化问题,每次更新一个参数)

4838627F-E16A-4C17-8793-1A9EB49AA447.jpeg

SMO算法求α(每次更新两个参数)

0c547224557ec8bc3ec0b577bd68b74.jpg
adfb12f4ea24dd585e1993471a1018d.jpg
026f02f8264d6dfba832d44b3457dde.jpg

更新完两个α后,更新b和Ei

9b8228d37c0aef578a7928cc81a985d.jpg

参数的选择

a99d4f3514710fd9720b33e602102cd.jpg

SMO算法流程

image.png


本文转载自: https://blog.csdn.net/weixin_45775970/article/details/131049639
版权归原作者 weixin_961876584 所有, 如有侵权,请联系我们删除。

“SVM——《统计学习方法第七章》”的评论:

还没有评论