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

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

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

和感知机的区别

  • 感知机利用误分类最小的策略,求得分离超平面,但此时解有无穷多个
  • 线性可分支持向量机利用间隔最大化求分离超平面,解是唯一的。

支持向量机的决策函数

  • 数据集T, x ∈ R n , y ∈ { + 1 , − 1 } x \in R^n, y \in \{+1,-1\} xRn,y{+1,1},y为+1时,称实例为正例,反之为负例
  • 学习到的分离超平面:
    w ∗ ⋅ x + b ∗ = 0 w^*\cdot x + b^* = 0 wx+b=0
    相应的决策函数为
    f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^*\cdot x + b^*) f(x)=sign(wx+b)

函数间隔

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

几何间隔
∣ ∣ w ∣ ∣ = 1 ||w||=1 w=1

  • 超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔为
    r i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) r_i = y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}) ri=yi(wwxi+wb)
  • 超平面(w,b)关于样本集T的函数间隔,为所有样本点函数间隔的最小值
    r = min ⁡ i = 1 , 2 , ⋯   , N r i r = \min_{i=1,2,\cdots,N}r_i r=i=1,2,,Nminri

支持向量

  • 支持向量:在线性可分的情况下,训练数据集的样本点中与分离超平距离最近的样本点实例称为支持向量。满足:
    y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i + b)-1=0 yi(wxi+b)1=0
  • 支撑超平面:正例支持向量所在的超平面, w ⋅ x + b = 1 w\cdot x +b = 1 wx+b=1,负例支持向量所在的超平面, w ⋅ x + b = − 1 w\cdot x +b=-1 wx+b=1
  • 间隔,两个支撑超平面的距离: 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} w2
  • 支持向量在确定分离超平面中起决定性作用。
    在这里插入图片描述
    函数间隔和几何间隔的关系
  • ∣ ∣ w ∣ ∣ = 1 ||w||=1 w=1时,函数间隔与集合间隔相等
  • 当w,b成比例改变时,函数间隔也按比例改变,但几何间隔不变

硬间隔最大化

  • 支持向量机基本想法:对训练数据集找到几何间隔最大的超平面,以充分大的确认度对训练数据进行分类
  • 硬间隔最大化:当训练数据线性可分时(即能找到一个线性分离超平面对每个数据都正确的分类),硬性要求每个样本点到超平面的距离>几何间隔
7.1.2 硬间隔最大化数学表示

求解目标
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} w,bmaxs.t.ryi(wwxi+wb)r,i=1,2,,N
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} w,bmaxs.t.wr^yi(wxi+b)r^,i=1,2,,N
由于 r ^ \hat{r} r^可以根据w,b的比例改变而改变,那么取 r ^ = 1 \hat{r}=1 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} w,bmins.t.21w2yi(wxi+b)10,i=1,2,,N

  • 由于目标函数 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2是二次凸函数,不等式约束 y i ( w ⋅ x i + b ) − 1 ⩾ 0 \quad y_i(w\cdot x_i+b) -1 \geqslant 0 yi(wxi+b)10是仿射函数也是凸函数,有凸集;上述问题称为凸二次规划问题。
  • 此时 w , b w,b w,b有唯一解

