线性支持向量机中KKT条件的讨论

来源:互联网 发布:windows 开启远程桌面 编辑:程序博客网 时间:2024/06/05 02:33

线性支持向量机中KKT条件的讨论

此处的模型为训练样本不可分时的线性支持向量机,简称为线性支持向量机。即考虑松弛变量ξi和惩罚参数C,目标函数为

12w2+Ci=1Nξi

原始问题

则线性不可分的线性支持向量机的学习问题变成如下的凸二次规划(convex quadratic programming)问题,即原始问题

minw,b,ξs.t.12w2+Ci=1Nξiyi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N

对偶问题

原始问题的拉格朗日函数为

L(w,b,ξ,α,μ)=12w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμiξi

对偶问题拉格朗日函数的极大极小问题,得到以下等价优化问题
minαs.t.12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=00αiC,i=1,2,,N

KKT条件

原始问题的解对偶问题的解相同需要满足KKT对偶互补条件,即

αi(yi(wxi+b)1+ξi)=0μiξi=0(1)(2)

对样本xi,记SVM的输出结果为
ui=wxi+b

Platt在序列最小优化(SMO)方法1中提到,对正定二次优化问题(a positive definite QP problem)的优化点的充分必要条件为KKT条件(Karush-Kuhn-Tucker conditions)。
对于所有的i,若满足以下条件,QP问题可解。
αi=0yiui10<αi<Cyiui=1αi=Cyiui1(3)(4)(5)

其中yiui就是每个样本点的函数间隔,分离超平面(w,b)对应的函数间隔γ̂ 取为1.

KKT条件的推导

下面我们将要讨论如何从式(1)、(2)得到式(3) ~ (5)。

(1) αi=0

Cαiμi=0,得

μi=C

则由式(2)可知,
ξi=0

再由原始问题的约束条件yi(wxi+b)1ξi,有
yiui1

(2) 0<αi<C

μi乘到式(1),有

μiαiyiuiμiαi+μiαiξi=0μiαi(yiui1)=0

Cαiμi=0,则
(Cαi)αi(yiui1)=0

因为0<αi<C,所以
yiui=1

又由式(1),有
yiui=1ξiξi=0

(3) αi=C
由式(1),有

yiui1+ξi=0yiui=1ξi(6)

因为ξi0,所以
yiui1

即可得式(3) ~ (5),KKT条件得以推导。

KKT条件的几何解释

在线性不可分的情况下,将对偶问题的解α=(α1,α2,,αN)T中对应于αi>0的样本点(xi,yi)称为支持向量2。
如下图所示,分离超平面由实线表示,间隔用虚线表示,正例由“o”表示,负例由“x”表示。实例xi到间隔边界的距离为ξiw

软间隔的支持向量

软间隔的支持向量xi或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在分离超平面误分一侧
这里可以从两种角度来解释,第一种角度就像李航在《统计学习方法》第113页中用到间隔边界的距离边界ξiw。因为,1ξiw为样本点xi到分类超平面的距离,1w是分类间隔到分类超平面的距离,可以根据ξi的大小来判断分类情况。

αi<C,则ξi=0,支持向量xi恰好落在间隔边界上;
αi=C,0<ξi<1,则分类正确,xi在间隔边界与分离超平面之间;
αi=C,ξi=1,则xi在分离超平面上;
αi=C,ξi>1,则xi位于分离超平面误分一侧。

现在我们要从另外一种角度,也就是KKT条件(式(3)~(5)),通过数学推导来得到上面的结果。

在间隔边界上

由式(3)可知,当0<αi<C时,yiui=1,则分类正确,且ui=±1,即在分类间隔边界上。

在间隔边界与分离超平面之间

αi=C,0<ξi<1时,由式(6)得

0<yiui<1

则说明yi,ui同号,分类正确,且函数间隔小于1,即在间隔边界内。

在分离超平面上

αi=C,ξi=1时,由式(6)得

yiui=0ui=0

xi在分离超平面上。

在分离超平面误分一侧

αi=C,ξi>1时,由式(6)得

yiui<0

则分类错误,xi在分离超平面误分的一侧。

以上就是对线性支持向量机中KKT条件的仔细讨论,从公式推导和几何意义上一同解释了为什么αiC的大小关系决定支持向量的位置
这是我在看书的时候不是很明白的问题,现在通过理论上的推导能够清楚地得到结果,也希望能够解答其他有同样问题人的疑惑。

问题是越思考越清楚,希望在今后的学习中继续保持这种认真对待知识的态度。


  1. Platt J. Sequential minimal optimization: A fast algorithm for training support vector machines[J]. 1998. ↩
  2. 李航. 统计学习方法[J]. 清华大学出版社, 北京, 2012. ↩
阅读全文
1 0
原创粉丝点击