在前三篇中,一直有一个问题未解决,就是如何求解对偶问题。
SVM的对偶问题如下
这是一个凸二次规划问题,现已有许多求解该问题的方法。
SMO(Sequential Minimal Optimization)是针对求解SVM的Lagrange对偶问题的高效算法。
一、KKT条件
根据第一篇
https://blog.csdn.net/csdn_lzw/article/details/79757715
的定理知对偶问题的解的充要条件是解满足KKT条件。
也就是说如果所有变量的解都满足KKT条件,那么这个问题的解就得到了。
支持向量机的KKT条件
解的偏导=0
解满足不等式约束,
拉格朗日乘子大于0
对偶互补:拉格朗日乘子大于0时,解的不等式约束的等号成立
另一个角度的KKT条件
α∗i=0 α i ∗ = 0 公式4 ⇒ ⇒ μ∗i>0 μ i ∗ > 0 , 公式10 ⇒ ⇒ ξ∗i=0 ξ i ∗ = 0 ,公式5 ⇒ ⇒ yig(xi)≥1 y i g ( x i ) ≥ 1
0<α∗i<C 0 < α i ∗ < C 公式4 ⇒ ⇒ μ∗i>0 μ i ∗ > 0 , 公式10 ⇒ ⇒ ξ∗i=0 ξ i ∗ = 0 ,公式9 ⇒ ⇒ yig(xi)=1 y i g ( x i ) = 1
α∗i=C
α
i
∗
=
C
公式4
⇒
⇒
μ∗i=0
μ
i
∗
=
0
,公式6,9
⇒
⇒
yig(xi)≤1
y
i
g
(
x
i
)
≤
1
上面的推导知,公式7,8成立。
因此这种角度的KKT条件涵盖了原来的所有KKT条件公式,且更简洁。
α∗i=0
α
i
∗
=
0
的样本点,函数间隔大于等于1,属于分类正确的点;
α∗i>0
α
i
∗
>
0
的样本点,都属于支持向量。其中又分为两种:
0<α∗i<C
0
<
α
i
∗
<
C
,函数间隔等于1,样本点是恰好在间隔边界上的支持向量;
α∗i=C
α
i
∗
=
C
, 支持向量落在间隔边界与超平面之间,或者在超平面误分的一侧。
第二篇的第四部分有详细说明
https://blog.csdn.net/csdn_lzw/article/details/79794233
二、SMO
疑问
1.什么叫作违反KKT条件最严重的样本点,不是只有满足和不满足,怎么体现严重