《统计学习方法》第七章: 支持向量机 读书笔记

7.支持向量机(Support vector machines,SVM)

  • 是二分类模型。学习策略是间隔最大化
  • 包含三种:
    • 线性可分支持向量机:训练数据线性可分,通过硬间隔最大化学习。
    • 线性支持向量机:训练数据近似线性可分(有outlier点),通过软间隔最大化学习
    • 非线性支持向量机:训练数据线性不可分,通过使用核技巧及软间隔最大化学习

7.1 线性可分支持向量机

7.1.1 和感知机的区别
  • 感知机利用误分类最小的策略,求得分离超平面,但此时解有无穷多个
  • 线性可分支持向量机利用间隔最大化求分离超平面,解是唯一的。
7.1.2 数学表示
  • 数据集T, x R n , y { + 1 , 1 } x \in R^n, y \in \{+1,-1\} ,y为+1时,称实例为正例,反之为负例
  • 学习到的分离超平面:
    w x + b = 0 w^*\cdot x + b^* = 0
    相应的决策函数为
    f ( x ) = s i g n ( w x + b ) f(x) = sign(w^*\cdot x + b^*)
7.1.3 函数间隔,几何间隔

一个样本点距分离超平面的远近可以表示分类预测的确信程度

函数间隔
  • 超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) 的函数间隔为
    r ^ i = y i ( w x i + b ) \hat{r}_i = y_i(w\cdot x_i+b)
  • 超平面(w,b)关于样本集T的函数间隔,为所有样本点函数间隔的最小值
    r ^ = min i = 1 , 2 ,   , N r ^ i \hat{r} = \min_{i=1,2,\cdots,N}\hat{r}_i
几何间隔

w = 1 ||w||=1

  • 超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) 的几何间隔为
    r i = y i ( w w x i + b w ) r_i = y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||})
  • 超平面(w,b)关于样本集T的函数间隔,为所有样本点函数间隔的最小值
    r = min i = 1 , 2 ,   , N r i r = \min_{i=1,2,\cdots,N}r_i
函数间隔和几何间隔的关系
  • w = 1 ||w||=1 时,函数间隔与集合间隔相等
  • 当w,b成比例改变时,函数间隔也按比例改变,但几何间隔不变
7.1.4 硬间隔最大化
  • 支持向量机基本想法:对训练数据集找到几何间隔最大的超平面,以充分大的确认度对训练数据进行分类
  • 硬间隔最大化:当训练数据线性可分时(即能找到一个线性分离超平面对每个数据都正确的分类),硬性要求每个样本点到超平面的距离>几何间隔
数学表示

max w , b r s . t . y i ( w w x i + b w ) r , i = 1 , 2 ,   , N \begin{aligned} \max_{w,b} &\quad r \\ s.t. & \quad y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}) \geqslant r, \quad i=1,2,\cdots,N \end{aligned}
N是数据集T的数据数目,等价于
max w , b r ^ w s . t . y i ( w x i + b ) r ^ , i = 1 , 2 ,   , N \begin{aligned} \max_{w,b} &\quad \frac{\hat{r}}{||w||} \\ s.t. & \quad y_i(w\cdot x_i+b) \geqslant \hat{r}, \quad i=1,2,\cdots,N \end{aligned}
由于 r ^ \hat{r} 可以根据w,b的比例改变而改变,那么取 r ^ = 1 \hat{r}=1 ,上述问题等价于
min w , b 1 2 w 2 s . t . y i ( w x i + b ) 1 0 , i = 1 , 2 ,   , N \begin{aligned} \min_{w,b} &\quad \frac{1}{2}||w||^2 \\ s.t. & \quad y_i(w\cdot x_i+b) -1 \geqslant 0 , \quad i=1,2,\cdots,N \end{aligned}

  • 由于目标函数 1 2 w 2 \frac{1}{2}||w||^2 是二次凸函数,不等式约束 y i ( w x i + b ) 1 0 \quad y_i(w\cdot x_i+b) -1 \geqslant 0 是仿射函数也是凸函数,有凸集;上述问题称为凸二次规划问题。
  • 此时 w , b w,b 有唯一解
7.1.5 支持向量
  • 支持向量:在线性可分的情况下,训练数据集的样本点中与分离超平距离最近的样本点实例称为支持向量。满足:
    y i ( w x i + b ) 1 = 0 y_i(w\cdot x_i + b)-1=0
  • 支撑超平面:正例支持向量所在的超平面, w x + b = 1 w\cdot x +b = 1 ,负例支持向量所在的超平面, w x + b = 1 w\cdot x +b=-1
  • 间隔,两个支撑超平面的距离: 2 w \frac{2}{||w||}
  • 支持向量在确定分离超平面中起决定性作用。
    在这里插入图片描述
