拉格朗日对偶性(Lagrange duality)
1. 从原始问题到对偶问题
对偶性是优化理论中一个重要的部分,带约束的优化问题是机器学习中经常遇到的问题,这类问题都可以用如下形式表达
m
i
n
    
f
(
x
)
s
.
t
.
    
g
i
(
x
)
≤
0
,
    
i
=
1
,
⋯
 
,
m
h
i
(
x
)
=
0
,
    
i
=
1
,
⋯
 
,
n
\begin{aligned} min \;\; &f(x) \\ s.t.\;\; & g_i(x) \le 0 ,\;\; i=1,\cdots, m\\ & h_i(x) = 0,\;\; i=1,\cdots,n\\ \end{aligned}
mins.t.f(x)gi(x)≤0,i=1,⋯,mhi(x)=0,i=1,⋯,n
约束条件减少需要求解的空间,但在机器学习中,约束条件往往比较复杂并且较多。因此先计算约束条件再在约束空间中计算最优值非常不方便。于是用广义拉格朗日函数将带约束优化问题转化为无约束优化问题
L
(
x
,
λ
,
η
)
=
f
(
x
)
+
∑
i
m
λ
i
g
i
(
x
)
+
∑
i
n
η
i
h
i
(
x
)
L(x,\lambda,\eta) = f(x)+\sum_i^m \lambda_i g_i(x) + \sum_i^n \eta_i h_i(x)
L(x,λ,η)=f(x)+i∑mλigi(x)+i∑nηihi(x)
这时,若按照拉格朗日乘数法直接对
x
、
λ
、
η
x、\lambda、\eta
x、λ、η求偏导的话,结果对简化复杂的约束条件没有益处。我们希望获取一种能够优化原问题,又能简化计算的方法。于是进一步挖掘
λ
、
η
\lambda、\eta
λ、η能够带来的东西,当我们对广义拉格朗日函数作关于
λ
、
η
\lambda、\eta
λ、η 的最大化时
θ
P
(
x
)
=
m
a
x
λ
≥
0
,
η
  
L
(
x
,
λ
,
η
)
\theta_P(x) = \underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta)
θP(x)=λ≥0,ηmaxL(x,λ,η)
其中,要求
λ
≥
0
\lambda \ge 0
λ≥0 ,很容易发现,在这个最大化问题中,若
x
x
x 不满足原问题中的约束,那么这个最大化的结果一定是正无穷。例如,
g
i
(
x
)
>
0
g_i(x)>0
gi(x)>0 ,在关于
λ
、
η
\lambda、\eta
λ、η 最大化时,其系数便会趋于无穷大使得整个式子趋于无穷大。而当
x
x
x 满足约束时,最大化的结果一定是
f
(
x
)
f(x)
f(x) 。依据这个特性,我们可以将原广义拉格朗日函数的极小化问题拆解为两步
m
i
n
x
  
L
(
x
,
λ
,
η
)
=
m
i
n
x
  
θ
P
(
x
)
=
m
i
n
x
  
m
a
x
λ
≥
0
,
η
  
L
(
x
,
λ
,
η
)
\underset x {min} \;L(x,\lambda,\eta) = \underset x {min} \;\theta_P(x) = \underset x {min} \;\underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta)
xminL(x,λ,η)=xminθP(x)=xminλ≥0,ηmaxL(x,λ,η)
拆解后的问题$ \underset x {min} ;\underset {\lambda \ge 0,\eta} {max};L(x,\lambda,\eta)$ 称为广义拉格朗日函数的极小极大问题,它与原问题是完全等价的。在对偶性中,这个问题被称为原始问题(Primal problem)。
通过原始问题的极小极大问题,可以引出它的对偶问题(Dual problem),其对偶问题就是极小极大问题交换一个位置而已。首先定义
θ
D
(
λ
,
η
)
=
m
i
n
x
L
(
x
,
λ
,
η
)
\theta_D(\lambda,\eta) = \underset {x} {min} L(x,\lambda,\eta)
θD(λ,η)=xminL(x,λ,η)
那么其对偶问题就是
m
a
x
λ
≥
0
,
η
  
