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

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

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

7.1 线性可分支持向量机

7.1.2 概念

和感知机的区别

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

支持向量机的决策函数

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

函数间隔

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

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

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

支持向量

  • 支持向量:在线性可分的情况下,训练数据集的样本点中与分离超平距离最近的样本点实例称为支持向量。满足:
    yi(wxi+b)1=0 y_i(w\cdot x_i + b)-1=0
  • 支撑超平面:正例支持向量所在的超平面,wx+b=1w\cdot x +b = 1,负例支持向量所在的超平面,wx+b=1w\cdot x +b=-1
  • 间隔,两个支撑超平面的距离:2w\frac{2}{||w||}
  • 支持向量在确定分离超平面中起决定性作用。
    《统计学习方法》第七章: 支持向量机 读书笔记
    函数间隔和几何间隔的关系
  • w=1||w||=1时,函数间隔与集合间隔相等
  • 当w,b成比例改变时,函数间隔也按比例改变,但几何间隔不变

硬间隔最大化

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

求解目标
maxw,brs.t.yi(wwxi+bw)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的数据数目,等价于
maxw,br^ws.t.yi(wxi+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,上述问题等价于
minw,b12w2s.t.yi(wxi+b)10,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}

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

拉格朗日函数
L(w,b,α)=12w2i=1Nαi[yi(wxi+b)]+i=1Nα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
其中αi0\alpha_i \geqslant0,原问题为
minw,bmaxαL(w,b,α) \min_{w,b} \quad \max_\alpha L(w,b,\alpha)
拉格朗日对偶问题
maxαminw,bL(w,b,α) \max_\alpha \quad \min_{w,b}L(w,b,\alpha)

  • w,bw,b求导,得到最小值L(α)L(\alpha)
    L(w,b,α)w=wi=1Nαiyixi=0L(w,b,α)b=i=1Nαiyi=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}
  • 带入L得到L(α)L(\alpha)
    L(α)=12i=1Nj=1Nαiαjyiyjxixji=1Nαiyi(j=1Nαjyjxj)xii=1Nαiyib+i=1Nαi=12i=1Nj=1Nαiαjyiyjxixj+i=1Nα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α12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0αi0,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[yi(wxi+b)1]=0\alpha_i^*[y_i(w\cdot x_i+b) -1]=0,得到w,bw^*,b^*
    • αi>0\alpha^*_i>0时,yi(wxi+b)1=0y_i(w\cdot x_i+b) -1=0,此时样本点为支持向量
    • yi(wxi+b)1>0y_i(w\cdot x_i+b) -1> 0时,αi=0\alpha^*_i=0,样本点不是支持向量机.
      找到最优解α\alpha^*中大于0的分量,设此项index为j,得到:
      w=i=1Nαiyixib=yji=1Nαiyixixj \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}
      求得分离超平面wx+b=0w^*\cdot x + b^* =0,分类决策函数f(x)=sign(wx+b)f(x)=sign(w^*\cdot x + b^*)

最优解

  • 获得α\alpha^*
    maxα12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0αi0,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,bw^*,b^*找到最优解α\alpha^*中大于0的分量,设此项index为j
    w=i=1Nαiyixib=yji=1Nαiyixixj \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向量,支持向量(yi(wxi+b)=1y_i(w\cdot x_i + b)=1)对应的αi>0\alpha_i >0,其他样本(yi(wxi+b)>1y_i(w\cdot x_i + b)>1)对应的αi=0\alpha_i =0。所以对于w=i=1Nαiyixiw^* =\sum_{i=1}^N\alpha_i^*y_i x_ib=yji=1Nαiyixicjb^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j值,只由αi0\alpha_i \neq0的样本决定,即支持向量决定。
《统计学习方法》第七章: 支持向量机 读书笔记

7.2线性支持向量机

  • 对于一些近似线性可分数据,由于存在一些特异点,模型不能把所有的样本都分类正确。