7.1.6 学习的对偶算法
原问题

min w , b 1 2 w 2 s . t . y i ( w x i + b ) 1 0 , i = 1 , 2 ,   , N \begin{aligned} \min_{w,b} &\quad \frac{1}{2}||w||^2 \\ s.t. & \quad y_i(w\cdot x_i+b) -1 \geqslant 0 , \quad i=1,2,\cdots,N \end{aligned}

拉格朗日函数

L ( w , b , α ) = 1 2 w 2 i = 1 N α i [ y i ( w x i + b ) ] + i = 1 N α i L(w,b,\alpha) = \frac{1}{2}||w||^2 - \sum_{i=1}^N\alpha_i[y_i(w\cdot x_i+b)] + \sum_{i=1}^N\alpha_i
其中 α i 0 \alpha_i \geqslant0 ,原问题为
min w , b max α L ( w , b , α ) \min_{w,b} \quad \max_\alpha L(w,b,\alpha)

拉格朗日对偶问题

max α min w , b L ( w , b , α ) \max_\alpha \quad \min_{w,b}L(w,b,\alpha)

KKT条件

原始条件 min x R n f ( x ) s . t . c i ( x ) 0 , i = 1 , 2 ,   , k h j ( x ) = 0 , j = 1 , 2 ,   , l \begin{aligned} \min_{x \in R^n} \quad &f(x) \\ s.t. \quad &c_i(x)\leqslant0,i=1,2,\cdots,k \\ & h_j(x)=0,j=1,2,\cdots,l \end{aligned} KKT条件 x L ( x , α , β ) = 0 α L ( x , α , β ) = 0 β L ( x , α , β ) = 0 α i c i ( x ) = 0 , i = 1 , 2 ,   , k c i ( x ) 0 , i = 1 , 2 ,   , k α i 0 , i = 1 , 2 ,   , k h j ( x ) = 0 , j = 1 , 2 ,   , j \begin{aligned} \nabla_xL(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0 \\ \alpha_i^*c_i(x^*)=0,& \quad i=1,2,\cdots,k\\ c_i(x^*)\leqslant 0 ,& \quad i=1,2,\cdots,k\\ \alpha_i^* \geqslant 0,& \quad i=1,2,\cdots,k \\ h_j(x^*) =0 ,& \quad j=1,2,\cdots,j \end{aligned}


  • w , b w,b 求导,得到最小值 L ( α ) L(\alpha)
    L ( w , b , α ) = 1 2 w T w i = 1 N α i [ y i ( w T x i + b ) ] + i = 1 N α i L ( w , b , α ) w = w i = 1 N α i y i x i = 0 L ( w , b , α ) b = i = 1 N α i y i = 0 \begin{aligned} L(w,b,\alpha) &= \frac{1}{2}w^Tw - \sum_{i=1}^N\alpha_i[y_i(w^T x_i+b)] + \sum_{i=1}^N\alpha_i\\ \frac{\partial L(w,b,\alpha)}{\partial{w}} &= w -\sum_{i=1}^N\alpha_iy_i x_i=0\\ \frac{\partial L(w,b,\alpha)}{\partial{b}} &= -\sum_{i=1}^N\alpha_iy_i=0 \end{aligned}
  • 带入L得到 L ( α ) L(\alpha)
    L ( α ) = 1 2 i = 1 N j = 1 N α i α j y i y j x i x j i = 1 N α i y i ( j = 1 N α j y j x j ) x i i = 1 N α i y i b + i = 1 N α i = 1 2 i = 1 N j = 1 N α i α j y i y j x i x j + i = 1 N α i \begin{aligned} L(\alpha) &= \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j - \sum_{i=1}^N\alpha_iy_i(\sum_{j=1}^N\alpha_jy_j x_j)\cdot x_i - \sum_{i=1}^N\alpha_iy_ib+\sum_{i=1}^N\alpha_i \\ &=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \end{aligned}
    此时对偶问题转为
    max α 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} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad \alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
  • 求使 L ( α ) L(\alpha) 最大的最优解 α \alpha^*
    根据下文的最小序列算法求解最优 α \alpha^*
  • 根据最优解 α \alpha^* ,及互补松弛条件 α i [ y i ( w x i + b ) 1 ] = 0 \alpha_i^*[y_i(w\cdot x_i+b) -1]=0 ,得到 w , b w^*,b^*
    • α i > 0 \alpha^*_i>0 时, y i ( w x i + b ) 1 = 0 y_i(w\cdot x_i+b) -1=0 ,此时样本点为支持向量
    • y i ( w x i + b ) 1 > 0 y_i(w\cdot x_i+b) -1> 0 时, α i = 0 \alpha^*_i=0 ,样本点不是支持向量机.
      找到最优解 α \alpha^* 中大于0的分量,设此项index为j,得到:
      w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}
      求得分离超平面 w x + b = 0 w^*\cdot x + b^* =0 ,分类决策函数 f ( x ) = s i g n ( w x + b ) f(x)=sign(w^*\cdot x + b^*)