拉格朗日函数
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 L(w,b,α)=21w2i=1Nαi[yi(wxi+b)]+i=1Nαi
其中 α i ⩾ 0 \alpha_i \geqslant0 αi0,原问题为
min ⁡ w , b max ⁡ α L ( w , b , α ) \min_{w,b} \quad \max_\alpha L(w,b,\alpha) w,bminαmaxL(w,b,α)
拉格朗日对偶问题
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_\alpha \quad \min_{w,b}L(w,b,\alpha) αmaxw,bminL(w,b,α)

  • w , b w,b w,b求导,得到最小值 L ( α ) L(\alpha) L(α)
    ∂ 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} \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} wL(w,b,α)bL(w,b,α)=wi=1Nαiyixi=0=i=1Nαiyi=0
  • 带入L得到 L ( α ) L(\alpha) L(α)
    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} L(α)=21i=1Nj=1Nαiαjyiyjxixji=1Nαiyi(j=1Nαjyjxj)xii=1Nαiyib+i=1Nαi=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαi
    此时对偶问题转为
    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} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,,N
  • 求使 L ( α ) L(\alpha) L(α)最大的最优解 α ∗ \alpha^* α
    根据下文的最小序列算法求解最优 α ∗ \alpha^* α
  • 根据最优解 α ∗ \alpha^* α,及互补松弛条件 α i ∗ [ y i ( w ⋅ x i + b ) − 1 ] = 0 \alpha_i^*[y_i(w\cdot x_i+b) -1]=0 αi[yi(wxi+b)1]=0,得到 w ∗ , b ∗ w^*,b^* w,b
    • α i ∗ > 0 \alpha^*_i>0 αi>0时, y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b) -1=0 yi(wxi+b)1=0,此时样本点为支持向量
    • y i ( w ⋅ x i + b ) − 1 > 0 y_i(w\cdot x_i+b) -1> 0 yi(wxi+b)1>0时, α i ∗ = 0 \alpha^*_i=0 α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} wb=i=1Nαiyixi=yji=1Nαiyixixj
      求得分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x + b^* =0 wx+b=0,分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x + b^*) f(x)=sign(wx+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} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,,N
  • 获得 w ∗ , b ∗ 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} wb=i=1Nαiyixi=yji=1Nαiyixixj

对于 α \alpha α向量,支持向量( y i ( w ⋅ x i + b ) = 1 y_i(w\cdot x_i + b)=1 yi(wxi+b)=1)对应的 α i > 0 \alpha_i >0 αi>0,其他样本( y i ( w ⋅ x i + b ) > 1 y_i(w\cdot x_i + b)>1 yi(wxi+b)>1)对应的 α i = 0 \alpha_i =0 αi=0。所以对于 w ∗ = ∑ i = 1 N α i ∗ y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i w=i=1Nαiyixi 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 b=yji=1Nαiyixicj值,只由 α i ≠ 0 \alpha_i \neq0 αi̸=0的样本决定,即支持向量决定。
在这里插入图片描述

7.2线性支持向量机
  • 对于一些近似线性可分数据,由于存在一些特异点,模型不能把所有的样本都分类正确。
7.2.1软件隔最大化概念
  • 所有样本点的函数间隔不能都满足大于样本集的函数间隔这一条件。
  • 所以硬间隔最大化需要修改为软间隔最大化。即对每个样本点引进一个松弛变量 ε i ⩾ 0 \varepsilon_i \geqslant 0 εi0
    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} w,bmins.t.21w2+Ci=1Nεiyi(wxi+b)1εi,i=1,2,,Nεi0,i=1,2,,N
  • 其中 ε i ⩾ 0 \varepsilon_i \geqslant 0 εi0是松弛变量; C ⩾ 0 C \geqslant 0 C0是惩罚参数,表示对松弛变量的支付代价。
  • 最小化的目标是,使 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2尽可能小,即间隔尽量大,同时使误分类点的个数尽量小。
  • 此时w有唯一解,b的解存在一个区间
  • 线性支持向量机包含线性可分向量机( ε i = 0 \varepsilon_i = 0 ε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} w,bmins.t.21w2+Ci=1Nεiyi(wxi+b)1εi,i=1,2,,Nεi0,i=1,2,,N
