硬间隔SVM模型定义(最大间隔分类器)
SVM有三宝:间隔、对偶、核技巧 。其中核技巧/核函数是SVM之前就有的,可使SVM从普通特征空间映射到高维空间,实现一定的非线性分类。
SVM分类:hard-margin SVM、soft-margin SVM、kenel SVM 下面先介绍hard-margin SVM。
SVM最初用来进行二分类(+1、-1):

超平面:wTx+b=0
判别模型:f(w)=sign(wTx+b)
样本点:{(xi,yi)}i=1N,xi∈Rp,yi∈{−1,1}
如何从多条分类直线中找到分类分得最好的那一条呢?
找到最中间的一条线,使其离样本点的距离最大。数学表达式为:
max margin(w,b)
s.t.{wTxi+b>0,wTxi+b<0,yi=+1yi=−1 i.e. yi(wTxi+b)>0, i=1,2,...,N
其中margin(w,b)=minw,b,xi,i=1,2,...,Ndistance(w,b,xi)
其中distance=∥w∥1∣∣wTxi+b∣∣为样本点到直线的距离。
整理之后得到:
maxw,b∥w∥1minxi,i=1,2,...,N yi(wTxi+b)
s.t. yi(wTxi+b)>0, i=1,2,...,N
令 min yi(wTxi+b)=γ, i=1,2,...,N。
又为了避免w,b的缩放带来的同一条直线可由无数对w,b表示的问题,令 γ=1,这样,当w,b取不同值时代表的是不同的直线。,然后将最大化的优化问题转化为最小化的优化问题,得到:
minw,b∥w∥
s.t. yi(wTxi+b)≥1, i=1,2,...,N
最后转化为二次凸优化问题:
minw,b 21wTw
s.t. yi(wTxi+b)≥1, i=1,2,...,N
这里21是为了求导时简便。样本不多的时候,可用QP问题的套件解决,求解比较复杂时再引入对偶或者核函数方法。
硬间隔SVM模型求解(对偶问题)
求解:
minw,b 21wTw
s.t. yi(wTxi+b)≥1, i=1,2,...,N
首先引入拉格朗日乘子写出上式的拉格朗日函数:
L(w,b,λ)=21wTw+∑i=1Nλi(1−yi(wTxi+b)), 其中λ≥0,(1−yi(wTxi+b))≤0
这样就将原来带约束的优化问题转化为了如下不带约束的优化问题:
minw,bmaxλ L(w,b,λ)
s.t. λi≥0
转换后的数学模型和原模型是等价的,因为原模型的约束含在了maxλ L(w,b,λ)里,仅满足原约束时,L(w,b,λ)才存在最大值且最大值是21wTw,否则为正无穷,此时目标函数与原模型也是一致的。
下面来写原问题的对偶问题:
maxλminw,b L(w,b,λ)
s.t. λi≥0
因为凸优化二次规划问题天生满足强对偶,即minmax f=maxmin f所以对偶问题和原问题同解。下面对对偶问题进行求解:
∂b∂L=−∑i=1Nλiyi=0
将 ∑i=1Nλiyi=0 代入 L(w,b,λ)得:
L(w,b,λ)=21wTw+∑i=1Nλi−∑i=1NλiyiwTxi
∂w∂L=w−∑i=1Nλiyixi=0 即w=∑i=1Nλiyixi。 代入 L(w,b,λ)得:
L(w,b,λ)=−21∑i=1N∑j=1NλiλjyiyjxiTxj+∑i=1Nλi
下面再求L(w,b,λ)=21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi 对λ 的最小值。这也是一个凸优化QP问题,可用QP套件。
下面介绍KKT条件:
⎩⎪⎪⎨⎪⎪⎧∂w∂L=0∂b∂L=0∂λ∂L=0λi(1−yi(wiT+b))=0λi≥01−yi(wiT+b)≤0
以上是前面模型对应的KKT条件,第二条为互补松弛条件。原问题和对偶问题是强对偶关系的充要条件是他们满足KKT条件。根据KKT条件可以求出最后的w∗,b∗。且w∗的求解只跟wTx+b=±1上的样本点有关,因为只有这些样本点的λi可以不为0,这些点称为支持向量。
核函数
原始样本空间也许并不能线性可分,可将样本映射到一个更高维的空间,使其能够线性可分。若原始空间为有限维则一定存在一个高维空间可使其线性可分。

用ϕ(x)表示映射到高维空间后的特征向量,带入前一小节的数学模型中,最终可以得到类似于L(w,b,λ)=21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi 的表达式,只是x变为ϕ(x), 要求其关于λi的最小值。其中涉及到 ϕ(x)Tϕ(x), 高维空间的维数过高时很难求解,所以这里引入核函数。

即xi,xj在高维空间的内积等于他们在原始空间中通过函数k(,)计算的结果。这样就能简化计算。那么,如何确定核函数?
任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”地特征空间。

函数组合得到和函数的方式:
- 若k1,k2为核函数,则对任意正数r1,r2, 其线性组合r1k1+r2k2也是核函数
- 若k1,k2为核函数,则核函数的直积k1⨂k2(x,z)=k1(x,z)k2(x,z)也是核函数。
- 若k1为核函数,则对任意函数g(x),g(x)k1(x,z)g(z)也是核函数。
软间隔与正则化
现实任务中很难确定合适的核函数使训练样本在特征空间线性可分,即使找到了也无法断定是否是过拟合的结果。一个缓解办法是允许SVM在一些样本上出错。

在最大化间隔的同时,分类错误的样本应该越少越好,于是优化目标变为:

其中

为损失函数,C是一个正常数。l0/1非凸不连续不好计算,于是用数学性质更好的替代损失函数。
优化目标的前一部分称为“结构风险”,用来最大化间隔,后一部分称为“经验风险“,用来描述模型与训练参数之间的契合度。C用于对二者进行折中。
支持向量回归SVR
现考虑回归问题。有一些D={(x1,y1),...,(xm,ym)}训练样本,希望得到形如f(x)=wTx+b的回归模型。传统回归方法用f(x)与y之间的差异计算损失,但SVR不同。假设我们容忍f(x)与y之间最多有ϵ的偏差。落入2ϵ间隔带内的样本不计损失。

于是SVR问题可形式化为:

其中

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