1.1 问题定义
(1) 划分超平面
二维样本空间中,划分平面可以表示为:
w1x1+w2x2+b=0
在高维样本空间中,划分超平面定义如下:
wTx+b=0
其中,
w=(w1,w2,...,wd)为法向量,决定了超平面的方向;
b为位移,决定了超平面与原点之间的距离。
设空间中任一点
x在超平面的投影为
x′,则
x=x′+λw
wTx+b=wT(x′+λw)+b=wTx′+b+λwwT=λwTw
(2) 点到超平面的距离
样本空间中任意点
x到超平面的距离为
γ=∣∣x−x′∣∣=∣∣λw∣∣=∣∣w∣∣λ∣∣w∣∣2=∣∣w∣∣∣wTx+b∣
其中,
∣∣w∣∣=∑i=1nwi2
为
w的L2范数。
(3)支持向量、间隔
假设超平面能将训练样本正确分类,即对于
(xi,yi)∈D,
{wTxi+b>0,yi=+1wTxi+b<0,yi=−1
⇔yi(wTxi+b)>0⇔∃r>0,s.t.minyi(wTxi+b)=r
由于
w与b可任意缩放,令
r=1
⇔yi(wTxi+b)≥1⇔{wTxi+b≥+1,yi=+1wTxi+b≤−1,yi=−1
如下图所示,距离超平面最近的训练样本点是得上式等号成立,称为支持向量(Support vector)。
支持向量到超平面的距离之和为
γ=∣∣w∣∣2,称为间隔(margin)。
(4)最优超平面
能将两类样本划分的超平面有无数多个,具有最大分类间隔的超平面,称为最优超平面。
为找到具有最大间隔的划分超平面,需要
w,bmax∣∣w∣∣1s.t.yi(wTxi+b)≥1(i=1,2,...m)
即
w,bmin21∣∣w∣∣2s.t.yi(wTxi+b)≥1(i=1,2,...m)
1.2 对偶问题
目标函数
21∣∣w∣∣22是凸函数,同时约束条件不等式是仿射的,是一个凸二次规划(convex quadratic programming)问题,可以用优化计算包求解(适用于维度较低的情况)。
另一种更高效的办法是,通过拉格朗日函数(对每条约束添加拉格朗日乘子
αi≥0)将的优化目标转化为无约束的优化函数:
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi[1−yi(wTxi+b)](1)其中
α=(α1,α2,...,αm)
由于引入了朗格朗日乘子,优化目标变成:
w,bminαi≥0maxL(w,b,α)(2)
该优化函数满足满足KTT条件,即
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧αi≥01−yif(xi)≤0αi(yif(xi)−1)=0f(xi)=wTxi+b(3)
对于任意训练样本
(xi,yi),必有
αi=0或
yif(xi)=1。
若
αi=0,则该样本不会在求和式中出现,也就不会对
f(x)有任何影响;
若
αi>0,则必有
yif(xi)=1,该样本点在最大间隔边界上,是一个支持向量。
这显示出支持向量基的一个重要性质:最终模型仅与支持向量有关
因此,根据拉格朗日对偶条件,原问题的对偶问题如下:
αi≥0maxw,bminL(w,b,α)(4)
极大极小问题:先求优化函数对于
w和
b的极小值,再求拉格朗日乘子
α的极大值
L(w,b,α)关于
w和
b极小值可以通过对
w和
b分别求偏导得到:
∂w∂L=0⇒w=i=1∑mαiyixi(5)
∂b∂L=0⇒i=1∑mαiyi=0(6)将
w的值代入
L(w,b,α):
w,bminL(w,b,α)s.t.=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxji=1∑mαiyi=0,αi≥0,i=1,2,...m(7)
原问题最终转换为如下形式的对偶问题:
αi≥0maxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj(8)
s.t.i=1∑mαiyi=0,αi≥0,i=1,2,...m此时,优化函数仅有
α做为参数,可采用SMO(Sequential Minimal Optimization)求解。
1.3 问题求解
SMO算法则采用了一种启发式的方法,它每次只优化两个变量,将其他的变量都视为常数,将复杂的优化算法转化为一个简单的两变量优化问题.
由于
i=1∑mαiyi=0.假如将
α3,α4,...,αm固定,那么
α1,α2之间的关系也确定了。初始化参数后,SMO不断执行以下两个步骤直至收敛:
- 选取一对需更新的变量
αi和
αj;
- 固定
αi和
αj以外的参数,求解获得更新后的
αi和
αj。
解出最优化对应的
α的值
α∗后,可求出
w∗=i=1∑mαi∗yixi
对于任意支持向量
(xs,ys)都有
ysf(xs)=1,即
ys(i∈S∑αiyixiTxs+b)=1
S为所有支持向量的集合,即满足
αs>0对应的样本
(xs,ys),理论上可任意选取支持向量通过上式,求得
b。
一般采取一种更为鲁棒的方法,即计算出每个支持向量
(xs,ys)对应的
bs∗,对其求平均值得到
b∗=S1i=1∑S(ys1−i∈S∑αiyixiTxs)
最终得到分类超平面
w∗Tx+b∗=0,分类决策函数为
f(x)=sign(w∗Tx+b∗)