最优解
  • 获得 α \alpha^*
    max α 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} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad \alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中大于0的分量,设此项index为j
    w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}

对于 α \alpha 向量,支持向量( y i ( w x i + b ) = 1 y_i(w\cdot x_i + b)=1 )对应的 α i > 0 \alpha_i >0 ,其他样本( y i ( w x i + b ) > 1 y_i(w\cdot x_i + b)>1 )对应的 α i = 0 \alpha_i =0 。所以对于 w = i = 1 N α i y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i b = y j i = 1 N α i y i x i c j b^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j 值,只由 α i 0 \alpha_i \neq0 的样本决定,即支持向量决定。
在这里插入图片描述

7.2线性支持向量机

  • 对于一些近似线性可分数据,由于存在一些特异点,模型不能把所有的样本都分类正确。
7.2.1学习到的模型的数学表示
  • 学习到的分离超平面:
    w x + b = 0 w^*\cdot x + b^* = 0
    相应的决策函数为
    f ( x ) = s i g n ( w x + b ) f(x) = sign(w^*\cdot x + b^*)
7.2.2 软件隔最大化
  • 所有样本点的函数间隔不能都满足大于样本集的函数间隔这一条件。
  • 所以硬间隔最大化需要修改为软间隔最大化。即对每个样本点引进一个松弛变量 ε i 0 \varepsilon_i \geqslant 0
    min w , b 1 2 w 2 + C i = 1 N ε i s . t . y i ( w x i + b ) 1 ε i , i = 1 , 2 ,   , N ε i 0 , i = 1 , 2 ,   , N \begin{aligned} \min_{w,b} &\quad \frac{1}{2}||w||^2 + C\sum_{i=1}^N\varepsilon_i\\ s.t. & \quad y_i(w\cdot x_i+b) \geqslant 1- \varepsilon_i , \quad i=1,2,\cdots,N\\ &\quad \varepsilon_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
  • 其中 ε i 0 \varepsilon_i \geqslant 0 是松弛变量; C 0 C \geqslant 0 是惩罚参数,表示对松弛变量的支付代价。
  • 最小化的目标是,使 1 2 w 2 \frac{1}{2}||w||^2 尽可能小,即间隔尽量大,同时使误分类点的个数尽量小。
  • 此时w有唯一解,b的解存在一个区间
  • 线性支持向量机包含线性可分向量机( ε i = 0 \varepsilon_i = 0
7.2.3 学习的对偶算法
原问题

min w , b 1 2 w 2 + C i = 1 N ε i s . t . y i ( w x i + b ) 1 ε i , i = 1 , 2 ,   , N ε i 0 , i = 1 , 2 ,   , N \begin{aligned} \min_{w,b} &\quad \frac{1}{2}||w||^2 + C\sum_{i=1}^N\varepsilon_i\\ s.t. & \quad y_i(w\cdot x_i+b) \geqslant 1- \varepsilon_i , \quad i=1,2,\cdots,N\\ &\quad \varepsilon_i \geqslant 0,i=1,2,\cdots,N \end{aligned}

拉格朗日函数

L ( w , b , ε , α , μ ) = 1 2 w 2 + C i = 1 N ε i i = 1 N α i [ y i ( w x i + b ) 1 + ε i ] i = 1 N μ i ε i L(w,b,\varepsilon,\alpha,\mu) = \frac{1}{2}||w||^2 + C\sum_{i=1}^N\varepsilon_i- \sum_{i=1}^N\alpha_i[y_i(w\cdot x_i+b)-1+\varepsilon_i] - \sum_{i=1}^N\mu_i\varepsilon_i
其中 α i 0 , μ i 0 \alpha_i \geqslant0,\mu_i\geqslant 0 ,原问题为
min w , b , ε max α , μ L ( w , b , ε , α , μ ) \min_{w,b,\varepsilon} \quad \max_{\alpha,\mu} L(w,b,\varepsilon,\alpha,\mu)

拉格朗日对偶问题

max α , μ min w , b , ε L ( w , b , ε , α , μ ) \max_{\alpha,\mu} \quad \min_{w,b,\varepsilon}L(w,b,\varepsilon,\alpha,\mu)

KKT条件
  • w , b , ε w,b,\varepsilon 求导,得到最小值 L ( α , μ ) L(\alpha,\mu)
    L ( w , b , ε , α , μ ) = 1 2 w 2 + C i = 1 N ε i i = 1 N α i [ y i ( w x i + b ) 1 + ε i ] i = 1 N μ i ε i L ( w , b , ε , α , μ ) w = w i = 1 N α i y i x i = 0 L ( w , b , ε , α , μ ) b = i = 1 N α i y i = 0 L ( w , b , ε , α , μ ) ε i = C α i μ i = 0 \begin{aligned} L(w,b,\varepsilon,\alpha,\mu) & = \frac{1}{2}||w||^2 + C\sum_{i=1}^N\varepsilon_i- \sum_{i=1}^N\alpha_i[y_i(w\cdot x_i+b)-1+\varepsilon_i] - \sum_{i=1}^N\mu_i\varepsilon_i\\ \frac{\partial L(w,b,\varepsilon,\alpha,\mu)}{\partial{w}} &= w -\sum_{i=1}^N\alpha_iy_i x_i=0\\ \frac{\partial L(w,b,\varepsilon,\alpha,\mu)}{\partial{b}} &= -\sum_{i=1}^N\alpha_iy_i=0 \\ \frac{\partial L(w,b,\varepsilon,\alpha,\mu)}{\partial{\varepsilon_i}} &= C - \alpha_i - \mu_i =0 \end{aligned}
    带入L得到
    L ( α , μ ) = 1 2 i = 1 N j = 1 N α i α j y i y j x i x j + C i = 1 N ε i i = 1 N α i y i ( j = 1 N α j y j x j ) x i i = 1 N α i y i b + i = 1 N α i i = 1 N α i ε i i = 1 N μ i ε i = 1 2 i = 1 N j = 1 N α i α j y i y j x i x j + i = 1 N α i + i = 1 N ( C α i μ i ) ε i i = 1 N α i y i b = 1 2 i = 1 N j = 1 N α i α j y i y j x i x j + i = 1 N α i \begin{aligned} L(\alpha,\mu) &= \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j + C\sum_{i=1}^N\varepsilon_i - \sum_{i=1}^N\alpha_iy_i(\sum_{j=1}^N\alpha_jy_j x_j)\cdot x_i - \sum_{i=1}^N\alpha_iy_ib+\sum_{i=1}^N\alpha_i -\sum_{i=1}^N\alpha_i\varepsilon_i\sum_{i=1}^N\mu_i\varepsilon_i\\ &=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i + \sum_{i=1}^N(C-\alpha_i-\mu_i)\varepsilon_i - \sum_{i=1}^N\alpha_iy_ib \\ &=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \end{aligned}
    此时对偶问题转为
    max α 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 μ i 0 , i = 1 , 2 ,   , N C α i μ i = 0 , i = 1 , 2 ,   , N ( 0 α i C ) \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad \alpha_i \geqslant 0,i=1,2,\cdots,N \\ &\quad \mu_i \geqslant 0,i=1,2,\cdots,N \\ &\quad C - \alpha_i - \mu_i =0,i=1,2,\cdots,N \quad (\text{即} 0\leqslant\alpha_i\leqslant C) \end{aligned}
  • 求使 L ( α ) L(\alpha) 最大的最优解 α \alpha^*
    根据下文的最小序列算法求解最优 α \alpha^*
  • 根据最优解 α \alpha^* ,及互补松弛条件 α i [ y i ( w x i + b ) 1 + ε i ] = 0 \alpha_i^*[y_i(w\cdot x_i+b) -1+\varepsilon_i]=0 μ i ε i = 0 \mu_i\varepsilon_i=0 ,得到 w , b w^*,b^*
    • 0 < α i < C 0<\alpha^*_i<C 时, 0 < μ i 0<\mu_i ,且 ε i = 0 \varepsilon_i=0 ,此时, y i ( w x i + b ) 1 = 0 y_i(w\cdot x_i+b) -1=0 .

    • α i = C \alpha_i=C ,此时 μ i = 0 \mu_i=0 ,且 ε i > 0 \varepsilon_i>0

      • 如果 0 < ε i < 1 0<\varepsilon_i<1 0 < y i ( w x i + b ) < 1 0<y_i(w\cdot x_i+b)<1 样本点在间隔边界和分离超平面之间
      • ε i = 1 \varepsilon_i=1 y i ( w x i + b ) = 0 y_i(w\cdot x_i+b)=0 样本点在分离超平面之上
      • ε i > 1 \varepsilon_i>1 y i ( w x i + b ) < 0 y_i(w\cdot x_i+b)<0 样本点在分离超平面之误分类一侧
    • α i = 0 \alpha_i=0 ,此时 μ i = C \mu_i=C ,且 ε i = 0 \varepsilon_i=0 , y i ( w x i + b ) > 1 y_i(w\cdot x_i+b)>1 ,此时样本点是被分离超平面明确分类正确的点,对分离超平面的 w , b w,b 不起作用
      在这里插入图片描述

  • 我对b有多解的直观理解:w的解是唯一的, w = i = 1 N α i y i x i w^*=\sum_{i=1}^N\alpha_i^*y_i x_i ,虽说w值唯一,但 α \alpha 的解不唯一, ε \varepsilon 的解不唯一。假如两个点分别为正负样本点,都在间隔平面内,当间隔平面平行移动时,正负样例点距正负间隔平面距离之和是不变的。
    在这里插入图片描述
    找到最优解 α \alpha^* 中满足 0 < α i < C 0<\alpha^*_i<C 的分量,设此项index为j,得到:
    w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}
    求得分离超平面 w x + b = 0 w^*\cdot x + b^* =0 ,分类决策函数 f ( x ) = s i g n ( w x + b ) f(x)=sign(w^*\cdot x + b^*)
