SVM 是机器学习中的一种经典方法,除了硬间隔 SVM 之外,还包括软间隔 SVM,核技巧等 SVM 的变种,本文主要介绍硬间隔 SVM的推导。
假设两类样本点是可以被准确分开的,那么则可以使用硬间隔 SVM 来进行分类,假设分隔的超平面方程为w⋅x+b=0,则每个样本点xi到该超平面的距离为∣w⋅xi+b∣,如果设定与超平面之间的距离为正的点为正分类,即yi=+1,相反负距离的点为负分类,即yi=−1,那么可以将样本点到分离超平面的距离表示为γ^i=yi(w⋅xi+b),这称为样本点到分离超平面之间的函数距离。
令γ^=min(γ^i),即为最小函数距离。需要注意到,函数距离γ^i=yi(w⋅xi+b)在w和b同时增大某个比例倍数时,函数间隔会增大但是超平面不会发生改变,此时便需要将超平面的w进行约束,比如令∣∣w∣∣=1,我们可以重新定义距离为γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b),称之为几何距离,令γ=min(γi),即可以得到γ=∣∣w∣∣γ^。
那么最大化分隔距离的优化问题即可表示如下:
maxw,bγs.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2...n
即
maxw,b∣∣w∣∣γ^s.t.yi(w⋅xi+b)≥γ^,i=1,2...n
注意上式中,函数间隔γ^的取值并不会影响最优化问题的解,不妨假设γ^=1,并且注意到最大化∣∣w∣∣1与最小化21∣∣w∣∣2等价,那么上述问题即可以等价为:
minw,b21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0
上述问题即为一个不等式约束的最优化问题,可以利用拉格朗日乘子法与 KKT 条件来求解,令α=[α1,α2,α3,...,αn]T,首先构造拉格朗日函数为:L(w,b,α)=21∣∣w∣∣2−∑iαiyi(w⋅xi+b)+∑iαi
假设W∗,b∗,α∗是优化问题的最优解,那么根据 KKT 条件,W∗,b∗,α∗一定满足以下方程:
∇wL(w∗,b∗,α∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,α∗)=−i=1∑Nαi∗yi=0αi∗(yi(w∗⋅xi+b∗)−1)=0yi(w∗⋅xi+b∗)−1≥0αi∗≥0(1)(2)(3)(4)(5)
KKT 条件主要包括几个方面的内容:1.拉格朗日函数对于原始优化变量的梯度为 0,如(1)和(2)2.拉格朗日乘子和不等式约束的左式(化为标准形式)的乘积全为 0,如(3)3.原问题的约束条件,如(4)4.拉格朗日乘子非负,如(5)
由(1)和(2)可以得到:
w∗=i∑Nαi∗yixii∑Nαi∗yi=0
根据拉格朗日对偶性,原问题可以化为:
minw,b maxα 21∣∣w∣∣2−i∑αiyi(w⋅xi+b)+i∑αi,αi≥0
即
maxα minw,b 21∣∣w∣∣2−i∑αiyi(w⋅xi+b)+i∑αi,αi≥0
其中minw,b 21∣∣w∣∣2−∑iαiyi(w⋅xi+b)+∑iαi问题的最优解由 KKT 条件可以得到为w∗=∑iNαi∗yixi,并且有∑iNαi∗yi=0,代入上式即可将原问题化为:
maxαs.t.−21i∑j∑αiαjyiyj(xi⋅xj)+i∑αiαi≥0
在求解了α∗之后,即可根据w∗=∑iNαi∗yixi求得w∗,由于分离超平面的参数是w∗,b∗决定的,而分离超平面由αi=0的αi,xi,yi决定的,因此再选取任意j使得αj=0,得到b∗=yj−w∗⋅xj,这样便可以得到分离超平面w∗⋅x+b∗=0。
对于上面的求解α∗的优化问题,我们在下文将会介绍 SMO 算法来求解