支持向量机系列导航
对于一个线性分类问题,有数据Data={xi,yi}i=1N,xi∈Rp,yi∈{+1,−1}, 即有N个数据样本需要分类,每个样本xi为p维向量,yi取值为 +1or−1
上一节将支持向量机模型转化为如下凸二次规划问题
b,wmin21wTw s.t. 1−yn(wTxn+b)≤0,n=1,2,...,N
通常,当N,p比较小的时候,可以直接交给库函数来求解。但是当N很大或者引入核方法后,可能会导数样本维度为巨大甚至为无穷大,此时可以通过拉格朗日乘子法引入其对偶问题来求解。
通过求解对偶问题得到原始问题的最优解,就是支持向量机的对偶算法。采用对偶算法,有优点:
- 对偶问题一般更容易求解
- 自然引入核函数,进而推广到非线性分类问题。
原优化问题的对偶问题
首先构造其拉格朗日函数,为此,对每一个不等式约束引入拉格朗日乘子ai≥0, I = 1,2,..,N, 拉格朗日函数如下:
L(w,b,α)=21wTw+i=1∑Nαi(1−yi(wTxi+b)),i=1,2,...,N
这时,原优化问题就等价于如下无约束问题:
w,bminαmaxL(w,b,α) s.t. αi≥0,i=1,2,…,N
原问题和以上无约束问题为什么等价?理解如下(逻辑理解,非数理证明)
上述无约束问题(P)的对偶问题(D)为如下极大极小问题:
αmaxw,bminL(w,b,α) s.t. αi≥0,i=1,2,…,N
所以,为了得到对偶问题的解,需要先对L(w,b,α)对w,b求极小,再求对α的极大。
- 求minw,bL(w,b,α)
将拉格朗日函数L(w,b,α)分别对w,b求偏导并令其为0。
先对L(w,b,α)进行化解,如下:
L(w,b,α)=21wTw+i=1∑Nαi(1−yi(wTxi+b))=21wTw+i=1∑Nαi−i=1∑NαiyiwTxi−i=1∑Nαiyib
对w,b求偏导如下:
∂b∂L(w,b,α)=−i=1∑Nαiyi∂w∂L(w,b,α)=w−i=1∑Nαiyixi
令偏导为0,则有
i=1∑Nαiyi=0w=i=1∑Nαiyixi
将求得的w(式(4))带入拉格朗日函数(式(2)),并利用式(5),可得
L(w,b,α)=21i−1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαiyi((j=1∑Nαjyjxj)⋅xi+b)+i=1∑Nαi=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
即
L(w,b,λi)=−21i=1∑Nj=1∑NλiλjyiyjxiTxj+i=1∑Nαi
- 求minw,bL(w,b,α)对α的极大,即对偶问题
αmax s.t. i=1∑Nαi−21i=1∑Nj=1∑NαiαjyiyjxiTxji=1∑Nαiyi=0αi≥0,i=1,2,…,N
将上式子的目标函数由求极大转换为求极小,就得到下面与之等价的对偶最优化问题
αmin s.t. 21i=1∑Nj=1∑NαiαjyiyjxiTxj−i=1∑Nαii=1∑Nαiyi=0αi≥0,i=1,2,…,N
考虑原始最优化问题 (1) (3) 和对偶优化问题(8)。原始优化问题与对偶问题为强对偶关系。所以存在w∗,b∗,α∗, 使得w∗,b∗是原问题的解,α∗为对偶问题的解。这意味着求解原始问题(1)(3)可以转换为求解对偶问题(8)。此外因为是强对偶关系,所以满足KKT条件(强对偶与KKT条件为充要关系)。
假设对偶问题最优化问题对α的解为α∗,那么可以由α∗根据KKT条件求得原始最优化问题对w,b的解w∗,b∗如下,其中xk为任意一边界上的数据点。
w^b∗=i=1∑Nλiyixi=yk−i=1∑NλiyixiTxk
证明 KKT条件如下:
综上,分离超平面可写为:
i=1∑Nαi∗yi(x⋅xi)+b∗=0
分类决策函数可以写为:
f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
分类决策函数只依赖于输入x 和训练样本输入的内积
注可以发现,w∗,b∗ 均为输入数据的线性组合。
总结
对于给定的线性可分训练数据集,可以首先求其对偶问题的解α∗,再求得原始问题的解w∗,b∗。从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法。
具体来看,SVM原始优化问题为凸二次规划问题,由拉格朗日对偶性将原始问题转为对偶问题,因为SVM原始优化问题为凸二次规划,所以原始问题与对偶问题满足强对偶关系,所以求得对偶问题的解即为原始问题的解。因为满足强对偶关系,进而满足kkt条件,所以求解对偶问题的时候,可以用α 求出 w,b。