拉格朗日函数
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 L(w,b,ε,α,μ)=21w2+Ci=1Nεii=1Nαi[yi(wxi+b)1+εi]i=1Nμiεi
其中 α i ⩾ 0 , μ i ⩾ 0 \alpha_i \geqslant0,\mu_i\geqslant 0 αi0,μi0,原问题为
min ⁡ w , b , ε max ⁡ α , μ L ( w , b , ε , α , μ ) \min_{w,b,\varepsilon} \quad \max_{\alpha,\mu} L(w,b,\varepsilon,\alpha,\mu) w,b,εminα,μmaxL(w,b,ε,α,μ)
拉格朗日对偶问题
max ⁡ α , μ min ⁡ w , b , ε L ( w , b , ε , α , μ ) \max_{\alpha,\mu} \quad \min_{w,b,\varepsilon}L(w,b,\varepsilon,\alpha,\mu) α,μmaxw,b,εminL(w,b,ε,α,μ)
KKT条件

  • w , b , ε w,b,\varepsilon w,b,ε求导,得到最小值 L ( α , μ ) L(\alpha,\mu) L(α,μ)
    ∂ 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} \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} wL(w,b,ε,α,μ)bL(w,b,ε,α,μ)εiL(w,b,ε,α,μ)=wi=1Nαiyixi=0=i=1Nαiyi=0=Cαiμi=0
    带入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} L(α,μ)=21i=1Nj=1Nαiαjyiyjxixj+Ci=1Nεii=1Nαiyi(j=1Nαjyjxj)xii=1Nαiyib+i=1Nαii=1Nαiεii=1Nμiεi=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαi+i=1N(Cαiμi)εii=1Nαiyib=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαi
    此时对偶问题转为
    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} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,,Nμi0,i=1,2,,NCαiμi=0,i=1,2,,N(0αiC)
  • 求使 L ( α ) L(\alpha) L(α)最大的最优解 α ∗ \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[yi(wxi+b)1+εi]=0 μ i ε i = 0 \mu_i\varepsilon_i=0 μiεi=0,得到 w ∗ , b ∗ w^*,b^* w,b
    • 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<αi<C时, 0 &lt; μ i 0&lt;\mu_i 0<μi,且 ε i = 0 \varepsilon_i=0 εi=0,此时, y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b) -1=0 yi(wxi+b)1=0.

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

      • 如果 0 &lt; ε i &lt; 1 0&lt;\varepsilon_i&lt;1 0<εi<1 0 &lt; y i ( w ⋅ x i + b ) &lt; 1 0&lt;y_i(w\cdot x_i+b)&lt;1 0<yi(wxi+b)<1样本点在间隔边界和分离超平面之间
      • ε i = 1 \varepsilon_i=1 εi=1 y i ( w ⋅ x i + b ) = 0 y_i(w\cdot x_i+b)=0 yi(wxi+b)=0样本点在分离超平面之上
      • ε i &gt; 1 \varepsilon_i&gt;1 εi>1 y i ( w ⋅ x i + b ) &lt; 0 y_i(w\cdot x_i+b)&lt;0 yi(wxi+b)<0样本点在分离超平面之误分类一侧
    • α i = 0 \alpha_i=0 αi=0,此时 μ i = C \mu_i=C μi=C,且 ε i = 0 \varepsilon_i=0 εi=0, y i ( w ⋅ x i + b ) &gt; 1 y_i(w\cdot x_i+b)&gt;1 yi(wxi+b)>1,此时样本点是被分离超平面明确分类正确的点,对分离超平面的 w , b 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=i=1Nαiyixi,虽说w值唯一,但 α \alpha α的解不唯一, ε \varepsilon ε的解不唯一。假如两个点分别为正负样本点,都在间隔平面内,当间隔平面平行移动时,正负样例点距正负间隔平面距离之和是不变的。

找到最优解 α ∗ \alpha^* α中满足 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<α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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &amp;=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned} wb=i=1Nαiyixi=yji=1Nαiyixixj
求得分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x + b^* =0 wx+b=0,分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x + b^*) f(x)=sign(wx+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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0Cαi0,i=1,2,,N
    与线性可分向量机的区别在于 α i \alpha_i αi的取值范围。
  • 获得 w ∗ , b ∗ w^*,b^* w,b找到最优解 α ∗ \alpha^* α中满足 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<α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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &amp;=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned} wb=i=1Nαiyixi=yji=1Nαiyixixj

对于 w ∗ = ∑ i = 1 N α i ∗ y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i w=i=1Nαiyixi 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 b=yji=1Nαiyixicj值,只由 α i ≠ 0 \alpha_i \neq0 αi̸=0的样本决定,即支持向量决定。

7.2.3合页损失

