凸优化学习(二)对偶和SVM

4.4 对偶问题

对于有约束的优化问题。约束优化问题的一般形式为:

minimizesubject.tof0(x)fi(x)0fori=1,2,...,mhi(x)=0fori=1,2,...,p m i n i m i z e f 0 ( x ) s u b j e c t . t o f i ( x ) ≤ 0 f o r i = 1 , 2 , . . . , m h i ( x ) = 0 f o r i = 1 , 2 , . . . , p

拉格朗日函数

合并目标函数与约束条件。

L(x,λ,v)=f0(x)+mi=1λifi(x)+pi=1vihi(x) L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x )

其中,主变量为x,对偶变量为 λ0,v λ ≥ 0 , v

经过这种定义,一般约束问题转换为以下主问题:

p=minx(maxλ,vL(x,λ,v)) p ∗ = m i n x ( m a x λ , v L ( x , λ , v ) )

因为, maxλ,vL(x,λ,v)=f0(x)+maxλ,v(λTf(x)+vTh(x)) m a x λ , v L ( x , λ , v ) = f 0 ( x ) + m a x λ , v ( λ T f ( x ) + v T h ( x ) )

  • 当x在可行域内时, vTh(x)=0 v T h ( x ) = 0 λTf(x)0 λ T f ( x ) ≤ 0 的最大值为0,因此上式 maxλ,vL(x,λ,v)=f0(x) m a x λ , v L ( x , λ , v ) = f 0 ( x )
  • 当x不在可行域,在定义域D内时,如果 hi(x)0 h i ( x ) ≠ 0 ,可以令对应的 vi= v i = ∞ ,从而 maxλ,vL(x,λ,v)= m a x λ , v L ( x , λ , v ) = ∞ ,即 p= p ∗ = ∞ ,该问题不可行。如果 fi(x)0 f i ( x ) ≥ 0 ,也可以令对应的 λi= λ i = ∞ ,从而 maxλ,vL(x,λ,v)= m a x λ , v L ( x , λ , v ) = ∞ ,即 p= p ∗ = ∞ ,该问题不可行。

也就是,x在可行域时,主问题与原约束问题等价。当x不在可行域时,主问题返回 p= p ∗ = ∞ ,原问题不可行。综上,主问题与原问题等价。

对偶函数

定义对偶函数为:

g(λ,v)=minxD(L(x,λ,v))=minxD(f0(x)+f(x)Tλ+h(x)Tv) g ( λ , v ) = m i n x ∈ D ( L ( x , λ , v ) ) = m i n x ∈ D ( f 0 ( x ) + f ( x ) T λ + h ( x ) T v )

括号里的函数 θ(λ,v)=(f0(x)+f(x)Tλ+h(x)Tv) θ ( λ , v ) = ( f 0 ( x ) + f ( x ) T λ + h ( x ) T v ) 可以看作是 λ,v λ , v 的仿射函数( aTx+b a T x + b ) ,仿射函数是既凸且凹的。这里不妨认为是凹函数。根据凸函数的逐点最大性质,可以得到凹函数的逐点最小函数是凹函数。 g(λ,v) g ( λ , v ) θ(λ,v) θ ( λ , v ) 函数的逐点下确界,因此 g(λ,v) g ( λ , v ) 是凹函数 (与原函数的凹凸性质无关)。

注意,这里的x是属于定义域的

对偶函数提供了最优值的下界,证明如下:

如果 x~ x ~ 是一个可行点,则

g(λ,v)=minxDL(x,λ,v)L(x~,λ,v)=f0(x~)+λTf(x~)+vTh(x~)f0(x~)(1)(2)(3) (1) g ( λ , v ) = m i n x ∈ D L ( x , λ , v ) ≤ L ( x ~ , λ , v ) (2) = f 0 ( x ~ ) + λ T f ( x ~ ) + v T h ( x ~ ) (3) ≤ f 0 ( x ~ )

因此,当 x~ x ~ 取最优解时, g(λ,v)f0(x)=p g ( λ , v ) ≤ f 0 ( x ∗ ) = p ∗

对偶问题

定义对偶问题为:

maximumsubject.tog(λ,v)λi0 m a x i m u m g ( λ , v ) s u b j e c t . t o λ i ≥ 0