最优解
  • 获得 α \alpha^*
    max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
    与线性可分向量机的区别在于 α i \alpha_i 的取值范围。
  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中满足 0 < α i < C 0<\alpha^*_i<C 的分量,设此项index为j
    w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}

对于 w = i = 1 N α i y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i b = y j i = 1 N α i y i x i c j b^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j 值,只由 α i 0 \alpha_i \neq0 的样本决定,即支持向量决定。

7.2.4合页损失

线性支持向量机的另一种解释,最小化结构化风险
i = 1 N [ 1 y i ( w x i + b ) ] + + λ w 2 \sum_{i=1}^N[1-y_i(w\cdot x_i +b)]_+ + \lambda||w||^2

  • 合页损失函数:
    L ( y ( w x + b ) ) = [ 1 y ( w x + b ) ] + L(y(w\cdot x+b))=[1-y(w\cdot x +b)]_+
    其中
    [ z ] + = { z , z > 0 0 , z 0 [z]_+=\begin{cases}z,&z>0\\0,&z\leqslant0\end{cases}
    当样本点被正确分类,且函数间隔(确信度)大于1时,损失0;在间隔边界另一侧的样本(分类正确但确信度不够大,或分类错误的样本),损失为 1 y ( w x + b ) 1-y(w\cdot x +b) .
  • 等价于线性支持向量机
    1 y i ( w x i + b ) = ε i 1-y_i(w\cdot x_i +b)=\varepsilon_i , ε i 0 \varepsilon_i \geqslant 0
    那么 min i = 1 N [ 1 y i ( w x i + b ) ] + + λ w 2 \min \quad \sum_{i=1}^N[1-y_i(w\cdot x_i +b)]_+ + \lambda||w||^2 等价于 min i = 1 N ε i + λ w 2 \min \quad \sum_{i=1}^N\varepsilon_i + \lambda||w||^2 λ = 1 2 C \lambda = \frac{1}{2C}
    等价于 min C i = 1 N ε i + 1 2 w 2 \min \quad C\sum_{i=1}^N\varepsilon_i + \frac{1}{2}||w||^2

7.3非线性支持向量机

当分类问题非线性,利用核技巧学习

7.3.1 核技巧
  • 非线性可分问题:用一个超曲面将正负例正确分开。
  • 使用一个变换将原空间的数据映射到新空间,在新空间里用线性分类学习方法从训练数据中学习模型。
  • 当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。
    在这里插入图片描述
核函数数学表达

设X(欧式空间)是输入空间,H为特征空间(希尔伯特),如果存在一个从X到H的映射
ϕ ( x ) : x H \phi(x):x\rightarrow H
使所有的 x , z X x,z \in X ,核函数满足条件
K ( x , z ) = ϕ ( x ) ϕ ( z ) K(x,z) = \phi(x)\cdot\phi(z)
则K(x,z)为核函数, ϕ ( x ) \phi(x) 为映射函数

  • 通常直接计算K(x,z)
7.3.2 利用核函数变换做线性支持向量机的最优解
  • 获得 α \alpha^*
    max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j \phi(x_i) \cdot \phi(x_j) +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}

    max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j K(x_i,x_j) +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中满足 0 < α i < C 0<\alpha^*_i<C 的分量,设此项index为j
    w = i = 1 N α i y i ϕ ( x i ) b = y j i = 1 N α i y i ϕ ( x i ) ϕ ( x j ) = y j i = 1 N α i y i K ( x i , x j ) \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i \phi(x_i) \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i \phi(x_i)\cdot \phi(x_j)=y_j - \sum_{i=1}^N\alpha_i^*y_i K(x_i,x_j) \end{aligned}
  • 分离超平面
    f ( x ) = s i g n ( w ϕ ( x ) + b ) = s i g n ( i = 1 N α i y i ϕ ( x i ) ϕ ( x ) + b ) = s i g n ( i = 1 N α i y i K ( x i , x ) + b ) \begin{aligned} f(x) &= sign(w^*\cdot \phi(x) + b^*)\\ &=sign(\sum_{i=1}^N\alpha_i^*y_i \phi(x_i)\cdot \phi(x) + b^*) \\ &=sign(\sum_{i=1}^N\alpha_i^*y_i K(x_i,x) + b^*) \end{aligned}

