拉格朗日乘子
拉格朗日乘子和拉格朗日对偶问题是优化问题中的一种优化技巧。
根据不同的优化约束条件,优化问题可以分为无约束条件的优化和有约束条件的优化。
对于无约束条件的优化问题:
m
i
n
x
∈
R
n
f
(
x
)
min_{x \in R^n} f(x)
minx∈Rnf(x)
如果f(x)连续可微,只需要对f(x)求导,令导数为0,即可得到最优解。
那么有约束条件又是什么情况呢?
m
i
n
x
∈
R
n
f
(
x
)
min_{x \in R^n} f(x)
minx∈Rnf(x)
s
.
t
.
h
i
(
x
)
≤
0
,
c
j
(
x
)
=
0
s.t. h_i(x) \leq 0,c_j(x)=0
s.t.hi(x)≤0,cj(x)=0 此时,引入拉格朗日乘子,该优化问题等同于:
m
i
n
x
,
α
≥
0
,
β
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
min_{x ,\alpha \geq 0, \beta} \{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
minx,α≥0,β{f(x)+i∑mαihi(x)+j∑nβjcj(x)}
α
\alpha
α要求大于等于0,因为
h
i
(
x
)
h_i(x)
hi(x)具有方向性。
为什么引入拉格朗日乘子之后的优化问题与原问题是等价的呢?
因为
h
i
(
x
)
≤
0
h_i(x) \leq 0
hi(x)≤0, 如果
h
i
(
x
)
<
0
h_i(x) < 0
hi(x)<0, 只需要令
α
i
=
0
\alpha_i = 0
αi=0,如果
h
i
(
x
)
=
0
h_i(x) = 0
hi(x)=0, 则
α
i
\alpha_i
αi可以为任意数,而
c
j
(
x
)
=
0
c_j(x)=0
cj(x)=0,通过控制
α
i
\alpha_i
αi的值,可以使:
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
=
f
(
x
)
f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x) = f(x)
f(x)+i∑mαihi(x)+j∑nβjcj(x)=f(x)
这是一种直觉上的解释,知乎回答从几何上解释了KKT条件和拉格朗日乘子为什么是这个形式,主要是因为
f
(
x
)
f(x)
f(x),
h
(
x
)
h(x)
h(x)在最小值处满足
f
(
x
)
f(x)
f(x)和
h
(
x
)
h(x)
h(x)的梯度共线,称为拉格朗日条件。
拉格朗日对偶
我们初始的优化目标为:
L
(
x
,
α
,
β
)
=
m
i
n
x
,
α
≥
0
,
β
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
L(x,\alpha,\beta)=min_{x,\alpha \geq 0,\beta} \{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
L(x,α,β)=minx,α≥0,β{f(x)+i∑mαihi(x)+j∑nβjcj(x)}该目标函数中一共有三个变量
x
x
x,
α
\alpha
α,
β
\beta
β,优化该问题时,对所有的变量求导,并令其导数为0,然后利用消元法求解所有变量。从这个角度来说,我理解的拉格朗日原问题和对偶问题的区别在于,是先对x求导,用
α
\alpha
α,
β
\beta
β表示x便于计算还是先对
α
\alpha
α,
β
\beta
β求导,用x表示
α
\alpha
α,
β
\beta
β便于计算。
原问题
原问题先固定x值,优化
α
\alpha
α,
β
\beta
β,再固定
α
\alpha
α,
β
\beta
β,优化x:
L
(
x
,
α
,
β
)
=
m
i
n
x
m
a
x
α
,
β
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
L(x,\alpha,\beta)=min_x max_{\alpha,\beta}\{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
L(x,α,β)=minxmaxα,β{f(x)+i∑mαihi(x)+j∑nβjcj(x)}为什么是
m
a
x
α
,
β
max_{\alpha,\beta}
maxα,β呢?
l
(
α
,
β
)
=
m
a
x
α
,
β
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
l(\alpha,\beta)= max_{\alpha,\beta}\{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
l(α,β)=maxα,β{f(x)+i∑mαihi(x)+j∑nβjcj(x)} 此时如果
h
i
(
x
)
h_i(x)
hi(x) 和
c
j
(
x
)
c_j(x)
cj(x)满足条件,即
h
i
(
x
)
≤
0
h_i(x) \leq 0
hi(x)≤0 ,
c
j
(
x
)
=
0
c_j(x)=0
cj(x)=0,如果
h
i
(
x
)
<
0
h_i(x)<0
hi(x)<0,只需要
α
i
(
x
)
=
0
\alpha_i(x)=0
αi(x)=0
l
(
α
,
β
)
=
f
(
x
)
l(\alpha,\beta)=f(x)
l(α,β)=f(x)
如果
h
i
(
x
)
h_i(x)
hi(x) 和
c
j
(
x
)
c_j(x)
cj(x)不满足条件,
l
(
α
,
β
)
=
+
∞
l(\alpha,\beta)=+\infty
l(α,β)=+∞,即:
l
(
α
,
β
)
=
{
m
i
n
x
f
(
x
)
α
β
满足条件
+
∞
其他
l(\alpha,\beta)= \begin{cases} min_xf(x)&\alpha\beta \text{满足条件}\\ +\infty& \text{其他} \end{cases}
l(α,β)={minxf(x)+∞αβ满足条件其他
所有拉格朗日原问题可以表示为:
L
p
(
x
,
α
,
β
)
=
m
i
n
x
m
a
x
α
≥
0
,
β
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
L_p(x,\alpha ,\beta)=min_x max_{\alpha \geq 0,\beta}\{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
Lp(x,α,β)=minxmaxα≥0,β{f(x)+i∑mαihi(x)+j∑nβjcj(x)}
对偶问题
对偶问题表示为:
L
d
(
x
,
α
,
β
)
=
m
a
x
α
≥
0
,
β
m
i
n
x
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
L_d(x,\alpha ,\beta)=max_{\alpha \geq 0,\beta}min_x \{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
Ld(x,α,β)=maxα≥0,βminx{f(x)+i∑mαihi(x)+j∑nβjcj(x)}
对任意的x,
α
\alpha
α,
β
\beta
β:
m
i
n
x
{
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
}
min_x \{f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)\}
minx{f(x)+i∑mαihi(x)+j∑nβjcj(x)}
≤
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
\leq f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)
≤f(x)+i∑mαihi(x)+j∑nβjcj(x)
≤
m
a
x
α
,
β
f
(
x
)
+
∑
i
m
α
i
h
i
(
x
)
+
∑
j
n
β
j
c
j
(
x
)
\leq max_{\alpha,\beta}f(x) + \sum_i^m \alpha_i h_i(x)+\sum_j^n\beta_jc_j(x)
≤maxα,βf(x)+i∑mαihi(x)+j∑nβjcj(x)
即
L
d
(
x
,
α
,
β
)
≤
L
p
(
x
,
α
,
β
)
L_d(x,\alpha ,\beta) \leq L_p(x,\alpha ,\beta)
Ld(x,α,β)≤Lp(x,α,β),对偶问题是原问题的最大下界。