0


支持向量机SVM介绍以及MATLAB实现

文章目录

一、介绍

  支持向量机是数据挖掘中的一项新技术,是借助最优化方法来解决机器学习问题的新工具,最初由V.Vapnik等人提出,近几年来在其理论研究和算法实现等方面都取得了很大的进展,开始成为克服“维数灾难”和“过学习”等困难的强有力手段,其理论基础和实现途径的基本框架都已形成。
  支持向量机(Support Vector Machine ,以下简称SVM)在模式识别等领域获得了广泛的应用。其主要思想是找到一个超平面,使得它能够尽可能多地将两类数据点正确分开,同时使分开的两类数据点距离分类面最远,如下图(b)所示。(与图(a)做对比)
  在进行线性分类时,将分类面取在离两类样本距离较大的地方;进行非线性分类时通过高维空间变换,将非线性分类变成高维空间的线性分类问题。
在这里插入图片描述

二、支持向量机分类基本原理

  根据给定的训练集

     T 
    
   
  
    T 
   
  
T = { 
 
  
   
   
     [ 
    
    
    
      a 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ] 
    
   
     , 
    
   
     [ 
    
    
    
      a 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ] 
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
   
     [ 
    
    
    
      a 
     
    
      l 
     
    
   
     , 
    
    
    
      y 
     
    
      l 
     
    
   
     ] 
    
   
  
    [a_1,y_1],[a_2,y_2],···,[a_l,y_l] 
   
  
[a1​,y1​],[a2​,y2​],⋅⋅⋅,[al​,yl​]}  
 
  
   
   
     ∈ 
    
   
  
    \in 
   
  
∈ ( 
 
  
   
   
     Ω 
    
   
     × 
    
   
     Y 
    
    
    
      ) 
     
    
      l 
     
    
   
  
    \Omega \times Y)^l 
   
  
Ω×Y)l, 式中 
 
  
   
    
    
      a 
     
    
      i 
     
    
   
     ∈ 
    
   
     Ω 
    
   
     = 
    
    
    
      R 
     
    
      n 
     
    
   
  
    a_i \in \Omega = R^n 
   
  
ai​∈Ω=Rn, 
 
  
   
   
     Ω 
    
   
  
    \Omega 
   
  
Ω称为输入空间,输入空间中的每个点 
 
  
   
    
    
      a 
     
    
      i 
     
    
   
  
    a_i 
   
  
ai​,由 
 
  
   
   
     n 
    
   
  
    n 
   
  
n个属性特征组成; 
 
  
   
    
    
      y 
     
    
      i 
     
    
   
     ∈ 
    
   
     Y 
    
   
     = 
    
   
  
    y_i \in Y = 
   
  
yi​∈Y={-1,1}, 
 
  
   
   
     i 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
   
     l 
    
   
  
    i =1,2,···,l 
   
  
i=1,2,⋅⋅⋅,l。寻找 
 
  
   
    
    
      R 
     
    
      n 
     
    
   
  
    R^n 
   
  
Rn上的一个实值函数 
 
  
   
   
     g 
    
   
     ( 
    
   
     x 
    
   
     ) 
    
   
  
    g(x) 
   
  
g(x),以便用分类函数

  
   
    
    
      f 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      = 
     
    
      s 
     
    
      i 
     
    
      g 
     
    
      n 
     
    
      ( 
     
    
      g 
     
    
      ( 
     
    
      x 
     
    
      ) 
     
    
      ) 
     
    
   
     f(x) = sign(g(x)) 
    
   
 f(x)=sign(g(x)),

推断任意一个模式

     x 
    
   
  
    x 
   
  
x相对应的 
 
  
   
   
     y 
    
   
  
    y 
   
  
y值的问题为分类问题。

2.1 线性可分SVM

  支持向量机最初是研究线性可分问题而提出的,因此,这里先详细介绍线性SVM的基本
思想及原理。
  为不失一般性,假设大小为

     l 
    
   
  
    l 
   
  
l的训练样本集{( 
 
  
   
    
    
      x 
     
    
      i 
     
    
   
     , 
    
    
    
      y 
     
    
      i 
     
    
   
  
    x_i,y_i 
   
  
xi​,yi​), 
 
  
   
   
     i 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
   
     l 
    
   
  
    i= 1,2,···,l 
   
  
i=1,2,⋅⋅⋅,l}由两个类别组成。若 
 
  
   
    
    
      x 
     
    
      i 
     
    
   
  
    x_i 
   
  
xi​属于第一类,则记 
 
  
   
    
    
      y 
     
    
      i 
     
    
   
  
    y_i 
   
  
yi​=1;若 
 
  
   
    
    
      x 
     
    
      i 
     
    
   
  
    x_i 
   
  
xi​属于第二类,则记 
 
  
   
    
    
      y 
     
    
      i 
     
    
   
  
    y_i 
   
  
yi​= -1。

  若存在分类超平面

         ω 
        
       
         ⋅ 
        
       
         x 
        
       
         + 
        
       
         b 
        
       
         = 
        
       
         0 
        
       
      
      
      
      
        (2.1.1) 
       
      
     
    
   
     \omega ·x +b =0\tag{2.1.1} 
    
   
 ω⋅x+b=0(2.1.1)