7.4线性可分向量机、线性支持向量机、非线性支持向量机的最优解总结

7.4.1线性可分向量机
  • 获得 α \alpha^*
    max α 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} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad \alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中大于0的分量,设此项index为j
    w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}
7.4.2线性支持向量机
  • 获得 α \alpha^*
    max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j x_i \cdot x_j +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
    与线性可分向量机的区别在于 α i \alpha_i 的取值范围。
  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中满足 0 < α i < C 0<\alpha^*_i<C 的分量,设此项index为j
    w = i = 1 N α i y i x i b = y j i = 1 N α i y i x i x j \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned}

对于 w = i = 1 N α i y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i b = y j i = 1 N α i y i x i c j b^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j 值,只由 α i 0 \alpha_i \neq0 的样本决定,即支持向量决定。

7.4.3非线性支持向量机
  • 获得 α \alpha^*

max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j K(x_i,x_j) +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}

  • 获得 w , b w^*,b^* 找到最优解 α \alpha^* 中满足 0 < α i < C 0<\alpha^*_i<C 的分量,设此项index为j
    w = i = 1 N α i y i ϕ ( x i ) b = y j i = 1 N α i y i ϕ ( x i ) ϕ ( x j ) = y j i = 1 N α i y i K ( x i , x j ) \begin{aligned} w^* &=\sum_{i=1}^N\alpha_i^*y_i \phi(x_i) \\ b^* &=y_j - \sum_{i=1}^N\alpha_i^*y_i \phi(x_i)\cdot \phi(x_j)=y_j - \sum_{i=1}^N\alpha_i^*y_i K(x_i,x_j) \end{aligned}
7.4.4区别
  • 线性可分向量机利用硬间隔最大化, α i 0 \alpha_i \geqslant 0
  • 线性支持向量机利用软间隔最大化, C α i 0 C \geqslant \alpha_i \geqslant 0
  • 非线性向量机利用核技巧, C α i 0 C \geqslant \alpha_i \geqslant 0 ,用 K ( x i , x j ) K(x_i,x_j) 代替 x i x j x_i\cdot x_j

7.5序列最小最优化算法(SMO,sequential minimal optimization)

主要针对求解 α \alpha 的最优解
max α 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 C α i 0 , i = 1 , 2 ,   , N \begin{aligned} \max_{\alpha} &\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j K(x_i,x_j) +\sum_{i=1}^N\alpha_i \\ s.t. &\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned}
每次选择两个 α \alpha 变量去优化,使所有的 α \alpha 变量一直满足 i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 的条件。

猜你喜欢

转载自blog.csdn.net/liuerin/article/details/89490118