线性支持向量机的另一种解释,最小化结构化风险
∑ 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 i=1N[1yi(wxi+b)]++λw2

  • 合页损失函数:
    L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w\cdot x+b))=[1-y(w\cdot x +b)]_+ L(y(wx+b))=[1y(wx+b)]+
    其中
    [ z ] + = { z , z &gt; 0 0 , z ⩽ 0 [z]_+=\begin{cases}z,&amp;z&gt;0\\0,&amp;z\leqslant0\end{cases} [z]+={z,0,z>0z0
    当样本点被正确分类,且函数间隔(确信度)大于1时,损失0;在间隔边界另一侧的样本(分类正确但确信度不够大,或分类错误的样本),损失为 1 − y ( w ⋅ x + b ) 1-y(w\cdot x +b) 1y(wx+b).
  • 等价于线性支持向量机
    1 − y i ( w ⋅ x i + b ) = ε i 1-y_i(w\cdot x_i +b)=\varepsilon_i 1yi(wxi+b)=εi, ε i ⩾ 0 \varepsilon_i \geqslant 0 εi0
    那么 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 mini=1N[1yi(wxi+b)]++λw2等价于 min ⁡ ∑ i = 1 N ε i + λ ∣ ∣ w ∣ ∣ 2 \min \quad \sum_{i=1}^N\varepsilon_i + \lambda||w||^2 mini=1Nεi+λw2 λ = 1 2 C \lambda = \frac{1}{2C} λ=2C1
    等价于 min ⁡ C ∑ i = 1 N ε i + 1 2 ∣ ∣ w ∣ ∣ 2 \min \quad C\sum_{i=1}^N\varepsilon_i + \frac{1}{2}||w||^2 minCi=1Nεi+21w2
7.3非线性支持向量机

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

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

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

  • 通常直接计算K(x,z)

最优解

  • 获得 α ∗ \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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαii=1Nαiyi=0Cαi0,i=1,2,,N
  • 获得 w ∗ , b ∗ w^*,b^* w,b找到最优解 α ∗ \alpha^* α中满足 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<α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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i \phi(x_i) \\ b^* &amp;=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} wb=i=1Nαiyiϕ(xi)=yji=1Nαiyiϕ(xi)ϕ(xj)=yji=1NαiyiK(xi,xj)
  • 分离超平面
    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) &amp;= sign(w^*\cdot \phi(x) + b^*)\\ &amp;=sign(\sum_{i=1}^N\alpha_i^*y_i \phi(x_i)\cdot \phi(x) + b^*) \\ &amp;=sign(\sum_{i=1}^N\alpha_i^*y_i K(x_i,x) + b^*) \end{aligned} f(x)=sign(wϕ(x)+b)=sign(i=1Nαiyiϕ(xi)ϕ(x)+b)=sign(i=1NαiyiK(xi,x)+b)
7.3.2 常用核函数
  • 多项式核函数(polynomial kernel function)
    K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z) = (x\cdot z+1)^p K(x,z)=(xz+1)p
    此时分类决策函数为
    f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x + 1 ) p + b ∗ ) f(x) = sign(\sum_{i=1}^N\alpha_i^*y_i (x_i\cdot x+1)^p + b^*) f(x)=sign(i=1Nαiyi(xix+1)p+b)
  • 高斯核函数(Gaussian kernel function)
    K ( x , z ) = e x p ( − ∥ x − z ∥ 2 2 σ 2 ) K(x,z) = exp(-\frac{\parallel x-z \parallel^2}{2\sigma^2}) K(x,z)=exp(2σ2xz2)
    对应的支持向量机是高斯径向基函数(radius basis function)分类器。此时分类决策函数是
    f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i e x p ( − ∥ x i − z ∥ 2 2 σ 2 ) + b ∗ ) f(x) = sign(\sum_{i=1}^N\alpha_i^*y_i exp(-\frac{\parallel x_i-z \parallel^2}{2\sigma^2}) + b^*) f(x)=sign(i=1Nαiyiexp(2σ2xiz2)+b)
7.4线性可分向量机、线性支持向量机、非线性支持向量机的最优解总结

线性可分向量机

  • 获得 α ∗ \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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad \alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,,N
  • 获得 w ∗ , b ∗ 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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &amp;=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned} wb=i=1Nαiyixi=yji=1Nαiyixixj