目标函数为 maxλ0,vminxD(L(x,λ,v)) m a x λ ≥ 0 , v m i n x ∈ D ( L ( x , λ , v ) )

这是一个凹函数在凸集( λ0 λ ≥ 0 )上的最大化问题,也就是凸函数在凸集上的最小化问题。这是一个凸优化问题,其最优解记为 d d ∗ ,对应的极值点为 λ,v λ ∗ , v ∗

其特点是:不论原问题是否为凸优化问题,其对偶问题为凸优化问题,且有 dp d ∗ ≤ p ∗

强弱对偶解释

弱对偶: dp d ∗ ≤ p ∗ ,不论原问题是否为凸优化问题,

强对偶: d=p d ∗ = p ∗ ,通常是不成立的。当时对于凸优化问题,当满足一定条件之后就会成立,这些条件称为限定条件。其中一个比较简单的限定条件是Slater条件。

对于凸优化问题,如果满足Slater条件(对于不等式约束,存在内点x,使得 fi(x)<0,i=1,...,m f i ( x ) < 0 , i = 1 , . . . , m 均成立,且 hi(x)=0 h i ( x ) = 0 )则对偶问题为强对偶。(这是一个充分条件)

注意,在Slater条件中,如果 fi(x),i=1,...k f i ( x ) , i = 1 , . . . k 是仿射函数,则Slater条件简化为:

fi(x)0,i=1,...k,fi(x)<0,i=k+1,...,m,hi(x)=0 f i ( x ) ≤ 0 , i = 1 , . . . k , f i ( x ) < 0 , i = k + 1 , . . . , m , h i ( x ) = 0

从工程角度,凸优化问题通常满足强对偶

从对偶问题求解主问题

假设 fi(x),hi(x) f i ( x ) , h i ( x ) 可微,有KKT条件:

  1. fi(x)0,i=1,...,m f i ( x ∗ ) ≤ 0 , i = 1 , . . . , m λL(x,λ,v)=0 ∇ λ L ( x ∗ , λ , v ) = 0
  2. hi(x)=0,i=1,...,p;vL(x,λ,v)=0 h i ( x ∗ ) = 0 , i = 1 , . . . , p ; 即 ∇ v L ( x ∗ , λ , v ) = 0
  3. λi0 λ i ≥ 0 拉格朗日函数不等式条件
  4. λifi(x)=0 λ i ∗ f i ( x ∗ ) = 0 互补条件, λi,fi(x) λ i ∗ , f i ( x ∗ ) 不同时为零,可以用于筛选解。
  5. xL(x,λ,v)=0 ∇ x L ( x ∗ , λ ∗ , v ∗ ) = 0 f0(x)+mi=1λifi(x)+pi=1vihi(x)=0 ∇ f 0 ( x ∗ ) + ∑ i = 1 m λ i ∗ ∇ f i ( x ∗ ) + ∑ i = 1 p v i ∗ ∇ h i ( x ∗ ) = 0

其中,1,2为主问题可行性条件,3为对偶问题可行性条件,4为互补条件,5为stationarity条件。

互补条件为什么不同时为零

必要性

假设强对偶成立(例如满足Slater条件), (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 是主问题和对偶问题的解,则可以推导得到:

p=f0(x)=d=g(λ,v)=minxD(L(x,λ,v))=minxD(f0(x)+f(x)Tλ+h(x)Tv)(f0(x)+f(x)Tλ+h(x)Tv)f0(x)(4)(5)(6)(7)(8) (4) p ∗ = f 0 ( x ∗ ) = d ∗ = g ( λ ∗ , v ∗ ) (5) = m i n x ∈ D ( L ( x , λ , v ) ) (6) = m i n x ∈ D ( f 0 ( x ) + f ( x ) T λ ∗ + h ( x ) T v ∗ ) (7) ≤ ( f 0 ( x ∗ ) + f ( x ∗ ) T λ ∗ + h ( x ∗ ) T v ∗ ) (8) ≤ f 0 ( x ∗ )

因此,上面的不等式中等号成立,可以得到:

  • λifi(x)=0 λ i ∗ f i ( x ∗ ) = 0 这个称为互补条件
  • g(λ,v)=L(x,λ,v) g ( λ ∗ , v ∗ ) = L ( x ∗ , λ ∗ , v ∗ ) L(x,λ,v) L ( x , λ ∗ , v ∗ ) x x ∗ 处取得极值,因此, xL(x,λ,v)=0 ∇ x L ( x ∗ , λ ∗ , v ∗ ) = 0

因此:如果 (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 是主问题和对偶问题的解,且满足强对偶,则 (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 满足KKT条件。

注意,这里并没有限定原问题是凸问题

充分性

如果 (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 满足KKT条件,则 :

g(λ,v)=(f0(x)+f(x)Tλ+h(x)Tv)=f0(x) g ( λ ∗ , v ∗ ) = ( f 0 ( x ∗ ) + f ( x ∗ ) T λ ∗ + h ( x ∗ ) T v ∗ ) = f 0 ( x ∗ )

第一个等号成立是由于stationarity 条件,第二个等号成立是互补条件。

因此,如果 (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 满足KKT条件,则 (x,λ,v) ( x ∗ , λ ∗ , v ∗ ) 分别是主问题和对偶问题的解。

结论

KKT总是充分条件,当满足强对偶时,是必要条件。

以上称为一阶KKT条件,类比于无约束问题中的梯度等于0(当没有约束时,KKT的第5个条件约减为 f0(x)=0 ∇ f 0 ( x ∗ ) = 0 )。因此,对于凸优化问题,满足一阶KKT条件就满足强对偶,可以通过求解一阶KKT条件得到问题的解。(类比于无约束问题的直接法(梯度为0法))。

对于非凸问题,一阶KKT条件是局部极小解的必要条件,还需要结合二阶KKT条件进行判断。(类比与无约束问题中的梯度=0,可能是极小、极大或鞍点,需要结合Hessian矩阵进行判断)。

总结主对问题

案例

案例1 最小二范数解

该问题是一个凸优化问题,并且满足强对偶,首先写出其拉格朗日形式及对偶函数。为了求出对偶函数的形式,将拉格朗日函数对x求偏导,得到 x x ∗ 关于v的函数。带入得到对偶函数 g(v) g ( v ) 的形式。

原问题转换为对偶问题,再次求得,得到 v,d v ∗ , d ∗ ,并进一步得到 x x ∗

案例2 LP问题

LP问题是典型凸优化问题,写出拉格朗日形式及对偶函数。

观察对偶函数,后一项是关于x的线性变化,类似于一条直线,因此,当系数为0时,会取得0,否则会取得 − ∞ ,因此,对偶函数可以写成如下形式。从而对偶问题也是LP问题。

因此,LP问题的对偶问题也是LP问题。可以采用内点法求解。(具体可以参考Boyd书中的第11章)

4.5 SVM

SVM主要用于求解分类问题,通过扩展也可以求解回归问题(SVR)

SVM建模

对于分类问题(假定线性可分),其目标是求一个超平面 wTx+b w T x + b 将空间划分为两个半空间,分别对应正样本和负样本。这种超平面可能有很多种,要寻找最优的超平面。最优解要具有鲁棒性,能够尽可能的分开这两类样本。

为了数学描述,定义几何间隔(Geometric margin):所有样本点中,距离超平面最近的样本点到超平面的距离。(点到超平面的距离(参见)[1.2.2 超平面])

M=mini(|wTxi+b|w2) M = m i n i ( | w T x i + b | ‖ w ‖ 2 )

因此,SVM的目标函数可以写为:

maxw,b{mini(|wTxi+b|w2)} m a x w , b { m i n i ( | w T x i + b | ‖ w ‖ 2 ) }

下面对目标函数进行化简,首先, |wTxi+b|=yi(wTxi+b) | w T x i + b | = y i ( w T x i + b ) ,这里 yi y i 是样本标签,正样本定义为+1,负样本定义为-1。此时目标函数写为:

maxw,b{1w2mini(yi(wTxi+b))} m a x w , b { 1 ‖ w ‖ 2 m i n i ( y i ( w T x i + b ) ) }

如果将w,b同时缩放k倍,点到超平面的距离( H(y)=|wTy+b|w H ( y ) = | w T y + b | ‖ w ‖ )是不变的。因此,可以通过缩放,使得对于距离超平面最近的点有: yi(wTxi+b)=1 y i ( w T x i + b ) = 1

则, yi(wTxi+b)1 y i ( w T x i + b ) ≥ 1 成立。

此时,目标函数可以写为:

maxw,b{1w2},subject toyi(wTxi+b)1 m a x w , b { 1 ‖ w ‖ 2 } , s u b j e c t   t o y i ( w T x i + b ) ≥ 1

进一步可以写为:1/2是为了求导方便

minw,b{12w22},subject toyi(wTxi+b)1 m i n w , b { 1 2 ‖ w ‖ 2 2 } , s u b j e c t   t o y i ( w T x i + b ) ≥ 1

其几何解释为:下图中 L1:wTx+b=1 L 1 : w T x + b = 1 , L2:wTx+b=1 L 2 : w T x + b = − 1 ,其中红色和蓝色距离超平面最近点的距离都是 1w2 1 ‖ w ‖ 2 ,因此 ρ=2w2 ρ = 2 ‖ w ‖ 2 。SVM的目标就是使得 ρ ρ 最大,最近点到超平面的向量称为支撑向量。

SVM求解

解法一

通过对比4.3节凸优化问题实例中的例子,SVM问题可以转换成标准QP问题。可以直接使用内点法进行求解。但是,当样本数量N很大时,这种方法效率较低。

解法二,SVM对偶问题

首先写出SVM问题的拉格朗日函数:

L(w,b,λ)=12wTw+Ni=1λi(1yi(wTxi+b) L ( w , b , λ ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y i ( w T x i + b )

因此,其对偶问题的最优解为:

d=maxλ0{minw,bL(w,b,λ)} d ∗ = m a x λ ≥ 0 { m i n w , b L ( w , b , λ ) }

其中,对偶函数 minw,bL(w,b,λ) m i n w , b L ( w , b , λ ) 可以通过拉格朗日函数分别对w和b求偏导等于0得到,即

wL(w,b,λ)=wNi=1λiyixi=0w=Ni=1λiyixi ∇ w L ( w , b , λ ) = w − ∑ i = 1 N λ i y i x i = 0 → w = ∑ i = 1 N λ i y i x i

bL(w,b,λ)=Ni=1λiyi=0 ∇ b L ( w , b , λ ) = ∑ i = 1 N λ i y i = 0

将上式得到的w,b带入拉格朗日函数,则对偶问题变为:

maxλsubject.toNi=1λi12Ni=1Ni=jλiλjyiyjxTixjNi=1λiyi=0; λi0;i=1,...,N m a x λ ∑ i = 1 N λ i − 1 2 ∑ i = 1 N ∑ i = j N λ i λ j y i y j x i T x j s u b j e c t . t o ∑ i = 1 N λ i y i = 0 ;   λ i ≥ 0 ; i = 1 , . . . , N

可以看到,上面的问题是关于 λ λ 的QP问题。 QP问题的对偶问题也是QP问题 从这个角度,转换为对偶问题并没有简化SVM的计算量,但是这个问题有一个快速SMO算法。

假定对偶问题能够求解出 λ λ ∗ ,由于SVM问题目标函数为凸函数,且满足Slater条件,因此是强对偶问题。满足KKT条件,则:

yi(wTxi+b)1λi0λi(yi(wTxi+b))=0()w=i=1Nλiyixi;i=1Nλiyi=0(9)(10)(11)(12) (9) y i ( w ∗ T x i + b ∗ ) ≥ 1 (10) λ i ∗ ≥ 0 (11) λ i ∗ ( y i ( w ∗ T x i + b ∗ ) ) = 0 ( 互 补 条 件 ) (12) w ∗ = ∑ i = 1 N λ i ∗ y i x i ; ∑ i = 1 N λ i ∗ y i = 0

从互补条件可以看出:

  • λi>0,yi(wTxi+b)=1 λ i ∗ > 0 , y i ( w ∗ T x i + b ∗ ) = 1 ,对应支撑向量,对 w w ∗ 有贡献
  • λi=0,yi(wTxi+b)>1 λ i ∗ = 0 , y i ( w ∗ T x i + b ∗ ) > 1 ,对应非支撑向量,对 w w ∗ 无贡献,但是对求解 λ λ ∗ 有贡献。

因此, λi=0 λ i = 0 对应的点在最后求 w w 时可以不保存。剩余点满足 yj(wTxj+b)=1 y j ( w ∗ T x j + b ∗ ) = 1 ,将 w w ∗ 带入可以求得 b=yjNi=1λiyixTixj b ∗ = y j − ∑ i = 1 N λ i ∗ y i x i T x j

最终,SVM的决策函数为:

f(x)=sign(i=1Nλiyixix+b) f ( x ) = s i g n ( ∑ i = 1 N λ i ∗ y i x i x + b ∗ )

SMO算法

对于以下无约束问题

maxλW(λi,i=1,...m) m a x λ W ( λ i , i = 1 , . . . m )

可以通过依次固定除 λi λ i 之外的其他值,来求解 λi λ i 的方式迭代求解,只要保证每次迭代函数值是上升的。

将这种方法应用到SVM中,但是由于约束条件 λiyi=0 ∑ λ i y i = 0 ,因此每次保留两个参数 λi,λj λ i , λ j 自由,固定其他参数,求解SVM对偶问题,求得 λi,λj λ i , λ j ,其中,由于有约束条件, λj λ j 可以由 λi λ i 来表示。因此,每次是求解关于 λi λ i 的单变量QP问题,仅有的约束是 λi0 λ i ≥ 0 ,是一个一维搜索问题。

参考文献:Platt. J, Sequential minimal optimization: A fast algorithm for training support vector machines. Technical Report MSR-TR-98-14, Microsoft Research.

SVM扩展

软间隔

在建立SVM模型时,假定正负样本是线性可分的。但是,实际有些时候,样本不是完全线性可分的,会出现交错的情况,例如下图。

这时,如果采用以下模型

minw,b{12w22},subject toyi(wTxi+b)1 m i n w , b { 1 2 ‖ w ‖ 2 2 } , s u b j e c t   t o y i ( w T x i + b ) ≥ 1

可能就没有可行解。针对这种情况,建立如下模型,称为软间隔

minw,b{12w22+CNi=1ξi},subject toyi(wTxi+b)1ξi;i=1,...,Nξi0 m i n w , b { 1 2 ‖ w ‖ 2 2 + C ∑ i = 1 N ξ i } , s u b j e c t   t o y i ( w T x i + b ) ≥ 1 − ξ i ; i = 1 , . . . , N ξ i ≥ 0

这个就是4.3中给出的例子,也是一个QP问题。其中, ξi ξ i 为容忍度,可以优化得到。C为参数,需要根据经验调整。

这个问题跟几何间隔的问题一样,可以转换为对偶问题,然后通过SMO算法求解。

核函数

当样本完全线性不可分时,例如下图中左图所示,其中一个方法是使用非线性拟合,另一个方法是通过特征映射 xϕ(x) x ↦ ϕ ( x ) ,将低维特征映射到高维空间,在这个高维空间中,可能就线性可分,如图中右图所示。

这样,经过映射后,原SVM模型中的x由 ϕ(x) ϕ ( x ) 代替:

minw,b{12w22},subject toyi(wTϕ(xi)+b)1 m i n w , b { 1 2 ‖ w ‖ 2 2 } , s u b j e c t   t o y i ( w T ϕ ( x i ) + b ) ≥ 1

则对偶问题转换为:

maxλsubject.toNi=1λi12Ni=1Ni=jλiλjyiyjϕ(xi)Tϕ(xj)Ni=1λiyi=0; λi0;i=1,...,N m a x λ ∑ i = 1 N λ i − 1 2 ∑ i = 1 N ∑ i = j N λ i λ j y i y j ϕ ( x i ) T ϕ ( x j ) s u b j e c t . t o ∑ i = 1 N λ i y i = 0 ;   λ i ≥ 0 ; i = 1 , . . . , N

其中,直接计算 ϕ(xi)Tϕ(xj) ϕ ( x i ) T ϕ ( x j ) 是很困难的,一是由于维度大,二是由于 ϕ(x) ϕ ( x ) 的形式难以确定。

因此,这里定义核函数:

κ(xi,xj)=ϕ(xi)Tϕ(xj) κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j )

则最终决策函数可以写为:

f(x)=sign(i=1Nλiyiκ(xi,x)+b) f ( x ) = s i g n ( ∑ i = 1 N λ i ∗ y i κ ( x i , x ) + b ∗ )

常见核函数有

在实际使用过程中,一般先用高斯核试一下效果。

更详细的相关模型可以参照“Pattern Recognition and Machine Learning”一书

你可能感兴趣的:(机器学习,数学知识)