θ
D
(
λ
,
η
)
=
m
a
x
λ
≥
0
,
η
  
m
i
n
x
L
(
x
,
λ
,
η
)
\underset {\lambda \ge 0,\eta} {max} \; \theta_D(\lambda,\eta)= \underset {\lambda \ge 0,\eta} {max} \;\underset {x} {min} L(x,\lambda,\eta)
λ≥0,ηmaxθD(λ,η)=λ≥0,ηmaxxminL(x,λ,η)
这个问题是广义拉格朗日函数的极大极小问题,将其展开为约束最优化问题得到
m
a
x
λ
,
η
  
θ
D
(
λ
,
η
)
=
m
a
x
λ
,
η
  
m
i
n
x
L
(
x
,
λ
,
η
)
s
.
t
.
λ
i
≥
0
,
    
i
=
1
,
2
,
⋯
 
,
k
\underset {\lambda ,\eta} {max} \; \theta_D(\lambda,\eta)= \underset {\lambda ,\eta} {max} \;\underset {x} {min} L(x,\lambda,\eta)\\ s.t. \lambda_i \ge 0,\;\; i= 1,2,\cdots,k
λ,ηmaxθD(λ,η)=λ,ηmaxxminL(x,λ,η)s.t.λi≥0,i=1,2,⋯,k
可以看出两个函数的变量并不相同,对于原始问题,它的变量是
x
x
x,而对于对偶问题,它的变量是
λ
,
  
η
\lambda,\;\eta
λ,η 。并且,这两个问题并不等价,有时候甚至差的有点多。可以理解为其他国家最厉害的乒乓球队员,也没有中国最菜的乒乓球队员厉害,当然这比喻并不准确。
2. 弱对偶与强对偶
对偶函数可以理解为给原始函数找了一个下界,在原始函数计算困难的时候,可以通过解对偶函数来得到一个近似的值。并且在函数满足一定条件的时候,对偶函数的解与原始函数的解是等价的。具体来说,对偶 函数
θ
D
(
λ
,
η
)
=
m
i
n
x
L
(
x
,
λ
,
η
)
\theta_D(\lambda,\eta)=\underset {x} {min} L(x,\lambda,\eta)
θD(λ,η)=xminL(x,λ,η) 确定了原始问题的一个下界,即
(2-a)
θ
D
(
λ
,
η
)
=
m
i
n
x
L
(
x
,
λ
,
η
)
≤
L
(
x
,
λ
,
η
)
≤
m
a
x
λ
≥
0
,
η
  
L
(
x
,
λ
,
η
)
=
θ
P
(
x
)
\theta_D(\lambda,\eta) =\underset {x} {min} L(x,\lambda,\eta)\le L(x,\lambda,\eta)\le \underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta)=\theta_P(x) \tag{2-a}
θD(λ,η)=xminL(x,λ,η)≤L(x,λ,η)≤λ≥0,ηmaxL(x,λ,η)=θP(x)(2-a)
即
θ
D
(
λ
,
η
)
≤
θ
P
(
x
)
\theta_D(\lambda,\eta) \le \theta_P(x)
θD(λ,η)≤θP(x)
其中,
θ
d
(
λ
,
η
)
\theta_d(\lambda,\eta)
θd(λ,η)看作其他国家乒乓球运动员,
θ
P
(
x
)
\theta_P(x)
θP(x)看作中国乒乓球运动员,那么其他国家最厉害的也不一定比得上中国最差的。即
(2-b)
d
∗
=
m
a
x
λ
,
η
  
θ
D
(
λ
,
η
)
≤
m
i
n
x
  
