硬间隔SVM模型定义(最大间隔分类器)

SVM有三宝:间隔、对偶、核技巧 。其中核技巧/核函数是SVM之前就有的,可使SVM从普通特征空间映射到高维空间,实现一定的非线性分类。

SVM分类:hard-margin SVM、soft-margin SVM、kenel SVM 下面先介绍hard-margin SVM。

SVM最初用来进行二分类(+1、-1):
【白板推导系列&西瓜书学习笔记】SVM
超平面:wTx+b=0w^{T}x + b = 0
判别模型:f(w)=sign(wTx+b)f(w) = sign(w^{T}x + b)
样本点:{(xi,yi)}i=1N,xiRp,yi{1,1}\{ (x_{i},y_{i}) \}^{N}_{i=1},x_{i}\in \mathbb{R}^{p},y_{i}\in \{-1,1\}

如何从多条分类直线中找到分类分得最好的那一条呢?
找到最中间的一条线,使其离样本点的距离最大。数学表达式为:
max   margin(w,b)max\ \ \ margin (w,b)
s.t.{wTxi+b>0,yi=+1wTxi+b<0,yi=1s.t.\left\{\begin{matrix} w^{T}x_{i}+b > 0 ,& y_{i} = +1\\ w^{T}x_{i}+b < 0 ,& y_{i} = -1 & \end{matrix}\right. i.e.   yi(wTxi+b)>0, i=1,2,...,N\ \ y_{i} (w^{T}x_{i}+b) > 0 ,\ i=1,2,...,N
其中margin(w,b)=minw,b,xi,i=1,2,...,Ndistance(w,b,xi)margin(w,b)=min_{w,b,x_{i},i=1,2,...,N}distance(w,b,x_{i})
其中distance=1wwTxi+bdistance=\frac{1}{\left \| w \right \|}\left | w^{T}x_{i}+b \right |为样本点到直线的距离。

整理之后得到:
maxw,b1wminxi,i=1,2,...,N   yi(wTxi+b)max_{w,b}\frac{1}{\left \| w \right \|}min_{x_{i},i=1,2,...,N}\ \ \ y_{i}(w^{T}x_{i}+b)
s.t.   yi(wTxi+b)>0, i=1,2,...,Ns.t.\ \ \ y_{i} (w^{T}x_{i}+b) > 0 ,\ i=1,2,...,N
   min yi(wTxi+b)=γ, i=1,2,...,N\ \ \ min\ y_{i} (w^{T}x_{i}+b)=\gamma ,\ i=1,2,...,N

又为了避免w,bw,b的缩放带来的同一条直线可由无数对w,bw,b表示的问题,令   γ=1\ \ \ \gamma=1,这样,当w,bw,b取不同值时代表的是不同的直线。,然后将最大化的优化问题转化为最小化的优化问题,得到:
minw,bwmin_{w,b}\left \| w \right \|
s.t.   yi(wTxi+b)1, i=1,2,...,Ns.t.\ \ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N

最后转化为二次凸优化问题:
minw,b  12wTwmin_{w,b}\ \ \frac{1}{2}w^{T}w
s.t.   yi(wTxi+b)1, i=1,2,...,Ns.t.\ \ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N

这里12\frac{1}{2}是为了求导时简便。样本不多的时候,可用QP问题的套件解决,求解比较复杂时再引入对偶或者核函数方法。

硬间隔SVM模型求解(对偶问题)

求解:
minw,b  12wTwmin_{w,b}\ \ \frac{1}{2}w^{T}w
s.t.  yi(wTxi+b)1, i=1,2,...,Ns.t.\ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N

首先引入拉格朗日乘子写出上式的拉格朗日函数:
L(w,b,λ)=12wTw+i=1Nλi(1yi(wTxi+b))\mathcal{L}(w,b,\lambda )=\frac{1}{2}w^{T}w+\sum_{i=1}^{N}\lambda_{i}(1-y_{i}(w^{T}x_{i}+b)), 其中λ0,(1yi(wTxi+b))0\lambda\geq0,(1-y_{i}(w^{T}x_{i}+b))\leq0
这样就将原来带约束的优化问题转化为了如下不带约束的优化问题:
minw,bmaxλ   L(w,b,λ)min_{w,b}max_{\lambda}\ \ \ \mathcal{L}(w,b,\lambda )
s.t.  λi0s.t.\ \ \lambda_{i}\geq0

转换后的数学模型和原模型是等价的,因为原模型的约束含在了maxλ   L(w,b,λ)max_{\lambda}\ \ \ \mathcal{L}(w,b,\lambda )里,仅满足原约束时,L(w,b,λ)\mathcal{L}(w,b,\lambda)才存在最大值且最大值是12wTw\frac{1}{2}w^{T}w,否则为正无穷,此时目标函数与原模型也是一致的。

下面来写原问题的对偶问题
maxλminw,b   L(w,b,λ)max_{\lambda}min_{w,b}\ \ \ \mathcal{L}(w,b,\lambda )
s.t.  λi0s.t.\ \ \lambda_{i}\geq0

因为凸优化二次规划问题天生满足强对偶,即minmax f=maxmin fminmax\ f=maxmin\ f所以对偶问题和原问题同解。下面对对偶问题进行求解:
Lb=i=1Nλiyi=0\frac{\partial \mathcal{L}}{\partial b}=-\sum_{i=1}^{N}\lambda_{i}y_{i}=0
i=1Nλiyi=0\sum_{i=1}^{N}\lambda_{i}y_{i}=0 代入 L(w,b,λ)\mathcal{L}(w,b,\lambda)得:
L(w,b,λ)=12wTw+i=1Nλii=1NλiyiwTxi\mathcal{L}(w,b,\lambda)=\frac{1}{2}w^{T}w+\sum_{i=1}^{N}\lambda_{i}-\sum_{i=1}^{N}\lambda_{i}y_{i}w^{T}x_{i}

Lw=wi=1Nλiyixi=0\frac{\partial \mathcal{L}}{\partial w}=w-\sum_{i=1}^{N}\lambda_{i}y_{i}x_{i}=0 w=i=1Nλiyixiw=\sum_{i=1}^{N}\lambda_{i}y_{i}x_{i}。 代入 L(w,b,λ)\mathcal{L}(w,b,\lambda)得:
L(w,b,λ)=12i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi\mathcal{L}(w,b,\lambda)=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}+\sum_{i=1}^{N}\lambda_{i}

下面再求L(w,b,λ)=12i=1Nj=1NλiλjyiyjxiTxji=1Nλi\mathcal{L}(w,b,\lambda)=\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda_{i}λ\lambda 的最小值。这也是一个凸优化QP问题,可用QP套件。

下面介绍KKT条件
{Lw=0Lb=0Lλ=0λi(1yi(wiT+b))=0λi01yi(wiT+b)0\left\{\begin{matrix} &\frac{\partial \mathcal{L}}{\partial w}=0 \frac{\partial \mathcal{L}}{\partial b}=0 \frac{\partial \mathcal{L}}{\partial \lambda}=0 \\ &\lambda_{i}(1-y_{i}(w_{i}^{T}+b))=0 & \\ &\lambda_{i}\geq0 & \\ &1-y_{i}(w_{i}^{T}+b)\leq0 & \end{matrix}\right.

以上是前面模型对应的KKT条件,第二条为互补松弛条件。原问题和对偶问题是强对偶关系的充要条件是他们满足KKT条件。根据KKT条件可以求出最后的w,bw^{*},b^{*}。且ww^{*}的求解只跟wTx+b=±1w^{T}x+b=±1上的样本点有关,因为只有这些样本点的λi\lambda_{i}可以不为0,这些点称为支持向量。

核函数

原始样本空间也许并不能线性可分,可将样本映射到一个更高维的空间,使其能够线性可分。若原始空间为有限维则一定存在一个高维空间可使其线性可分。
【白板推导系列&西瓜书学习笔记】SVM
ϕ(x)\phi (x)表示映射到高维空间后的特征向量,带入前一小节的数学模型中,最终可以得到类似于L(w,b,λ)=12i=1Nj=1NλiλjyiyjxiTxji=1Nλi\mathcal{L}(w,b,\lambda)=\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda_{i} 的表达式,只是xx变为ϕ(x)\phi (x), 要求其关于λi\lambda_{i}的最小值。其中涉及到 ϕ(x)Tϕ(x)\phi (x)^{T}\phi(x), 高维空间的维数过高时很难求解,所以这里引入核函数。
【白板推导系列&西瓜书学习笔记】SVM
xi,xjx_{i},x_{j}在高维空间的内积等于他们在原始空间中通过函数k(,)k( , )计算的结果。这样就能简化计算。那么,如何确定核函数?

任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”地特征空间

【白板推导系列&西瓜书学习笔记】SVM
函数组合得到和函数的方式

  1. 若k1,k2为核函数,则对任意正数r1,r2, 其线性组合r1k1+r2k2也是核函数
  2. 若k1,k2为核函数,则核函数的直积k1k2(x,z)=k1(x,z)k2(x,z)k_{1}\bigotimes k_{2}(x,z)=k_{1}(x,z)k_{2}(x,z)也是核函数。
  3. 若k1为核函数,则对任意函数g(x),g(x)k1(x,z)g(z)g(x)k_{1}(x,z)g(z)也是核函数。

软间隔与正则化

现实任务中很难确定合适的核函数使训练样本在特征空间线性可分,即使找到了也无法断定是否是过拟合的结果。一个缓解办法是允许SVM在一些样本上出错。
【白板推导系列&西瓜书学习笔记】SVM
在最大化间隔的同时,分类错误的样本应该越少越好,于是优化目标变为:
【白板推导系列&西瓜书学习笔记】SVM
其中
【白板推导系列&西瓜书学习笔记】SVM
为损失函数,C是一个正常数。l0/1l_{0/1}非凸不连续不好计算,于是用数学性质更好的替代损失函数【白板推导系列&西瓜书学习笔记】SVM
优化目标的前一部分称为“结构风险”,用来最大化间隔,后一部分称为“经验风险“,用来描述模型与训练参数之间的契合度。C用于对二者进行折中。

支持向量回归SVR

现考虑回归问题。有一些D={(x1,y1),...,(xm,ym)}D=\{(x_{1},y_{1}),...,(x_{m},y_{m})\}训练样本,希望得到形如f(x)=wTx+bf(x)=w^{T}x+b的回归模型。传统回归方法用f(x)与y之间的差异计算损失,但SVR不同。假设我们容忍f(x)与y之间最多有ϵ\epsilon的偏差。落入2ϵ2\epsilon间隔带内的样本不计损失。
【白板推导系列&西瓜书学习笔记】SVM
于是SVR问题可形式化为:
【白板推导系列&西瓜书学习笔记】SVM
其中
【白板推导系列&西瓜书学习笔记】SVM
ϵ\epsilon不敏感损失。

SVM的难点

SVM是针对二分类任务设计的,也有改进为多分类任务的算法。核函数直接决定了SVM和核方法的最终性能,但核函数的选取仍是一个未决问题。多核学习实际上借助了集成学习的方法。另外还有替代函数的一致性问题,已有相关一些研究。

相关文章: