2.1 对偶问题
2.1.1 原始问题的转换
a. 转换形式
SVM算法的经典问题是一个凸二次规划模型,求解这个问题比较复杂。
min w,b 12||w||2
s.t. yi(w⋅xi+b)≥1 (i=1,...,N) (7)
(7)这个问题其实等价于“对拉格朗日函数
L(w,b,α)
求关于拉格朗日乘子
α
的最大, 然后再对
L(w,b,α)
求关于
w,b
的最小,”即(7)可以写为:
p∗=minw,bmaxα ,αi≥0L(w,b,α)=minw,bθP(w,b) (8)
b. 证明过程:
这个转换其实就是把约束条件
gi(w)≤0
转化到拉格朗日函数中去。
maxα ,αi≥0L(w,b,α)
表示对L取关于a的最后大化,观察拉格朗日函数的形式:
L(w,b,α)=f(w)+∑ai⋅g(wi);αi≥0
现在,
ai≥0
,对
L(w,b,α)
作关于
α
的最大化,那么:
这样
maxα ,αi≥0L(w,b,α)
是一个分段函数。第一段是满足约束条件时,有函数f(w),第二段是一个正无穷大。这时要对这个分段函数取min,那么肯定是选择对满足约束条件时的f(w)取min,因为第二段是正无穷大。
这样,就把一个约束问题转化成无约束问题。
注:
这里还可以看出
L(w,b,α)
要最大,那么必须有
αig(wi)=0
也就是拉格朗日乘子和约束中至少有一个为0;这就是KKT条件中的松弛互补条件
2.2.2 强对偶性和弱对偶性
上面提到,原始问题可以转化为拉格朗日函数的无约束问题:
p∗=minw,bmaxα ,αi≥0L(w,b,α)=minw,bθP(w,b) (8)
那么,其对偶问题可以写为:
d∗=maxα ,αi≥0minw,bL(w,b,α)=maxαθD(α) (9)
实际上,对偶问题的解是原始问题的一个下界
d∗≤p∗
,这个性质叫做
弱对偶性。若在
kkt条件或者slater条件下,有
d∗=p∗
,则称为
强对偶性。
由于该问题是凸二次规划问题,且该问题有解。因此只要满足Slater条件),那么强对偶性成立(统计学习定理C.2)。 那么可以将原始问题转化为对偶问题的求解:
p∗=d∗=L(w∗,b∗,α∗) (10)
在svm的原始问题其实刚好满足Slater条件(“若原始问题为凸优化问题, 存在一个w,使得
gi(w∗)<0
”成立),因为如果存在一个
w∗,
让
gi(w)≤0
,那么总能通过把
w∗
放大或缩小一定倍数,使得这个约束变成严格成立,也就是slater条件成立。
综上所述,现在求解原始问题转化为求解对偶问题
d∗=maxα ,αi≥0minw,bL(w,b,α)
2.3.3 SVM模型的对偶问题形式求解
第一步,写出拉格朗日函数
L(w,b,α)
L(w,b,α)=12||w||2+∑i=1Nαigi(x)
=12||w||2+∑i=1Nαi(1−yi(wxi+b))
=12||w||2+∑i=1Nαi−∑i=1Nαiyi(wxi+b)) (11)
拉格朗日函数
L(w,b,α)
对w,b求偏导数并令其为0,得:
▽wL(w,b,α)=w−∑i=1Nαiyixi=0
w=∑i=1Nαiyixi (12)
▽bL(w,b,α)=∑i=1Nαiyi=0
∑i=1Nαiyi=0 (13)
第二步, 求
minw,bL(w,b,α)
.
将上面求偏导数的结果(12)、(13)式代入(11)中的拉格朗日函数,即得到
minw,bL(w,b,α)
minw,bL(w,b,α)=12∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑j=1Nαjyjxj)⋅xi+b)+∑i=1Nαi
=−12∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi (14)
第三步,求
maxαminw,bL(w,b,α)
.即是对偶问题:
maxα −12∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi
s.t. ∑i=1Nαiyi=0
αi≥0,i=1,2,...,N (15)
第四步,转化为等价的一般形式对偶问题
minα 12∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi
s.t. ∑i=1Nαiyi=0
αi≥0,i=1,2,...,N (16)
这就得到了线性可分SVM的对偶问题模型,可以用SMO算法求解出对偶问题的最优解
α∗=(α∗1,...,α∗N)
然后就可以计算
w∗
和
b∗
.
w∗=∑i=1Nα∗iyixi (17)
b∗=yj−∑i=1Nα∗iyi(xi⋅xj) (18)
具体证明利用了KKT条件。这里注意KKT条件是强对偶
d∗=p∗
`的充分必要条件。而上面的问题是强对偶,因此必须满足kkt条件。(17)利用kkt条件中拉格朗日函数对w求偏导数等于零,(18)利用kkt条件中互补松弛条件
α∗igi(w)=0
,并且注意
1=y2j
证明:
KKT条件如下:
∇wL(w,b,α)=w∗−∑Ni=1α∗iyixi=0 (I)
∇bL(w,b,α)=−∑Ni=1α∗iyi=0 (II)
α∗i[yi(w∗xi+b∗)−1]=0 i=1,2,...,N (III)
yi(w∗xi+b∗)−1≥0; i=1,2,...,N (IV)
αi≥0; i=1,2,...,N (V)
由(I),得:
w∗=∑Ni=1α∗iyixi (17)
由(III)互补松弛条件得:
yj(w∗xj+b∗)−1=0
yj((∑Ni=1α∗iyixi)⋅xj+b∗)−y2j=0
则:
b∗=yj−∑Ni=1α∗iyi(xi⋅xj)
注:
因此,从这可以看出最佳分离超平面只依赖于支持向量。
2.3.4 支持向量的再定义
由互补松弛条件,我们有
α∗i[yi(w∗xi+b∗)−1]=0 i=1,2,...,N (III)
因此,当
α∗i>0
时,必有
yj(w∗xj+b∗)−1=0
,即
α∗i>0
对应的样本点
(xi,yi)
是支持向量,从(17)、(18)来看,
w∗,b∗
依赖于
α∗i>0
的样本点。
参考博文:
http://www.cnblogs.com/ooon/p/5723725.html