线性支持向量机

  • 获得 α ∗ \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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0Cαi0,i=1,2,,N
    与线性可分向量机的区别在于 α i \alpha_i αi的取值范围。
  • 获得 w ∗ , b ∗ w^*,b^* w,b找到最优解 α ∗ \alpha^* α中满足 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<α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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i x_i \\ b^* &amp;=y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot x_j \end{aligned} wb=i=1Nαiyixi=yji=1Nαiyixixj

对于 w ∗ = ∑ i = 1 N α i ∗ y i x i w^* =\sum_{i=1}^N\alpha_i^*y_i x_i w=i=1Nαiyixi 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 b=yji=1Nαiyixicj值,只由 α i ≠ 0 \alpha_i \neq0 αi̸=0的样本决定,即支持向量决定。

非线性支持向量机

  • 获得 α ∗ \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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαii=1Nαiyi=0Cαi0,i=1,2,,N

  • 获得 w ∗ , b ∗ w^*,b^* w,b找到最优解 α ∗ \alpha^* α中满足 0 &lt; α i ∗ &lt; C 0&lt;\alpha^*_i&lt;C 0<α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^* &amp;=\sum_{i=1}^N\alpha_i^*y_i \phi(x_i) \\ b^* &amp;=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} wb=i=1Nαiyiϕ(xi)=yji=1Nαiyiϕ(xi)ϕ(xj)=yji=1NαiyiK(xi,xj)

区别

  • 线性可分向量机利用硬间隔最大化, α i ⩾ 0 \alpha_i \geqslant 0 αi0
  • 线性支持向量机利用软间隔最大化, C ⩾ α i ⩾ 0 C \geqslant \alpha_i \geqslant 0 Cαi0
  • 非线性向量机利用核技巧, C ⩾ α i ⩾ 0 C \geqslant \alpha_i \geqslant 0 Cαi0,用 K ( x i , x j ) K(x_i,x_j) K(xi,xj)代替 x i ⋅ x j x_i\cdot x_j xixj
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 , ⋯ &ThinSpace; , N \begin{aligned} \max_{\alpha} &amp;\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. &amp;\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &amp;\quad C \geqslant\alpha_i \geqslant 0,i=1,2,\cdots,N \end{aligned} αmaxs.t.21i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαii=1Nαiyi=0Cαi0,i=1,2,,N
每次选择两个 α \alpha α变量去优化,使所有的 α \alpha α变量一直满足 ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 i=1Nαiyi=0的条件。


KKT条件

原始条件 min ⁡ x ∈ R n f ( x ) s . t . c i ( x ) ⩽ 0 , i = 1 , 2 , ⋯ &ThinSpace; , k h j ( x ) = 0 , j = 1 , 2 , ⋯ &ThinSpace; , l \begin{aligned} \min_{x \in R^n} \quad &amp;f(x) \\ s.t. \quad &amp;c_i(x)\leqslant0,i=1,2,\cdots,k \\ &amp; h_j(x)=0,j=1,2,\cdots,l \end{aligned} xRnmins.t.f(x)ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l KKT条件 ∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 ∇ α L ( x ∗ , α ∗ , β ∗ ) = 0 ∇ β L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , ⋯ &ThinSpace; , k c i ( x ∗ ) ⩽ 0 , i = 1 , 2 , ⋯ &ThinSpace; , k α i ∗ ⩾ 0 , i = 1 , 2 , ⋯ &ThinSpace; , k h j ( x ∗ ) = 0 , j = 1 , 2 , ⋯ &ThinSpace; , 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,&amp; \quad i=1,2,\cdots,k\\ c_i(x^*)\leqslant 0 ,&amp; \quad i=1,2,\cdots,k\\ \alpha_i^* \geqslant 0,&amp; \quad i=1,2,\cdots,k \\ h_j(x^*) =0 ,&amp; \quad j=1,2,\cdots,j \end{aligned} xL(x,α,β)=0αL(x,α,β)=0βL(x,α,β)=0αici(x)=0,ci(x)0,αi0,hj(x)=0,i=1,2,,ki=1,2,,ki=1,2,,kj=1,2,,j


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值