1. Basic SVM
- 训练样本集:{(xi,yi),i=1,2,⋯,m=m++m−}{(xi,yi),i=1,2,⋯,m=m++m−},其中,xi∈Rn,yi∈{+1,−1}xi∈Rn,yi∈{+1,−1}
- 目标 1):找到一个超平面{x|wTx+b=0}{x|wTx+b=0}对训练样本集进行分割。使得不同类别间的间隔尽可能大。
- 分类方程:
H(x)=wTx+bH(x)=wTx+b
在任一点 xx 处,若 H(x)>0,则 xx 属于第 I 类;若 H(x)<0,则 xx 属于第 II 类。
1) 建模
假设分割两类样本点的超平面P的方程为 {x|wTx+b=0},则总可以通过调节系数(两端同乘以一个系数)使得两类中距离超平面最近点分别位于平面P1: {x|wTx+b=+1}{x|wTx+b=+1}和平面P2: {x|wTx+b=−1}{x|wTx+b=−1}上。同时,P1和P2间的距离为:2‖w‖22‖w‖2
关于P1与P2间的距离为2‖w‖22‖w‖2的证明:
ww的方向为平面P的法向量方向(即与平面垂直)。对于平面上任一点x,有:wTx+b=0wTx+b=0,即‖w‖⋅‖x‖⋅cosθ=0‖w‖⋅‖x‖⋅cosθ=0,其中,θθ为ww和x的夹角。因此,有‖x‖⋅cosθ=b‖w‖‖x‖⋅cosθ=b‖w‖。其中,‖x‖⋅cosθ‖x‖⋅cosθ为点xx在w方向的投影,即为平面P到原点的距离。而P1与P2间的距离可以由P2到原点的距离减去P1到原点的距离求得,因此P1与P2见的距离为2‖w‖22‖w‖2
以上,我们便得到了如下的优化问题:
maxw,b s.t. 2‖w‖2wTxi+b≥1,where yi=+1,i=1,2,⋯,m+wTxj+b≤−1,where yj=−1,j=1,2,⋯,m−(1)(2)(3)(1)maxw,b 2‖w‖2(2)s.t. wTxi+b≥1,where yi=+1,i=1,2,⋯,m+(3)wTxj+b≤−1,where yj=−1,j=1,2,⋯,m−
为了便于求解,该问题可以转换为:
【式-0】优化问题表达式
minw,b s.t. 12wTwyi(wTxi+b)≥1,i=1,2,⋯,m(4)(5)(4)minw,b 12wTw(5)s.t. yi(wTxi+b)≥1,i=1,2,⋯,m
由于上述优化问题为凸优化问题,因此可以通过求解对偶问题来求解上述问题。
2) Lagrange乘子法求解 对偶问题:
【式-1】
L(w,b,α)=12wTw−∑i=1mαi[yi(wTxi+b)−1]L(w,b,α)=12wTw−∑i=1mαi[yi(wTxi+b)−1]
上式中,
αiαi为对偶变量。
原问题的对偶问题为
maxαinfw,bL(w,b,α)maxαinfw,bL(w,b,α)
因此,由KKT条件:
【式-2】
∂L(w,b,α)∂w=0∂L(w,b,α)∂b=0⇒w=∑i=1mαiyixi⇒∑i=1mαiyi=0(6)(7)(6)∂L(w,b,α)∂w=0⇒w=∑i=1mαiyixi(7)∂L(w,b,α)∂b=0⇒∑i=1mαiyi=0
将
式-2 中的结果代入
式-1,有:
L(w,b,α)=∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxTixjL(w,b,α)=∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxiTxj
因此,对偶问题可以表达为:
【式-3】对偶问题
maxαs.t. ∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxTixjαi≥0,i=1,2,⋅,m∑i=1mαiyi=0(8)(9)(10)(8)maxα∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxiTxj(9)s.t. αi≥0,i=1,2,⋅,m(10)∑i=1mαiyi=0
假设原问题和对偶问题的最优解为w∗,b∗,α∗w∗,b∗,α∗,由互补松弛条件:
α∗i[yi(xTiw∗+b∗)−1]=0αi∗[yi(xiTw∗+b∗)−1]=0
因此,与alpha∗i>0alphai∗>0对应的xixi即为支持向量:满足$y_i(x_i^Tw^+b^) = \pm 1。由此可以解得所有变量:
w∗=∑i=1mα∗iyixiw∗=∑i=1mαi∗yixi
b∗=yi−(w∗)Txib∗=yi−(w∗)Txi
为了提高模型的稳定性,
b∗b∗通常由下式求得:
b∗=1|S|∑i∈S[yi−(w∗)Txi]b∗=1|S|∑i∈S[yi−(w∗)Txi]
其中,
SS为支持向量构成的集合。
对于任一新样本 z,可以通过下式给出其类别:
sign[(w∗)z+b∗]=sign(∑i=1mα∗iyixTiz+b∗)sign[(w∗)z+b∗]=sign(∑i=1mαi∗yixiTz+b∗)
2. Soft Margin SVM
1) 线性惩罚项
【式-4】优化问题表达式
minw,b s.t. 12wTw+C∑i=1mξiyi(wTxi+b)≥1−ξi,i=1,2,⋯,mξi≥0,i=1,2,⋯,m(11)(12)(13)(11)minw,b 12wTw+C∑i=1mξi(12)s.t. yi(wTxi+b)≥1−ξi,i=1,2,⋯,m(13)ξi≥0,i=1,2,⋯,m
【式-5】对偶问题表达式
maxαs.t. ∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxTixj0≤αi≤C,i=1,2,⋅,m∑i=1mαiyi=0(14)(15)(16)(14)maxα∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxiTxj(15)s.t. 0≤αi≤C,i=1,2,⋅,m(16)∑i=1mαiyi=0
【式-6】互补松弛条件
α∗i[yi(xTiw∗+b∗)−1+ξi]=0αi∗[yi(xiTw∗+b∗)−1+ξi]=0
因此,支持向量是 在分类超平面margin以内的所有点。
注意,由 式-6,b∗=yi−yiξi−(w∗)Txib∗=yi−yiξi−(w∗)Txi,然而由于通过求解对偶问题并不能得到ξiξi的最优值,因此依照xii=0xii=0计算即可,即
b∗=1|S|∑i∈S[yi−(w∗)Txi]b∗=1|S|∑i∈S[yi−(w∗)Txi]
对新样本的判别函数与 basic SVM相同,即:
sign[(w∗)z+b∗]=sign(∑i=1mα∗iyixTiz+b∗)sign[(w∗)z+b∗]=sign(∑i=1mαi∗yixiTz+b∗)
2) 二次惩罚项
【式-7】优化问题表达式
minw,b s.t. 12wTw+C∑i=1mξ2iyi(wTxi+b)≥1−ξi,i=1,2,⋯,mξi≥0,i=1,2,⋯,m(17)(18)(19)(17)minw,b 12wTw+C∑i=1mξi2(18)s.t. yi(wTxi+b)≥1−ξi,i=1,2,⋯,m(19)ξi≥0,i=1,2,⋯,m
【式-8】对偶问题表达式
maxαs.t. ∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxTixj−14C∑i=1m(αi+βi)2αi≥0,βi≥0,i=1,2,⋅,m∑i=1mαiyi=0(20)(21)(22)(20)maxα∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxiTxj−14C∑i=1m(αi+βi)2(21)s.t. αi≥0,βi≥0,i=1,2,⋅,m(22)∑i=1mαiyi=0
显然,β∗i=0βi∗=0。因此对偶问题可以进一步写作:
maxαs.t. ∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxTixj−14C∑i=1mα2iαi≥0,i=1,2,⋅,m∑i=1mαiyi=0(23)(24)(25)(23)maxα∑i=1mαi−12∑i=1m∑j=1myiyjαiαjxiTxj−14C∑i=1mαi2(24)s.t. αi≥0,i=1,2,⋅,m(25)∑i=1mαiyi=0
【注意】
惩罚项可以是任意函数,但需要保证优化问题的凸性。与线性惩罚项相比,二次惩罚项对奇异点更敏感。