[机器学习]SVM的推导(1)

硬间隔的SVM推导

SVM是机器学习中的一种经典方法,除了硬间隔SVM之外,还包括软间隔SVM,核技巧等SVM的变种,本文主要介绍硬间隔SVM的推导。

假设两类样本点是可以被准确分开的,那么则可以使用硬间隔SVM来进行分类,假设分隔的超平面方程为 wx+b=0 w ⋅ x + b = 0 ,则每个样本点 xi x i 到该超平面的距离为 |wxi+b| | w ⋅ x i + b | ,如果设定与超平面之间的距离为正的点为正分类,即 yi=+1 y i = + 1 ,相反负距离的点为负分类,即 yi=1 y i = − 1 ,那么可以将样本点到分离超平面的距离表示为 γ^i=yi(wxi+b) γ ^ i = y i ( w ⋅ x i + b ) ,这称为样本点到分离超平面之间的函数距离

γ^=min(γ^i) γ ^ = m i n ( γ ^ i ) ,即为最小函数距离。需要注意到,函数距离 γ^i=yi(wxi+b) γ ^ i = y i ( w ⋅ x i + b ) w w b b 同时增大某个比例倍数时,函数间隔会增大但是超平面不会发生改变,此时便需要将超平面的 w w 进行约束,比如令 ||w||=1 | | w | | = 1 ,我们可以重新定义距离为 γi=yi(w||w||xi+b||w||) γ i = y i ( w | | w | | ⋅ x i + b | | w | | ) ,称之为几何距离,令 γ=min(γi) γ = m i n ( γ i ) ,即可以得到 γ=γ^||w|| γ = γ ^ | | w | |

那么最大化分隔距离的优化问题即可表示如下:

maxw,bγs.t.yi(w||w||xi+b||w||)γi=1,2...n m a x w , b γ s . t . y i ( w | | w | | ⋅ x i + b | | w | | ) ≥ γ , i = 1 , 2... n

maxw,bγ^||w||s.t.yi(wxi+b)γ^i=1,2...n m a x w , b γ ^ | | w | | s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2... n

注意上式中,函数间隔 γ^ γ ^ 的取值并不会影响最优化问题的解,不妨假设 γ^=1 γ ^ = 1 ,并且注意到最大化 1||w|| 1 | | w | | 与最小化 12||w||2 1 2 | | w | | 2 等价,那么上述问题即可以等价为:

minw,b12||w||2s.t.yi(wxi+b)10 m i n w , b 1 2 | | w | | 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0

上述问题即为一个不等式约束的最优化问题,可以利用拉格朗日乘子法与KKT条件来求解,令 α=[α1,α2,α3,...,αn]T α = [ α 1 , α 2 , α 3 , . . . , α n ] T ,首先构造拉格朗日函数为:

L(w,b,α)=12||w||2iαiyi(wxi+b)+iαi L ( w , b , α ) = 1 2 | | w | | 2 − ∑ i α i y i ( w ⋅ x i + b ) + ∑ i α i

假设 W,b,α W ∗ , b ∗ , α ∗ 是优化问题的最优解,那么根据KKT条件, W,b,α W ∗ , b ∗ , α ∗ 一定满足以下方程:

wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0αi(yi(wxi+b)1)=0yi(wxi+b)10αi0(1)(2)(3)(4)(5) (1) ∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 (2) ∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 (3) α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 (4) y i ( w ∗ ⋅ x i + b ∗ ) − 1 ≥ 0 (5) α i ∗ ≥ 0

KKT条件主要包括几个方面的内容:
1.拉格朗日函数对于原始优化变量的梯度为0,如(1)和(2)
2.拉格朗日乘子和不等式约束的左式(化为标准形式)的乘积全为0,如(3)
3.原问题的约束条件,如(4)
4.拉格朗日乘子非负,如(5)

由(1)和(2)可以得到:

w=iNαiyixiiNαiyi=0 w ∗ = ∑ i N α i ∗ y i x i ∑ i N α i ∗ y i = 0

根据拉格朗日对偶性,原问题可以化为:

minw,b maxα 12||w||2iαiyi(wxi+b)+iαi,αi0 m i n w , b   m a x α   1 2 | | w | | 2 − ∑ i α i y i ( w ⋅ x i + b ) + ∑ i α i , α i ≥ 0


maxα minw,b 12||w||2iαiyi(wxi+b)+iαi,αi0 m a x α   m i n w , b   1 2 | | w | | 2 − ∑ i α i y i ( w ⋅ x i + b ) + ∑ i α i , α i ≥ 0

其中 minw,b 12||w||2iαiyi(wxi+b)+iαi m i n w , b   1 2 | | w | | 2 − ∑ i α i y i ( w ⋅ x i + b ) + ∑ i α i 问题的最优解由KKT条件可以得到为 w=Niαiyixi w ∗ = ∑ i N α i ∗ y i x i ,并且有 Niαiyi=0 ∑ i N α i ∗ y i = 0 ,代入上式即可将原问题化为:

maxαs.t.12ijαiαjyiyj(xixj)+iαiαi0 m a x α − 1 2 ∑ i ∑ j α i α j y i y j ( x i ⋅ x j ) + ∑ i α i s . t . α i ≥ 0

在求解了 α α ∗ 之后,即可根据 w=Niαiyixi w ∗ = ∑ i N α i ∗ y i x i 求得 w w ∗ ,由于分离超平面的参数是 w,b w ∗ , b ∗ 决定的,而分离超平面由 αi0 α i ≠ 0 αi,xi,yi α i , x i , y i 决定的,因此再选取任意 j j 使得 αj0 α j ≠ 0 ,得到 b=yjwxj b ∗ = y j − w ∗ ⋅ x j ,这样便可以得到分离超平面 wx+b=0 w ∗ ⋅ x + b ∗ = 0

对于上面的求解 α α ∗ 的优化问题,我们在下文将会介绍SMO算法来求解
To be continuue…

你可能感兴趣的:(machine,learning)