SVM支持向量机系列理论(二) 线性可分SVM模型的对偶问题

2.1 对偶问题

2.1.1 原始问题的转换

a. 转换形式

SVM算法的经典问题是一个凸二次规划模型,求解这个问题比较复杂。

m i n   w , b     1 2 | | w | | 2

s . t .       y i ( w x i + b ) 1         ( i = 1 , . . . , N )                   ( 7 )

(7)这个问题其实等价于“对拉格朗日函数     L ( w , b , α ) 求关于拉格朗日乘子 α 的最大, 然后再对     L ( w , b , α ) 求关于 w , b 的最小,”即(7)可以写为:

p = m i n w , b m a x α   , α i 0 L ( w , b , α ) = m i n w , b θ P ( w , b )                   ( 8 )


b. 证明过程

这个转换其实就是把约束条件 g i ( w ) 0 转化到拉格朗日函数中去

m a x α   , α i 0 L ( w , b , α ) 表示对L取关于a的最后大化,观察拉格朗日函数的形式:

L ( w , b , α ) = f ( w ) + a i g ( w i ) ; α i 0

现在, a i 0 ,对 L ( w , b , α ) 作关于 α 的最大化,那么:

  • g ( w i ) 0 (即满足约束条件)时,L(w,b,a)的最大为 f(w);

  • g ( w i ) > 0 时,L(w,b,a)的最大为正无穷大。

这样 m a x α   , α i 0 L ( w , b , α ) 是一个分段函数。第一段是满足约束条件时,有函数f(w),第二段是一个正无穷大。这时要对这个分段函数取min,那么肯定是选择对满足约束条件时的f(w)取min,因为第二段是正无穷大。

这样,就把一个约束问题转化成无约束问题。

注:

这里还可以看出 L ( w , b , α ) 要最大,那么必须有 α i g ( w i ) = 0 也就是拉格朗日乘子和约束中至少有一个为0;这就是KKT条件中的松弛互补条件


2.2.2 强对偶性和弱对偶性

上面提到,原始问题可以转化为拉格朗日函数的无约束问题:

p = m i n w , b m a x α   , α i 0 L ( w , b , α ) = m i n w , b θ P ( w , b )                   ( 8 )

那么,其对偶问题可以写为:

d = m a x α   , α i 0 m i n w , b L ( w , b , α ) = m a x α θ D ( α )                   ( 9 )

实际上,对偶问题的解是原始问题的一个下界 d p ,这个性质叫做 弱对偶性。若在 kkt条件或者slater条件下,有 d = p ,则称为 强对偶性

由于该问题是凸二次规划问题,且该问题有解。因此只要满足Slater条件),那么强对偶性成立(统计学习定理C.2)。 那么可以将原始问题转化为对偶问题的求解:

p = d = L ( w , b , α )                   ( 10 )

在svm的原始问题其实刚好满足Slater条件(“若原始问题为凸优化问题, 存在一个w,使得 g i ( w ) < 0 ”成立),因为如果存在一个 w , g i ( w ) 0 ,那么总能通过把 w 放大或缩小一定倍数,使得这个约束变成严格成立,也就是slater条件成立。

综上所述,现在求解原始问题转化为求解对偶问题
d = m a x α   , α i 0 m i n w , b L ( w , b , α )


2.3.3 SVM模型的对偶问题形式求解

第一步,写出拉格朗日函数     L ( w , b , α )

L ( w , b , α ) = 1 2 | | w | | 2 + i = 1 N α i g i ( x )

                                    = 1 2 | | w | | 2 + i = 1 N α i ( 1 y i ( w x i + b ) )

                                    = 1 2 | | w | | 2 + i = 1 N α i i = 1 N α i y i ( w x i + b ) )                   ( 11 )

拉格朗日函数     L ( w , b , α ) 对w,b求偏导数并令其为0,得:

w L ( w , b , α ) = w i = 1 N α i y i x i = 0

w = i = 1 N α i y i x i                   ( 12 )

b L ( w , b , α ) = i = 1 N α i y i = 0

i = 1 N α i y i = 0                   ( 13 )


第二步, 求 m i n w , b L ( w , b , α ) .

将上面求偏导数的结果(12)、(13)式代入(11)中的拉格朗日函数,即得到 m i n w , b L ( w , b , α )

m i n w , b L ( w , b , α ) = 1 2 j = 1 N α i α j y i y j ( x i x j ) i = 1 N α i y i ( ( j = 1 N α j y j x j ) x i + b ) + i = 1 N α i

= 1 2 j = 1 N α i α j y i y j ( x i x j ) + i = 1 N α i                   ( 14 )


第三步,求 m a x α m i n w , b L ( w , b , α ) .即是对偶问题:

m a x α         1 2 j = 1 N α i α j y i y j ( x i x j ) + i = 1 N α i

s . t .         i = 1 N α i y i = 0

                        α i 0 , i = 1 , 2 , . . . , N                   ( 15 )


第四步,转化为等价的一般形式对偶问题

m i n α         1 2 j = 1 N α i α j y i y j ( x i x j ) i = 1 N α i

s . t .         i = 1 N α i y i = 0

                        α i 0 , i = 1 , 2 , . . . , N                   ( 16 )

这就得到了线性可分SVM的对偶问题模型,可以用SMO算法求解出对偶问题的最优解 α = ( α 1 , . . . , α N )

然后就可以计算 w b .

w = i = 1 N α i y i x i                   ( 17 )

b = y j i = 1 N α i y i ( x i x j )                   ( 18 )

具体证明利用了KKT条件。这里注意KKT条件是强对偶 d = p `的充分必要条件。而上面的问题是强对偶,因此必须满足kkt条件。(17)利用kkt条件中拉格朗日函数对w求偏导数等于零,(18)利用kkt条件中互补松弛条件 α i g i ( w ) = 0 ,并且注意 1 = y j 2


证明:

KKT条件如下:

w L ( w , b , α ) = w i = 1 N α i y i x i = 0                   ( I )

b L ( w , b , α ) = i = 1 N α i y i = 0                   ( I I )

α i [ y i ( w x i + b ) 1 ] = 0       i = 1 , 2 , . . . , N                   ( I I I )

y i ( w x i + b ) 1 0 ;       i = 1 , 2 , . . . , N                   ( I V )

α i 0 ;       i = 1 , 2 , . . . , N                   ( V )

由(I),得:

w = i = 1 N α i y i x i                   ( 17 )

由(III)互补松弛条件得:

y j ( w x j + b ) 1 = 0                  

y j ( ( i = 1 N α i y i x i ) x j + b ) y j 2 = 0                  

b = y j i = 1 N α i y i ( x i x j )

  • 计算 b 只需要一个 α j > 0 的点

  • 计算 w 只需要所有 α > 0 的点,并且注意得到,w 其实就是 x的线性组合,而且x都是支持向量的x。

因此,从这可以看出最佳分离超平面只依赖于支持向量。


2.3.4 支持向量的再定义

由互补松弛条件,我们有

α i [ y i ( w x i + b ) 1 ] = 0       i = 1 , 2 , . . . , N                   ( I I I )

因此,当 α i > 0 时,必有 y j ( w x j + b ) 1 = 0                   α i > 0 对应的样本点 ( x i , y i ) 是支持向量,从(17)、(18)来看, w , b 依赖于 α i > 0 的样本点。

参考博文:

http://www.cnblogs.com/ooon/p/5723725.html

猜你喜欢

转载自blog.csdn.net/promisejia/article/details/81273859
今日推荐