θ
P
(
x
)
=
p
∗
d^* =\underset {\lambda ,\eta} {max} \; \theta_D(\lambda,\eta)\le \underset x {min} \;\theta_P(x)=p^* \tag{2-b}
d∗=λ,ηmaxθD(λ,η)≤xminθP(x)=p∗(2-b)
这个性质便是弱对偶性( weak duality )。弱对偶性对任何优化问题都成立,这似乎是显然的,因为这个下界并不严格,有时候甚至取到非常小,对近似原问题的解没多大帮助。既有弱对偶性,那么便有强对偶性,强对偶性是指
d
∗
=
p
∗
d^* = p^*
d∗=p∗
显然这是一个令人惊喜的性质,这意味着可以通过求解较简单的对偶问题(因为对偶问题总是一个凸优化问题)来得到原问题的解。不过强对偶性在优化问题中是一个非常高深的问题,对我来说更是如此。因此我只能介绍关于强对偶的两个条件:严格条件和KKT条件。
3. KKT条件
严格条件是指原始问题是凸函数,约束条件是仿射函数,若此时不等式约束满足严格条件,即不等号是严格不等号,不能取等号,则强对偶性成立。这个条件在SVM中即变成了对任意一个点,都存在超平面能对其正确划分,也就是数据集是线性可分的。严格条件是强对偶性的充分条件,但并不是必要条件。有些不满足严格条件的可能也有强对偶性。
KKT条件是在满足严格条件的情况下,推导出的变量取值的关系,假设原始问题和对偶问题的极值点分别是
x
∗
x^*
x∗和
λ
∗
,
η
∗
\lambda^*,\eta^*
λ∗,η∗ ,对应的极值分别是
p
∗
p^*
p∗和
d
∗
d^*
d∗ 。由于满足强对偶性,有
p
∗
=
d
∗
p^*=d^*
p∗=d∗ 。将极值点带入得到
(3-a)
d
∗
=
θ
D
(
λ
∗
,
η
∗
)
=
m
i
n
x
L
(
x
,
λ
∗
,
η
∗
)
d^* = \theta_D(\lambda^*,\eta^*) =\underset x {min} L(x,\lambda^*,\eta^*) \tag{3-a}
d∗=θD(λ∗,η∗)=xminL(x,λ∗,η∗)(3-a)
这说明
x
∗
x^*
x∗是
L
(
x
,
λ
∗
,
η
∗
)
L(x,\lambda^*,\eta^*)
L(x,λ∗,η∗)的一个极值点,那么
L
(
x
,
λ
∗
,
η
∗
)
L(x,\lambda^*,\eta^*)
L(x,λ∗,η∗)在
x
∗
x^*
x∗处的梯度为0,即
(3-b)
▽
f
(
x
∗
)
+
∑
i
m
λ
i
g
i
(
x
∗
)
+
∑
i
n
η
i
h
i
(
x
∗
)
=
0
\triangledown f(x^*)+\sum_i^m\lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*) = 0 \tag{3-b}
▽f(x∗)+i∑mλigi(x∗)+i∑nηihi(x∗)=0(3-b)
由式
(
2
−
a
)
(2-a)
(2−a) ,
(3-c)
d
∗
=
m
i
n
x
L
(
x
,
λ
∗
,
η
∗
)
≤
L
(
x
∗
,
λ
∗
,
η
∗
)
=
f
(
x
∗
)
+
∑
i
m
λ
i
g
i
(
x
∗
)
+
∑
i
n
η
i
h
i
(
x
∗
)
≤
p
∗
=
f
(
x
∗
)
\begin{aligned} d^* =& \underset x {min} L(x,\lambda^*,\eta^*) \\ \le &L(x^*,\lambda^*,\eta^*)\\ =& f(x^*) + \sum_i^m \lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*)\\ \le & p^* = f(x^*) \end{aligned} \tag{3-c}
d∗=≤=≤xminL(x,λ∗,η∗)L(x∗,λ∗,η∗)f(x∗)+i∑mλigi(x∗)+i∑nηihi(x∗)p∗=f(x∗)(3-c)
由于
p
∗
=
d
∗
p^*=d^*
p∗=d∗,因此上式不等号应取到等号,再与式
(
3
−
b
)
(3-b)
(3−b) 得
(3-d)
∑
i
m
λ
i
g
i
(
x
∗
)
+
∑
i
n
η
i
h
i
(
x
∗
)
=
0
\sum_i^m \lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*) = 0 \tag{3-d}
i∑mλigi(x∗)+i∑nηihi(x∗)=0(3-d)
由于注意
x
∗
x^*
x∗作为该问题的解,是一定满足
h
(
x
∗
)
=
0
h(x^*) = 0
h(x∗)=0的,因此
λ
i
g
i
(
x
)
=
0
,
      