能够将样本正确地划分成两类,即相同类别的样本都落在分类超平面的同一侧,则称该样本集是线性可分的,即满足

         { 
        
        
         
          
           
            
            
              ω 
             
            
              ⋅ 
             
            
              x 
             
            
              + 
             
            
              b 
             
            
              ≥ 
             
            
              1 
             
            
              , 
             
            
           
          
          
           
            
             
             
               y 
              
             
               i 
              
             
            
              = 
             
            
              1 
             
            
              ( 
             
            
              i 
             
            
              = 
             
            
              1 
             
            
              , 
             
            
              2 
             
            
              , 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              , 
             
            
              l 
             
            
              ) 
             
            
           
          
         
         
          
           
            
            
              ω 
             
            
              ⋅ 
             
            
              x 
             
            
              + 
             
            
              b 
             
            
              ≤ 
             
            
              − 
             
            
              1 
             
            
              , 
             
            
           
          
          
           
            
             
             
               y 
              
             
               i 
              
             
            
              = 
             
            
              − 
             
            
              1 
             
            
              ( 
             
            
              i 
             
            
              = 
             
            
              1 
             
            
              , 
             
            
              2 
             
            
              , 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              , 
             
            
              l 
             
            
              ) 
             
            
           
          
         
        
       
      
      
      
      
        (2.1.2) 
       
      
     
    
   
     \begin{cases} \omega· x +b \geq 1,&y_i = 1(i= 1,2,···,l)\tag{2.1.2} \\ \omega· x +b \leq -1,&y_i = -1(i= 1,2,···,l)\\ \end{cases} 
    
   
 {ω⋅x+b≥1,ω⋅x+b≤−1,​yi​=1(i=1,2,⋅⋅⋅,l)yi​=−1(i=1,2,⋅⋅⋅,l)​(2.1.2)

  定义样本点

      x 
     
    
      i 
     
    
   
  
    x_i 
   
  
xi​;到式(2.1.1)所指的分类超平面的间隔为

  
   
    
     
      
      
       
        
        
          ϵ 
         
        
          i 
         
        
       
         = 
        
        
        
          y 
         
        
          i 
         
        
       
         ( 
        
       
         ω 
        
       
         ⋅ 
        
        
        
          x 
         
        
          i 
         
        
       
         + 
        
       
         b 
        
       
         ) 
        
       
         = 
        
       
         ∣ 
        
       
         ω 
        
       
         ⋅ 
        
        
        
          x 
         
        
          i 
         
        
       
         + 
        
       
         b 
        
       
         ∣ 
        
       
      
      
      
      
        (2.1.3) 
       
      
     
    
   
     \epsilon_i = y_i(\omega· x_i + b) = | \omega ·x_i + b |\tag{2.1.3} 
    
   
 ϵi​=yi​(ω⋅xi​+b)=∣ω⋅xi​+b∣(2.1.3)

将式(2.1.3)中的

     ω 
    
   
     和 
    
   
     b 
    
   
  
    \omega 和 b 
   
  
ω和b进行归一化,即用 
 
  
   
    
    
      ω 
     
     
     
       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
     
       ∣ 
      
     
    
   
     和 
    
    
    
      b 
     
     
     
       ∣ 
      
     
       ∣ 
      
     
       b 
      
     
       ∣ 
      
     
       ∣ 
      
     
    
   
  
    \frac{\omega}{||\omega||}和\frac{b}{||b||} 
   
  
∣∣ω∣∣ω​和∣∣b∣∣b​分别代替原来的 
 
  
   
   
     ω 
    
   
     和 
    
   
     b 
    
   
  
    \omega 和b 
   
  
ω和b,并将归一化后的间隔定义为集合间隔

  
   
    
     
      
      
       
        
        
          δ 
         
        
          i 
         
        
       
         = 
        
        
         
         
           ω 
          
         
           ⋅ 
          
          
          
            x 
           
          
            i 
           
          
         
           + 
          
         
           b 
          
         
         
         
           ∣ 
          
         
           ∣ 
          
         
           ω 
          
         
           ∣ 
          
         
           ∣ 
          
         
        
       
      
      
      
      
        (2.1.4) 
       
      
     
    
   
     \delta_i = \frac{\omega ·x_i + b}{|| \omega ||}\tag{2.1.4} 
    
   
 δi​=∣∣ω∣∣ω⋅xi​+b​(2.1.4)

  同时定义一个样本集到超平面的距离为此集合与分类超平面最近的样本点的几何间隔,即

         δ 
        
       
         = 
        
       
         min 
        
       
         ⁡ 
        
        
        
          δ 
         
        
          i 
         
        
       
         , 
        
       
         ( 
        
       
         i 
        
       
         = 
        
       
         1 
        
       
         , 
        
       
         2 
        
       
         , 
        
       
         ⋅ 
        
       
         ⋅ 
        
       
         ⋅ 
        
       
         , 
        
       
         l 
        
       
         ) 
        
       
      
      
      
      
        (2.1.5) 
       
      
     
    
   
     \delta = \min \delta_i,(i = 1,2,···,l)\tag{2.1.5} 
    
   
 δ=minδi​,(i=1,2,⋅⋅⋅,l)(2.1.5)

  样本误分次数

     N 
    
   
  
    N 
   
  
N与样本集到分类超平面的距离 
 
  
   
   
     δ 
    
   
  
    \delta 
   
  
δ之间的关系为

  
   
    
     
      
      
       
       
         N 
        
       
         ≤ 
        
       
         ( 
        
        
         
         
           2 
          
         
           R 
          
         
        
          δ 
         
        
        
        
          ) 
         
        
          2 
         
        
       
      
      
      
      
        (2.1.6) 
       
      
     
    
   
     N \leq (\frac{2R}{\delta})^2\tag{2.1.6} 
    
   
 N≤(δ2R​)2(2.1.6)

其中,

     R 
    
   
     = 
    
   
     max 
    
   
     ⁡ 
    
   
     ∣ 
    
   
     ∣ 
    
    
    
      x 
     
    
      i 
     
    
   
     ∣ 
    
   
     ∣ 
    
   
     , 
    
   
     i 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
   
     l 
    
   
  
    R = \max ||x_i||,i = 1,2,···,l 
   
  
R=max∣∣xi​∣∣,i=1,2,⋅⋅⋅,l,为样本集中间向量长度最长的值。

  由式(2.1.6)可知,误分次数

     N 
    
   
  
    N 
   
  
N的上界由样本集到分类超平面的距离 
 
  
   
   
     δ 
    
   
  
    \delta 
   
  
δ决定,即 
 
  
   
   
     δ 
    
   
  
    \delta 
   
  
δ越大, 
 
  
   
   
     N 
    
   
  
    N 
   
  
N越小。因此,需要在满足式(2.1.2)的无数个分类超平面中选择一个最优分类面,使得样本集到分类超平面的距离 
 
  
   
   
     δ 
    
   
  
    \delta 
   
  
δ最大。

  若间隔

      ϵ 
     
    
      i 
     
    
   
     = 
    
   
     ∣ 
    
   
     ω 
    
   
     ⋅ 
    
    
    
      x 
     
    
      i 
     
    
   
     + 
    
   
     b 
    
   
     ∣ 
    
   
     = 
    
   
     1 
    
   
  
    \epsilon_i = | \omega ·x_i + b | =1 
   
  
ϵi​=∣ω⋅xi​+b∣=1,则两类样本点间的距离为  
 
  
   
   
     2 
    
    
     
     
       ∣ 
      
     
       ω 
      
     
       ⋅ 
      
      
      
        x 
       
      
        i 
       
      
     
       + 
      
     
       b 
      
     
       ∣ 
      
     
     
     
       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
     
       ∣ 
      
     
    
   
     = 
    
    
    
      2 
     
     
     
       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
     
       ∣ 
      
     
    
   
  
    2\frac{|\omega· x_i + b|}{|| \omega ||} = \frac{2}{|| \omega ||} 
   
  
2∣∣ω∣∣∣ω⋅xi​+b∣​=∣∣ω∣∣2​。因此,如下图所示,目标即为在满足式(2.1.2)的约束下寻求最优分类超平面,使得 
 
  
   
    
    
      2 
     
     
     
       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
     
       ∣ 
      
     
    
   
  
    \frac{2}{|| \omega ||} 
   
  
∣∣ω∣∣2​最大,即最小化 
 
  
   
    
     
     
       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
      
      
        ∣ 
       
      
        2 
       
      
     
    
      2 
     
    
   
  
    \frac{|| \omega||^2}{2} 
   
  
2∣∣ω∣∣2​。

用数学语言描述,即,

         { 
        
        
         
          
           
            
            
              min 
             
            
              ⁡ 
             
             
              
              
                ∣ 
               
              
                ∣ 
               
              
                ω 
               
              
                ∣ 
               
               
               
                 ∣ 
                
               
                 2 
                
               
              
             
               2 
              
             
            
           
          
         
         
          
           
            
            
              s 
             
            
              . 
             
            
              t 
             
            
              . 
             
             
             
             
               y 
              
             
               i 
              
             
            
              ( 
             
            
              ω 
             
            
              ⋅ 
             
             
             
               x 
              
             
               i 
              
             
            
              + 
             
            
              b 
             
            
              ) 
             
            
              ≥ 
             
            
              1 
             
            
              , 
             
            
              i 
             
            
              = 
             
            
              1 
             
            
              , 
             
            
              2 
             
            
              , 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              , 
             
            
              l 
             
            
           
          
         
        
       
      
      
      
      
        (2.1.7) 
       
      
     
    
   
     \begin{cases} \min \frac{|| \omega||^2}{2}\tag{2.1.7} \\ s.t. \quad y_i(\omega ·x_i + b)\geq 1,i =1,2,···,l \end{cases} 
    
   
 {min2∣∣ω∣∣2​s.t.yi​(ω⋅xi​+b)≥1,i=1,2,⋅⋅⋅,l​(2.1.7)

  该问题目标函数

       ∣ 
      
     
       ∣ 
      
     
       ω 
      
     
       ∣ 
      
      
      
        ∣ 
       
      
        2 
       
      
     
    
      2 
     
    
   
  
    \frac{|| \omega||^2}{2} 
   
  
2∣∣ω∣∣2​是 
 
  
   
   
     ω 
    
   
  
    \omega 
   
  
ω的凸函数,并且约束条件都是线性的。引入拉格朗日函数

  
   
    
     
      
      
       
       
         L 
        
       
         ( 
        
       
         ω 
        
       
         , 
        
       
         b 
        
       
         , 
        
       
         α 
        
       
         ) 
        
       
         = 
        
        
        
          1 
         
        
          2 
         
        
       
         ∣ 
        
       
         ∣ 
        
       
         ω 
        
       
         ∣ 
        
        
        
          ∣ 
         
        
          2 
         
        
       
         − 
        
        
        
          ∑ 
         
         
         
           i 
          
         
           = 
          
         
           1 
          
         
        
          l 
         
        
        
        
          α 
         
        
          i 
         
        
       
         [ 
        
        
        
          y 
         
        
          i 
         
        
       
         ( 
        
       
         ω 
        
       
         ⋅ 
        
        
        
          x 
         
        
          i 
         
        
       
         + 
        
       
         b 
        
       
         ) 
        
       
         − 
        
       
         1 
        
       
         ] 
        
       
      
      
      
      
        (2.1.8) 
       
      
     
    
   
     L(\omega ,b,\alpha) = \frac{1}{2}||\omega||^2 - \sum_{i=1}^l \alpha_i[y_i(\omega ·x_i +b)-1]\tag{2.1.8} 
    
   
 L(ω,b,α)=21​∣∣ω∣∣2−i=1∑l​αi​[yi​(ω⋅xi​+b)−1](2.1.8)

其中,

     α 
    
   
     = 
    
   
     [ 
    
    
    
      α 
     
    
      1 
     
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
    
    
      α 
     
    
      l 
     
    
    
    
      ] 
     
    
      T 
     
    
   
     ∈ 
    
    
    
      R 
     
     
     
       l 
      
     
       + 
      
     
    
   
  
    \alpha = [\alpha_1,···,\alpha_l]^T \in R^{l+} 
   
  
α=[α1​,⋅⋅⋅,αl​]T∈Rl+为拉格朗日乘子。

  由于计算的复杂性,一般不直接求解,而是根据对偶理论,将(2.1.8)转化成对偶问题,即

         { 
        
        
         
          
           
            
            
              max 
             
            
              ⁡ 
             
            
              Q 
             
            
              ( 
             
            
              α 
             
            
              ) 
             
            
              = 
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
            
              − 
             
             
             
               1 
              
             
               2 
              
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               ∑ 
              
              
              
                j 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
             
             
               α 
              
             
               j 
              
             
             
             
               y 
              
             
               i 
              
             
             
             
               y 
              
             
               j 
              
             
            
              ( 
             
             
             
               x 
              
             
               i 
              
             
            
              ⋅ 
             
             
             
               x 
              
             
               j 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
            
              s 
             
            
              . 
             
            
              t 
             
            
              . 
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
             
             
               y 
              
             
               i 
              
             
            
              = 
             
            
              0 
             
            
              , 
             
            
           
          
          
           
            
            
              α 
             
            
              ≥ 
             
            
              0 
             
            
           
          
         
        
       
      
      
      
      
        (2.1.9) 
       
      
     
    
   
     \begin{cases} \max Q(\alpha) = \sum\limits_{i=1}^l \alpha_i-\frac{1}{2}\sum\limits_{i=1}^l\sum\limits_{j=1}^l\alpha_i\alpha_jy_iy_j(x_i·x_j)\tag{2.1.9}\\ s.t. \sum\limits_{i=1}^l\alpha_iy_i = 0,&\alpha \geq 0\\ \end{cases} 
    
   
 ⎩⎨⎧​maxQ(α)=i=1∑l​αi​−21​i=1∑l​j=1∑l​αi​αj​yi​yj​(xi​⋅xj​)s.t.i=1∑l​αi​yi​=0,​α≥0​(2.1.9)

  这个问题可以用二次规划方程求解。设最优解为

      α 
     
    
      ∗ 
     
    
   
     = 
    
   
     [ 
    
    
    
      α 
     
    
      1 
     
    
      ∗ 
     
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
    
    
      α 
     
    
      l 
     
    
      ∗ 
     
    
    
    
      ] 
     
    
      T 
     
    
   
  
    \alpha^* = [\alpha_1^*,···,\alpha_l^*]^T 
   
  
α∗=[α1∗​,⋅⋅⋅,αl∗​]T,则可以得到最优解 
 
  
   
    
    
      ω 
     
    
      ∗ 
     
    
   
     和 
    
    
    
      b 
     
    
      ∗ 
     
    
   
  
    \omega^*和b^* 
   
  
ω∗和b∗为

  
   
    
     
      
      
       
       
         { 
        
        
         
          
           
            
             
             
               ω 
              
             
               ∗ 
              
             
            
              = 
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
               ∗ 
              
             
             
             
               x 
              
             
               i 
              
             
             
             
               y 
              
             
               i 
              
             
            
           
          
         
         
          
           
            
             
             
               b 
              
             
               ∗ 
              
             
            
              = 
             
            
              − 
             
             
             
               1 
              
             
               2 
              
             
             
             
               ω 
              
             
               ∗ 
              
             
            
              ( 
             
             
             
               x 
              
             
               r 
              
             
            
              + 
             
             
             
               x 
              
             
               s 
              
             
            
              ) 
             
            
           
          
         
        
       
      
      
      
      
        (2.1.10) 
       
      
     
    
   
     \begin{cases} \omega^* = \sum\limits_{i=1}^l\alpha^*_ix_iy_i\tag{2.1.10}\\ b^* = -\frac{1}{2}\omega^*(x_r+x_s)\\ \end{cases} 
    
   
 ⎩⎨⎧​ω∗=i=1∑l​αi∗​xi​yi​b∗=−21​ω∗(xr​+xs​)​(2.1.10)

其中,

      x 
     
    
      r 
     
    
   
     和 
    
    
    
      x 
     
    
      s 
     
    
   
  
    x_r和x_s 
   
  
xr​和xs​为两个类别中的任意一对支持向量。

  最终得到的分类模型为

         f 
        
       
         ( 
        
       
         x 
        
       
         ) 
        
       
         = 
        
       
         s 
        
       
         g 
        
       
         n 
        
       
         [ 
        
        
        
          ∑ 
         
         
         
           i 
          
         
           = 
          
         
           1 
          
         
        
          l 
         
        
        
        
          α 
         
        
          i 
         
        
          ∗ 
         
        
        
        
          y 
         
        
          i 
         
        
       
         ( 
        
       
         x 
        
       
         ⋅ 
        
        
        
          x 
         
        
          i 
         
        
       
         ) 
        
       
         + 
        
        
        
          b 
         
        
          ∗ 
         
        
       
         ] 
        
       
      
      
      
      
        (2.1.11) 
       
      
     
    
   
     f(x) = sgn[\sum\limits_{i=1}^l\alpha_i^*y_i(x·x_i) + b^*]\tag{2.1.11} 
    
   
 f(x)=sgn[i=1∑l​αi∗​yi​(x⋅xi​)+b∗](2.1.11)

  值得一提的是,若数据集中的绝大多数样本是线性可分的,仅有少数几个样本(可能是异常点)导致寻找不到最优分类超平面(入下图所示)
在这里插入图片描述

针对此类情况,通用的做法是引入松弛变量,并对式(2.1.7)中的优化目标即约束项进行修正,即

         { 
        
        
         
          
           
            
            
              min 
             
            
              ⁡ 
             
             
              
              
                ∣ 
               
              
                ∣ 
               
              
                ω 
               
              
                ∣ 
               
               
               
                 ∣ 
                
               
                 2 
                
               
              
             
               2 
              
             
            
              + 
             
            
              C 
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               ξ 
              
             
               i 
              
             
            
           
          
         
         
          
           
            
            
              s 
             
            
              . 
             
            
              t 
             
            
              . 
             
             
             
             
               { 
              
              
               
                
                 
                  
                   
                   
                     y 
                    
                   
                     i 
                    
                   
                  
                    ( 
                   
                  
                    ω 
                   
                   
                   
                     x 
                    
                   
                     i 
                    
                   
                  
                    + 
                   
                  
                    b 
                   
                  
                    ) 
                   
                  
                    ≥ 
                   
                  
                    1 
                   
                  
                    − 
                   
                   
                   
                     ξ 
                    
                   
                     i 
                    
                   
                  
                 
                
               
               
                
                 
                  
                   
                   
                     ξ 
                    
                   
                     i 
                    
                   
                  
                    > 
                   
                  
                    0 
                   
                  
                 
                
                
                 
                  
                  
                    , 
                   
                  
                    i 
                   
                  
                    = 
                   
                  
                    1 
                   
                  
                    , 
                   
                  
                    2 
                   
                  
                    , 
                   
                  
                    ⋅ 
                   
                  
                    ⋅ 
                   
                  
                    ⋅ 
                   
                  
                    , 
                   
                  
                    l 
                   
                  
                 
                
               
              
             
            
           
          
         
        
       
      
      
      
      
        (2.1.12) 
       
      
     
    
   
     \begin{cases} \min \frac{|| \omega||^2}{2} + C\sum\limits_{i=1}^l\xi_i\tag{2.1.12} \\ s.t. \quad {\begin{cases} y_i(\omega x_i + b)\geq 1-\xi_i \\ \xi_i>0&,i =1,2,···,l\\ \end{cases}} \\ \end{cases} 
    
   
 ⎩⎨⎧​min2∣∣ω∣∣2​+Ci=1∑l​ξi​s.t.{yi​(ωxi​+b)≥1−ξi​ξi​>0​,i=1,2,⋅⋅⋅,l​​(2.1.12)

其中,

     C 
    
   
  
    C 
   
  
C为惩罚因子,起着控制错分样本惩罚程度的作用,从而实现在错分样本的比例与算法复杂度间的折中。求解方法与式(2.1.8)相同,即转化为其对偶问题

  
   
    
    
      L 
     
    
      ( 
     
    
      ω 
     
    
      , 
     
    
      b 
     
    
      , 
     
    
      ξ 
     
    
      , 
     
    
      α 
     
    
      , 
     
    
      γ 
     
    
      ) 
     
    
      = 
     
     
     
       1 
      
     
       2 
      
     
    
      ∣ 
     
    
      ∣ 
     
    
      ω 
     
    
      ∣ 
     
     
     
       ∣ 
      
     
       2 
      
     
    
      + 
     
    
      C 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       l 
      
     
     
     
       ξ 
      
     
       i 
      
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       l 
      
     
     
     
       α 
      
     
       i 
      
     
    
      [ 
     
     
     
       y 
      
     
       i 
      
     
    
      ( 
     
    
      ω 
     
    
      ⋅ 
     
     
     
       x 
      
     
       i 
      
     
    
      + 
     
    
      b 
     
    
      ) 
     
    
      − 
     
    
      1 
     
    
      + 
     
     
     
       ξ 
      
     
       i 
      
     
    
      ] 
     
    
      − 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       l 
      
     
     
     
       γ 
      
     
       i 
      
     
     
     
       ξ 
      
     
       i 
      
     
    
   
     L(\omega ,b,\xi,\alpha,\gamma) = \frac{1}{2}||\omega||^2 + C\sum\limits_{i=1}^l\xi_i- \sum_{i=1}^l \alpha_i[y_i(\omega ·x_i +b)-1 + \xi_i] - \sum\limits_{i=1}^l\gamma_i\xi_i 
    
   
 L(ω,b,ξ,α,γ)=21​∣∣ω∣∣2+Ci=1∑l​ξi​−i=1∑l​αi​[yi​(ω⋅xi​+b)−1+ξi​]−i=1∑l​γi​ξi​

只是约束条件变为

         { 
        
        
         
          
           
            
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
             
             
               y 
              
             
               i 
              
             
            
              = 
             
            
              0 
             
            
              , 
             
            
           
          
          
           
            
            
              i 
             
            
              = 
             
            
              1 
             
            
              , 
             
            
              2 
             
            
              , 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              ⋅ 
             
            
              , 
             
            
              l 
             
            
           
          
         
         
          
           
            
            
              0 
             
            
              ≤ 
             
             
             
               α 
              
             
               i 
              
             
            
              ≤ 
             
            
              C 
             
            
           
          
         
        
       
      
      
      
      
        (2.1.13) 
       
      
     
    
   
     \begin{cases} \sum\limits_{i=1}^l\alpha_iy_i = 0,&i =1,2,···,l\tag{2.1.13}\\ 0\leq \alpha_i \leq C \end{cases} 
    
   
 ⎩⎨⎧​i=1∑l​αi​yi​=0,0≤αi​≤C​i=1,2,⋅⋅⋅,l​(2.1.13)

最终求得到的分类函数形式与(2.1.11)一样。

2.2 线性不可分SVM

  在实际应用中,绝大多数问题都是非线性的,这时对于线性可分SVM是无能为力的。对于此类线性不可分问题,常用的方法是通过非线性映射

     Φ 
    
   
     : 
    
    
    
      R 
     
    
      d 
     
    
   
     → 
    
   
     H 
    
   
  
    \Phi:R^d→H 
   
  
Φ:Rd→H,将原输人空间的样本映射到高维的特征空间 
 
  
   
   
     H 
    
   
  
    H 
   
  
H中,再在高维特征空间 
 
  
   
   
     H 
    
   
  
    H 
   
  
H中构造最优分类超平面,如下图所示。另外,与线性可分SVM相同,考虑到通过非线性映射到高维特征空间后仍有因少量样本造成的线性不可分情况,亦考虑引入松弛变量。


  在高维特征空间中寻求最优分类超平面的过程及方法与线性可分SVM情况类似,只是
以核函数取代了高维特征空间中的点积,从而大大减少了计算量与复杂度。
  映射到高维特征空间后对应的对偶问题变为

         { 
        
        
         
          
           
            
            
              max 
             
            
              ⁡ 
             
            
              Q 
             
            
              ( 
             
            
              α 
             
            
              ) 
             
            
              = 
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
            
              − 
             
             
             
               1 
              
             
               2 
              
             
             
             
               ∑ 
              
              
              
                i 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               ∑ 
              
              
              
                j 
               
              
                = 
               
              
                1 
               
              
             
               l 
              
             
             
             
               α 
              
             
               i 
              
             
             
             
               α 
              
             
               j 
              
             
             
             
               y 
              
             
               i 
              
             
             
             
               y 
              
             
               j 
              
             
            
              K 
             
            
              ( 
             
             
             
               x 
              
             
               i 
              
             
            
              ⋅ 
             
             
             
               x 
              
             
               j 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
            
              s 
             
            
              . 
             
            
              t 
             
            
              . 
             
             
             
             
               { 
              
              
               
                
                 
                  
                   
                   
                     ∑ 
                    
                    
                    
                      i 
                     
                    
                      = 
                     
                    
                      1 
                     
                    
                   
                     l 
                    
                   
                   
                   
                     α 
                    
                   
                     i 
                    
                   
                   
                   
                     y 
                    
                   
                     i 
                    
                   
                  
                    = 
                   
                  
                    0 
                   
                  
                    , 
                   
                  
                 
                
                
                 
                  
                  
                    , 
                   
                  
                    i 
                   
                  
                    = 
                   
                  
                    1 
                   
                  
                    , 
                   
                  
                    2 
                   
                  
                    , 
                   
                  
                    ⋅ 
                   
                  
                    ⋅ 
                   
                  
                    ⋅ 
                   
                  
                    , 
                   
                  
                    l 
                   
                  
                 
                
               
               
                
                 
                  
                  
                    0 
                   
                  
                    ≤ 
                   
                   
                   
                     α 
                    
                   
                     i 
                    
                   
                  
                    ≤ 
                   
                  
                    C 
                   
                  
                 
                
               
              
             
            
           
          
         
        
       
      
      
      
      
        (2.1.15) 
       
      
     
    
   
     \begin{cases} \max Q(\alpha) = \sum\limits_{i=1}^l \alpha_i-\frac{1}{2}\sum\limits_{i=1}^l\sum\limits_{j=1}^l\alpha_i\alpha_jy_iy_jK(x_i·x_j)\tag{2.1.15}\\ s.t. \quad {\begin{cases} \sum\limits_{i=1}^l\alpha_iy_i = 0,&,i =1,2,···,l \\ 0 \leq \alpha_i\leq C \\ \end{cases}} \\ \end{cases} 
    
   
 ⎩⎨⎧​maxQ(α)=i=1∑l​αi​−21​i=1∑l​j=1∑l​αi​αj​yi​yj​K(xi​⋅xj​)s.t.⎩⎨⎧​i=1∑l​αi​yi​=0,0≤αi​≤C​,i=1,2,⋅⋅⋅,l​​(2.1.15)

设最优解为

      α 
     
    
      ∗ 
     
    
   
     = 
    
   
     [ 
    
    
    
      α 
     
    
      1 
     
    
      ∗ 
     
    
   
     , 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     ⋅ 
    
   
     , 
    
    
    
      α 
     
    
      l 
     
    
      ∗ 
     
    
    
    
      ] 
     
    
      T 
     
    
   
  
    \alpha^* = [\alpha_1^*,···,\alpha_l^*]^T 
   
  
α∗=[α1∗​,⋅⋅⋅,αl∗​]T,则

  
   
    
     
      
      
       
        
        
          ω 
         
        
          ∗ 
         
        
       
         = 
        
        
        
          ∑ 
         
         
         
           i 
          
         
           = 
          
         
           1 
          
         
        
          l 
         
        
        
        
          α 
         
        
          i 
         
        
          ∗ 
         
        
       
         Φ 
        
       
         ( 
        
        
        
          x 
         
        
          i 
         
        
       
         ) 
        
        
        
          y 
         
        
          i 
         
        
       
      
      
      
      
        (2.1.16) 
       
      
     
    
   
     \omega^* = \sum\limits_{i=1}^l\alpha^*_i\Phi(x_i)y_i\tag{2.1.16} 
    
   
 ω∗=i=1∑l​αi∗​Φ(xi​)yi​(2.1.16)

从而得到最优的分类模型为

         f 
        
       
         ( 
        
       
         x 
        
       
         ) 
        
       
         = 
        
       
         s 
        
       
         g 
        
       
         n 
        
       
         ( 
        
        
        
          ω 
         
        
          ∗ 
         
        
       
         Φ 
        
       
         ( 
        
       
         x 
        
       
         ) 
        
       
         + 
        
        
        
          b 
         
        
          ∗ 
         
        
       
         ) 
        
       
         = 
        
       
         s 
        
       
         g 
        
       
         n 
        
       
         ( 
        
        
        
          ∑ 
         
         
         
           i 
          
         
           = 
          
         
           1 
          
         
        
          l 
         
        
        
        
          α 
         
        
          i 
         
        
          ∗ 
         
        
        
        
          y 
         
        
          i 
         
        
       
         Φ 
        
       
         ( 
        
       
         x 
        
       
         ) 
        
       
         ⋅ 
        
       
         Φ 
        
       
         ( 
        
        
        
          x 
         
        
          i 
         
        
       
         ) 
        
       
         + 
        
        
        
          b 
         
        
          ∗ 
         
        
       
         ) 
        
        
       
         = 
        
       
         s 
        
       
         g 
        
       
         n 
        
       
         ( 
        
        
        
          ∑ 
         
         
         
           i 
          
         
           = 
          
         
           1 
          
         
        
          l 
         
        
        
        
          α 
         
        
          i 
         
        
          ∗ 
         
        
        
        
          y 
         
        
          i 
         
        
       
         K 
        
       
         ( 
        
        
        
          x 
         
        
          i 
         
        
       
         , 
        
       
         x 
        
       
         ) 
        
       
         + 
        
        
        
          b 
         
        
          ∗ 
         
        
       
         ) 
        
       
      
      
      
      
        (2.1.17) 
       
      
     
    
   
     f(x) = sgn(\omega^*\Phi(x) + b^*) = sgn(\sum\limits_{i=1}^l\alpha_i^*y_i\Phi(x)·\Phi(x_i) + b^*) \\= sgn(\sum\limits_{i=1}^l\alpha_i^*y_iK(x_i,x) + b^*)\tag{2.1.17} 
    
   
 f(x)=sgn(ω∗Φ(x)+b∗)=sgn(i=1∑l​αi∗​yi​Φ(x)⋅Φ(xi​)+b∗)=sgn(i=1∑l​αi∗​yi​K(xi​,x)+b∗)(2.1.17)

  容易证明,解中将只有一部分(通常是少部分)不为零,非零部分对应的样本

      x 
     
    
      i 
     
    
   
  
    x_i 
   
  
xi​就是支持向量,决策边界仅由支持向量确定。由式(2.1.15)也可以看出,支持向量机的结构与神经网络的结构较为类似,如下图所示。输出是中间节点的线性组合,每个中间节点对应一个支持向量。


  常用的核函数
函数公式线性核函数

        K 
       
      
        ( 
       
      
        x 
       
      
        , 
       
       
       
         x 
        
       
         i 
        
       
      
        ) 
       
      
        = 
       
      
        x 
       
      
        ⋅ 
       
       
       
         x 
        
       
         i 
        
       
      
     
       K(x,x_i) = x·x_i 
      
     
   K(x,xi​)=x⋅xi​多项式核函数 
    
     
      
      
        K 
       
      
        ( 
       
      
        x 
       
      
        , 
       
       
       
         x 
        
       
         i 
        
       
      
        ) 
       
      
        = 
       
      
        ( 
       
      
        x 
       
      
        ⋅ 
       
       
       
         x 
        
       
         i 
        
       
      
        + 
       
      
        1 
       
       
       
         ) 
        
       
         d 
        
       
      
     
       K(x,x_i) = (x·x_i + 1)^d 
      
     
   K(x,xi​)=(x⋅xi​+1)d径向基核函数 
     
      
       
       
         K 
        
       
         ( 
        
       
         x 
        
       
         , 
        
        
        
          x 
         
        
          i 
         
        
       
         ) 
        
       
         = 
        
       
         e 
        
       
         x 
        
       
         p 
        
       
         ( 
        
        
         
         
           ∣ 
          
         
           ∣ 
          
         
           x 
          
         
           − 
          
          
          
            x 
           
          
            i 
           
          
         
           ∣ 
          
          
          
            ∣ 
           
          
            2 
           
          
         
         
         
           2 
          
          
          
            σ 
           
          
            2 
           
          
         
        
       
         ) 
        
       
      
        K(x,x_i) = exp(\frac{||x-x_i||^2}{2 \sigma^2}) 
       
      
    K(x,xi​)=exp(2σ2∣∣x−xi​∣∣2​)Sigmoid核函数 
    
     
      
      
        K 
       
      
        ( 
       
      
        x 
       
      
        , 
       
       
       
         x 
        
       
         i 
        
       
      
        ) 
       
      
        = 
       
      
        t 
       
      
        a 
       
      
        n 
       
      
        h 
       
      
        ( 
       
      
        k 
       
      
        ( 
       
      
        ( 
       
      
        x 
       
      
        ⋅ 
       
       
       
         x 
        
       
         i 
        
       
      
        ) 
       
      
        + 
       
      
        θ 
       
      
        ) 
       
      
     
       K(x,x_i) = tanh(k((x·x_i) + \theta) 
      
     
   K(x,xi​)=tanh(k((x⋅xi​)+θ)傅里叶核函数 
    
     
      
      
        K 
       
      
        ( 
       
      
        x 
       
      
        , 
       
       
       
         x 
        
       
         i 
        
       
      
        ) 
       
      
        = 
       
       
       
         ∑ 
        
        
        
          k 
         
        
          = 
         
        
          1 
         
        
       
         n 
        
       
       
        
        
          1 
         
        
          − 
         
         
         
           q 
          
         
           2 
          
         
        
        
        
          2 
         
        
          [ 
         
        
          1 
         
        
          − 
         
        
          2 
         
        
          q 
         
        
          c 
         
        
          o 
         
        
          s 
         
        
          ( 
         
         
         
           a 
          
          
          
            i 
           
          
            k 
           
          
         
        
          − 
         
         
         
           a 
          
          
          
            j 
           
          
            k 
           
          
         
        
          ) 
         
        
          + 
         
         
         
           q 
          
         
           2 
          
         
        
          ] 
         
        
       
      
     
       K(x,x_i) = \sum\limits_{k=1}^n\frac{1-q^2}{2[1-2qcos(a_{ik}-a_{jk})+q^2]} 
      
     
   K(x,xi​)=k=1∑n​2[1−2qcos(aik​−ajk​)+q2]1−q2​

2.3 多分类问题

  由线性可分SVM和线性不可分SVM的原理可知,支持向量机仅限于处理二分类问题,对于多分类问题,须做进一步的改进。目前,构造多分类SVM的方法主要有两个:直接法和间接法。直接法通过修改待求解的优化问题,直接计算出用于多分类的分类函数,该方法计算量较大、求解过程复杂、花费时间较长,实现起来比较困难。间接法主要是通过组合多个二分类SVM来实现多分类SVM的构建,常见的方法有一对一(one-against-one)和一对多(one-against- all)两种。

2.3.1一对一(ovo)

  一对一在

     K 
    
   
  
    K 
   
  
K类训练样本中构造所有可能的二分类SVM,即将每类样本与其他类别的样本分别构成二分类问题,共构造 
 
  
   
    
     
     
       K 
      
     
       ( 
      
     
       K 
      
     
       − 
      
     
       1 
      
     
       ) 
      
     
    
      2 
     
    
   
  
    \frac{K(K-1)}{2} 
   
  
2K(K−1)​个二分类SVM。测试样本经过所有的二分类SVM进行分类,然后对所有类别进行投票,得票最多的类别(最占优势的类别)即为测试样本所属的类别。

2.3.2一对多(ovr)

  一对多由

     K 
    
   
  
    K 
   
  
K个二分类SVM组成,第 
 
  
   
   
     i 
    
   
     ( 
    
   
     i 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     … 
    
   
     , 
    
   
     K 
    
   
     ) 
    
   
  
    i(i=1,2,…,K) 
   
  
i(i=1,2,…,K)个二分类SVM将第 
 
  
   
   
     i 
    
   
  
    i 
   
  
i类训练样本的类别标记为+1,而将其余所有训练样本的类别标记为-1。测试样本经过所有二分类SVM进行分类,然后根据预测得到的类别标号判断是否属于第 
 
  
   
   
     i 
    
   
     ( 
    
   
     i 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     … 
    
   
     , 
    
   
     K 
    
   
     ) 
    
   
  
    i(i=1,2,…,K) 
   
  
i(i=1,2,…,K)个类别。

2.3.2ovo 和ovr 区别

  区别如下图所示:

三、MATLAB实现

libsvm包实现

  本例将用乳腺癌诊断来对算法进行实现

1.产生训练集/测试集

%% 清空环境变量
clear all
clc
%% 导入数据
load BreastTissue_data.mat
% 随机产生训练集和测试集
n =randperm(size(matrix,1));% 训练集——80个样本
train_matrix =matrix(n(1:80),:);
train_label =label(n(1:80),:);% 测试集——26个样本
test_matrix =matrix(n(81:end),:);
test_label =label(n(81:end),:);

2. 数据归一化

%% 数据归一化
[Train_matrix,PS]=mapminmax(train_matrix');
Train_matrix = Train_matrix';
Test_matrix =mapminmax('apply',test_matrix',PS);
Test_matrix = Test_matrix';

3. SVM创建/训练(RBF核函数)

  如前文所述,在创建/训练SVM时应考虑核函数及相关参数对模型性能的影响。这里采用默认的RBF核函数。首先利用交又验证方法寻找最佳的参数

     c 
    
   
  
    c 
   
  
c(惩罚因子)和参数 
 
  
   
   
     g 
    
   
  
    g 
   
  
g(RBF核函数中的方差),然后利用最佳的参数训练模型。值得一提的是,当模型的性能相同时,为了减少计算时间,优先选择惩罚因子 
 
  
   
   
     c 
    
   
  
    c 
   
  
c比较小的参数组合,这是因为惩罚因子 
 
  
   
   
     c 
    
   
  
    c 
   
  
c越大,最终得到的支持向量数将越多,计算量越大。具体程序如下:
% 寻找最佳c/g参数——交叉验证方法
[c,g]=meshgrid(-10:0.2:10,-10:0.2:10);[m,n]=size(c);
cg =zeros(m,n);
eps =10^(-4);
v =5;
bestc =1;
bestg =0.1;
bestacc =0;for i =1:m
    for j =1:n
        cmd =['-v ',num2str(v),' -t 2',' -c ',num2str(2^c(i,j)),' -g ',num2str(2^g(i,j))];cg(i,j)=svmtrain(train_label,Train_matrix,cmd);ifcg(i,j)> bestacc
            bestacc =cg(i,j);
            bestc =2^c(i,j);
            bestg =2^g(i,j);
        end        
        ifabs(cg(i,j)-bestacc )<=eps && bestc >2^c(i,j) 
            bestacc =cg(i,j);
            bestc =2^c(i,j);
            bestg =2^g(i,j);
        end               
    end
end
cmd =[' -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg)];% 创建/训练SVM模型
model =svmtrain(train_label,Train_matrix,cmd);

4. SVM仿真测试

%% SVM仿真测试
[predict_label_1,accuracy_1]=svmpredict(train_label,Train_matrix,model);[predict_label_2,accuracy_2]=svmpredict(test_label,Test_matrix,model);
result_1 =[train_label predict_label_1];
result_2 =[test_label predict_label_2];

5. 结果展示

%% 绘图
figure
plot(1:length(test_label),test_label,'r-*')
hold on
plot(1:length(test_label),predict_label_2,'b:o')
grid on
legend('真实类别','预测类别')xlabel('测试集样本编号')ylabel('测试集样本类别')
string ={'测试集SVM预测结果对比(RBF核函数)';['accuracy = 'num2str(accuracy_2(1))'%']};title(string)

结果如下:

  由于训练集和测试集是随机产生的,所以程序每次运行的结果都会不同。某次运行的测试集预测结果如下表所列。从表中可以清晰地看到,只有样本5和7和13预测错误,测试集的预测正确率达到88.46%(23/26)。且如前文所述,乳腺癌、纤维腺瘤和乳腺病(标签分别为1、2和3)为病变组织,乳腺组织、结缔组织和脂肪组织(标签分别为4、5、6)为正常组织,若仅判断为病变组织或正常组织(即二分类),则样本5和7判断正确(将乳腺癌诊断为纤维腺瘤,同为病变组织),预测正确率将达到96.15%(25/26),这也从另外一个角度体现了SVM用于二分类的优越性。
样本编号12345678910111213真实类别2225314611164预测类别2225116611161样本编号14151617181920212223242526真实类别1331465631366预测类别1331465631366

喜欢的小伙伴麻烦点个赞加关注奥,谢谢啦🙏🙏
代码链接:https://pan.baidu.com/s/1OPzcZVisebc3reS3ycR8tA
提取码:6666

参考:
MATLAB智能算法30案例分析(第二版)


本文转载自: https://blog.csdn.net/m0_56306305/article/details/126378388
版权归原作者 爱听雨的犬猫 所有, 如有侵权,请联系我们删除。

“支持向量机SVM介绍以及MATLAB实现”的评论:

还没有评论