7.2.1软件隔最大化概念
  • 所有样本点的函数间隔不能都满足大于样本集的函数间隔这一条件。
  • 所以硬间隔最大化需要修改为软间隔最大化。即对每个样本点引进一个松弛变量εi0\varepsilon_i \geqslant 0
    minw,b12w2+Ci=1Nεis.t.yi(wxi+b)1εi,i=1,2, ,Nεi0,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}
  • 其中εi0\varepsilon_i \geqslant 0是松弛变量;C0C \geqslant 0是惩罚参数,表示对松弛变量的支付代价。
  • 最小化的目标是,使12w2\frac{1}{2}||w||^2尽可能小,即间隔尽量大,同时使误分类点的个数尽量小。
  • 此时w有唯一解,b的解存在一个区间
  • 线性支持向量机包含线性可分向量机(εi=0\varepsilon_i = 0
7.2.3 软间隔最大化数学表示

原问题
minw,b12w2+Ci=1Nεis.t.yi(wxi+b)1εi,i=1,2, ,Nεi0,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,ε,α,μ)=12w2+Ci=1Nεii=1Nαi[yi(wxi+b)1+εi]i=1Nμ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
其中αi0,μi0\alpha_i \geqslant0,\mu_i\geqslant 0,原问题为
minw,b,εmaxα,μL(w,b,ε,α,μ) \min_{w,b,\varepsilon} \quad \max_{\alpha,\mu} L(w,b,\varepsilon,\alpha,\mu)
拉格朗日对偶问题
maxα,μminw,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,ε,α,μ)w=wi=1Nαiyixi=0L(w,b,ε,α,μ)b=i=1Nαiyi=0L(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}
    带入L得到
    L(α,μ)=12i=1Nj=1Nαiαjyiyjxixj+Ci=1Nεii=1Nαiyi(j=1Nαjyjxj)xii=1Nαiyib+i=1Nαii=1Nαiεii=1Nμiεi=12i=1Nj=1Nαiαjyiyjxixj+i=1Nαi+i=1N(Cαiμi)εii=1Nαiyib=12i=1Nj=1Nαiαjyiyjxixj+i=1Nα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α12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0αi0,i=1,2, ,Nμi0,i=1,2, ,NCαiμi=0,i=1,2, ,N(0αiC) \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[yi(wxi+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,bw^*,b^*
    • 0<αi<C0<\alpha^*_i<C时,0<μi0<\mu_i,且εi=0\varepsilon_i=0,此时,yi(wxi+b)1=0y_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<10<\varepsilon_i<10<yi(wxi+b)<10<y_i(w\cdot x_i+b)<1样本点在间隔边界和分离超平面之间
      • εi=1\varepsilon_i=1yi(wxi+b)=0y_i(w\cdot x_i+b)=0样本点在分离超平面之上
      • εi>1\varepsilon_i>1yi(wxi+b)<0y_i(w\cdot x_i+b)<0样本点在分离超平面之误分类一侧
    • αi=0\alpha_i=0,此时μi=C\mu_i=C,且εi=0\varepsilon_i=0,yi(wxi+b)>1y_i(w\cdot x_i+b)>1,此时样本点是被分离超平面明确分类正确的点,对分离超平面的w,bw,b不起作用
      《统计学习方法》第七章: 支持向量机 读书笔记

  • 我对b有多解的直观理解:w的解是唯一的,w=i=1Nαiyixiw^*=\sum_{i=1}^N\alpha_i^*y_i x_i,虽说w值唯一,但α\alpha的解不唯一,ε\varepsilon的解不唯一。假如两个点分别为正负样本点,都在间隔平面内,当间隔平面平行移动时,正负样例点距正负间隔平面距离之和是不变的。
《统计学习方法》第七章: 支持向量机 读书笔记

找到最优解α\alpha^*中满足0<αi<C0<\alpha^*_i<C的分量,设此项index为j,得到:
w=i=1Nαiyixib=yji=1Nαiyixixj \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}
求得分离超平面wx+b=0w^*\cdot x + b^* =0,分类决策函数f(x)=sign(wx+b)f(x)=sign(w^*\cdot x + b^*)
最优解

  • 获得α\alpha^*
    maxα12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0Cαi0,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,bw^*,b^*找到最优解α\alpha^*中满足0<αi<C0<\alpha^*_i<C的分量,设此项index为j
    w=i=1Nαiyixib=yji=1Nαiyixixj \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=1Nαiyixiw^* =\sum_{i=1}^N\alpha_i^*y_i x_ib=yji=1Nαiyixicjb^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j值,只由αi0\alpha_i \neq0的样本决定,即支持向量决定。

7.2.3合页损失

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

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

7.3非线性支持向量机

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

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

核函数数学表达
设X(欧式空间)是输入空间,H为特征空间(希尔伯特),如果存在一个从X到H的映射
ϕ(x):xH \phi(x):x\rightarrow H
使所有的x,zXx,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)