i
=
1
,
2
,
⋯
 
,
m
\lambda_i g_i(x) = 0,\;\;\;i=1,2,\cdots,m
λigi(x)=0,i=1,2,⋯,m
这个条件叫做互补松弛性(complementary slackness)。
其中,
λ
≥
0
\lambda \ge 0
λ≥0称为对偶可行性。并且它似乎可以从原始问题到对偶问题的极小极大问题中总结出。不过这里可以有另一种解释,简化一下,考虑只有不等式约束的问题
m
i
n
    
f
(
x
)
s
.
t
.
    
g
(
x
)
≤
0
\begin{aligned} min \;\; &f(x) \\ s.t.\;\; & g(x) \le 0 \\ \end{aligned}
mins.t.f(x)g(x)≤0
其中
g
(
x
)
≤
0
g(x) \le 0
g(x)≤0称为原始可行性,由它确定的区间称为可行域。假设
x
∗
x^*
x∗为该问题的解,那么其位置有两种情况
-
(1) g ( x ∗ ) < 0 g(x^*)<0 g(x∗)<0时,解在可行域中取得。这时解称为内部解,约束条件无效,原问题变为无约束问题。
-
(2) g ( x ∗ ) = 0 g(x^*)=0 g(x∗)=0时,解在边界上取得, 这时解称为边界解,约束条件有效。
内部解直接由梯度为0即可解得,这里主要讨论边界解。
对于
g
(
x
)
=
0
g(x)=0
g(x)=0的约束问题,建立拉格朗日函数
L
(
x
,
λ
)
=
f
(
x
)
+
λ
g
(
x
)
L(x,\lambda) = f(x) + \lambda g(x)
L(x,λ)=f(x)+λg(x)
因为驻点
x
∗
x^*
x∗在其上取得,那么该函数在
x
∗
x^*
x∗处的梯度为0,即
▽
f
(
x
∗
)
+
λ
▽
g
(
x
∗
)
=
0
\triangledown f(x^*) + \lambda \triangledown g(x^*) = 0
▽f(x∗)+λ▽g(x∗)=0
这里两个梯度的方向应该是可以确定的,
f
(
x
)
f(x)
f(x)的极小值在边界取到,那么可行域内部的
f
(
x
)
f(x)
f(x)应该都是大于这个极小值的,因此
▽
f
\triangledown f
▽f的方向是可行域内部。而
▽
g
\triangledown g
▽g的方向是可行域外部,因为约束条件是
g
(
x
)
≤
0
g(x)\le 0
g(x)≤0,也就是可行域外部都是
g
(
x
)
>
0
g(x)>0
g(x)>0,所以梯度方向指向函数增加的方向。这说明两个函数的梯度方向相反,那上面这个等式要成立,
λ
\lambda
λ只能是大于等于0。这就是对偶可行性。
再将其他的条件组合起来,便得到了KKT条件:
▽
x
L
(
x
∗
,
λ
∗
,
η
∗
)
=
0
g
i
(
x
∗
)
≤
0
λ
i
≥
0
λ
i
g
i
(
x
∗
)
=
0
\begin{aligned} \triangledown _x L(x^*,\lambda^*,\eta^*) =0 \\ g_i(x^*) \le 0\\ \lambda_i \ge 0\\ \lambda_i g_i(x^*) =0 \end{aligned}
▽xL(x∗,λ∗,η∗)=0gi(x∗)≤0λi≥0λigi(x∗)=0
Reference:
[2] Pattern Recognition and Machine Learning.
[3] 统计学习方法
[4] 支持向量机:Duality
[5] KKT条件