SVM即支持向量机作为神经网络复兴前的最强大模型,建模和推导有着严密的数学推导作为基础,在训练完成后计算速度也较快,得到了广泛的应用。本文先阐述SVM的基本问题和推导过程,再引入软间隔的SVM,最后引入核函数和求解方法。
问题引入
考虑简单的二分类问题,我们想找一个“最好”的超平面来分隔两类样本。可以看到,在样本点线性可分的情况下,能够找到多个超平面。但其中黑色超平面直观上来看是最合理的,所有样本点到黑色超平面的距离都比较远。新来一个样本时,由于噪声或训练集局限性(采样)等因素,新样本可能更加接近超平面,导致分类错误,而黑色超平面受的影响最小,因为所有样本到它的距离都比较远,泛化能力最强。
样本空间中,超平面方程如下:
wTx+b=0
样本空间中任意一点
x0
到超平面的距离为:
r=|wTx0+b|||w||
如何描述这个“最好”的超平面?我们引入两条“间隔”超平面作为“楚河汉界”,现在我们的目标变为:在满足所有样本点位于边界外的基础上(分类正确),使“楚河汉界”最宽(泛化能力最强)。
我们取两条间隔线为
wTx+b=±k
,在任意间隔线上取一点,到另一间隔线的距离即为“楚河汉界”宽度,等于
d=2k||w||
,此时我们的目标变为:
max d
s.t. wTx+b≥k, y=1
wTx+b≤−k, y=−1
由于目标为最大间隔,而
k
相当于衡量宽度的一个尺度,取不同尺度只会改变目标函数的优化程度,为了之后模型推导的方便,取
k=1
。目标等价变为:
min 12||w||2
s.t. yi(wTx+b)≥1, ∀xi
在该问题中,约束条件为仿射函数,为凸二次规划问题,可以直接求解。但推导得到等价的对偶问题后,可以更高效地求解。
拉格朗日乘数法与对偶问题
不失一般性,定义原问题
p∗
如下:
min f(w)
s.t.gi(w)≤0
构造拉格朗日函数:
L(w,α)=f(w)+∑iαigi(w)
定义:
θp(w)=maxαi≥0L(w,α)
有:
θp(w)={f(w)+∞限制满足限制不满足
在
αi≥0
的前提下,若不满足
gi(w)≤0
,可取不满足的约束,取对应
αi
为无穷,则函数为无穷。此时原问题
p∗
的等价表述为:
min f(w)=min θp(w)=minmaxαi≥0L(w,α) 即为p∗
得到对偶问题
d∗
为:
maxαi≥0minL(w,α)=maxαi≥0θD(w) 令为d∗其中 θD(w)=minL(w,α)
当满足KKT条件时:
⎧⎩⎨⎪⎪αi≥0gi(w)≤0αigi(w)=0
原问题和对偶问题有相同的解。
SVM对偶问题
回到SVM原问题
p∗
:
min 12||w||2
s.t. yi(wTx+b)≥1, ∀xi
构造拉格朗日算子,显然有:
f(w)=12||w||2
gi(w)=1−yi(wTxi+b)≤0
L(w,α)=f(w)+∑iαigi(w)
通过解对偶问题来解原问题
maxαi≥0minL(w,α)=maxαi≥0θD(w) 其中 θD(w)=minw,bL(w,α)
对于
L(w,α)
,极值在偏导为0处取到(注意此时
L只是关于w和b的函数
),令:
∂L∂w=0, ∂L∂b=0
得到:
w=∑iαiyixi, ∑iαiyi=0
将
w
代回
L
,得到:
minw,bL=∑iαi−12∑i∑jαiαjyiyjxTixj, 记为W(α)
可以看到
L
只是关于
α
的函数,对偶问题即为:
d∗=maxW(α)
s.t. αi≥0, ∑iαiyi=0
此时回过头来,我们看KKT条件,易得若
αi>0
,则有
gi(w)=0
,即
yi(wTxi+b)=1
,
xi
位于间隔超平面上,我们称这样的样本为支持向量。当我们求解得到
αi
代入后,由
w=∑iαiyixi
即可得到
w
,由任意一支持向量均满足
gi(w)=0
,将
w,xi,yi
代入即可得到
b
,最终判别函数为:
f(x)=wTx+b=(∑iαiyixTi)x+b=∑iαiyi(xTix)+b
对于所有非支持向量的样本,有
αi=0
,即在最终的判别函数中只有支持向量起作用,故SVM可以看做一系列支持向量的“加权和”构成的模型。
本文总结了SVM的建模来由、对偶问题和模型推导过程,最终得到了SVM对偶问题的形式和判别函数。其余内容下文再续。