最优解

  • 获得α\alpha^*
    maxα12i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαis.t.i=1Nαiyi=0Cαi0,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,bw^*,b^*找到最优解α\alpha^*中满足0<αi<C0<\alpha^*_i<C的分量,设此项index为j
    w=i=1Nαiyiϕ(xi)b=yji=1Nαiyiϕ(xi)ϕ(xj)=yji=1NαiyiK(xi,xj) \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)=sign(wϕ(x)+b)=sign(i=1Nαiyiϕ(xi)ϕ(x)+b)=sign(i=1NαiyiK(xi,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.3.2 常用核函数
  • 多项式核函数(polynomial kernel function)
    K(x,z)=(xz+1)pK(x,z) = (x\cdot z+1)^p
    此时分类决策函数为
    f(x)=sign(i=1Nαiyi(xix+1)p+b)f(x) = sign(\sum_{i=1}^N\alpha_i^*y_i (x_i\cdot x+1)^p + b^*)
  • 高斯核函数(Gaussian kernel function)
    K(x,z)=exp(xz22σ2)K(x,z) = exp(-\frac{\parallel x-z \parallel^2}{2\sigma^2})
    对应的支持向量机是高斯径向基函数(radius basis function)分类器。此时分类决策函数是
    f(x)=sign(i=1Nαiyiexp(xiz22σ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^*)

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

线性可分向量机

  • 获得α\alpha^*
    maxα12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0αi0,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,bw^*,b^*找到最优解α\alpha^*中大于0的分量,设此项index为j
    w=i=1Nαiyixib=yji=1Nαiyixixj \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^*
    maxα12i=1Nj=1Nαiαjyiyjxixj+i=1Nαis.t.i=1Nαiyi=0Cαi0,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,bw^*,b^*找到最优解α\alpha^*中满足0<αi<C0<\alpha^*_i<C的分量,设此项index为j
    w=i=1Nαiyixib=yji=1Nαiyixixj \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=1Nαiyixiw^* =\sum_{i=1}^N\alpha_i^*y_i x_ib=yji=1Nαiyixicjb^* =y_j - \sum_{i=1}^N\alpha_i^*y_i x_i\cdot c_j值,只由αi0\alpha_i \neq0的样本决定,即支持向量决定。

非线性支持向量机

  • 获得α\alpha^*

maxα12i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαis.t.i=1Nαiyi=0Cαi0,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,bw^*,b^*找到最优解α\alpha^*中满足0<αi<C0<\alpha^*_i<C的分量,设此项index为j
    w=i=1Nαiyiϕ(xi)b=yji=1Nαiyiϕ(xi)ϕ(xj)=yji=1NαiyiK(xi,xj) \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}

区别

  • 线性可分向量机利用硬间隔最大化,αi0\alpha_i \geqslant 0
  • 线性支持向量机利用软间隔最大化,Cαi0C \geqslant \alpha_i \geqslant 0
  • 非线性向量机利用核技巧,Cαi0C \geqslant \alpha_i \geqslant 0,用K(xi,xj)K(x_i,x_j)代替xixjx_i\cdot x_j

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

主要针对求解α\alpha的最优解
maxα12i=1Nj=1NαiαjyiyjK(xi,xj)+i=1Nαis.t.i=1Nαiyi=0Cαi0,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=1Nαiyi=0\sum_{i=1}^N\alpha_iy_i=0的条件。


KKT条件

原始条件 minxRnf(x)s.t.ci(x)0,i=1,2, ,khj(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条件 xL(x,α,β)=0αL(x,α,β)=0βL(x,α,β)=0αici(x)=0,i=1,2, ,kci(x)0,i=1,2, ,kαi0,i=1,2, ,khj(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}