本课程来自 深度之眼,部分截图来自课程视频。
【第四章 最优化理论】4.2带约束最优化
在线LaTeX公式编辑器
任务详解:
这节课主要介绍了带约束优化,优化的对偶理论等知识点。
掌握目标:
1、掌握等式约束的最优化问题,拉格朗日乘子法,从几何上理解
2、掌握不等式约束的最优化问题,kkt松弛条件,从几何上理解
3、优化的拉格朗日对偶理论,原始问题,原始问题的等价原问题,对偶问题
4、弱对偶理论,强对偶理论,KKT条件
带约束优化一般分等式约束和不等式约束
等式约束:拉格朗日乘子
经典拉格朗日乘子法是下面的优化问题(注:x是一个向量):
m
i
n
x
f
(
x
)
min_xf(x)
minxf(x)
等式约束:
s
.
t
.
g
(
x
)
=
0
s.t.\quad g(x)=0
s.t.g(x)=0
以二维函数
f
(
x
,
y
)
f(x,y)
f(x,y)为例,从XOY平面上看就是一圈圈等高线,越往中心,越接近最小值,但是又有等式约束
g
(
x
)
=
0
g(x)=0
g(x)=0(下图的约束曲线是
g
(
x
,
y
)
=
c
g(x,y)=c
g(x,y)=c,当然也可以写成
g
(
x
,
y
)
−
c
=
0
g(x,y)-c=0
g(x,y)−c=0)
也就是说这个时候的极值点应该在曲线
g
(
x
,
y
)
g(x,y)
g(x,y)上,又要尽量接近等高线中心,所以等高线和曲线应该是相切的,就是切线方向是共线的,也就是法线方向也是共线的,(法线和切线是垂直的)。
-------------------------------------------------割你没商量1-------------------------------------------
那么等高线的法线怎么求?实际上就是某点的梯度。证明如下:
假如二维函数是
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y),那么某个等高线也就是z为某个常数c,可以写为:
f
(
x
,
y
)
=
c
f(x,y)=c
f(x,y)=c
对其求偏导,并使其等于0,可以得到切线
d
y
d
x
\cfrac{dy}{dx}
dxdy的形式:
f
x
d
x
+
f
y
d
y
=
0
→
d
y
d
x
=
−
f
x
f
y
f_xdx+f_ydy=0\to\frac{dy}{dx}=-\frac{f_x}{f_y}
fxdx+fydy=0→dxdy=−fyfx
由于梯度可以用各个偏导排列组成的向量来表示:
[
f
x
,
f
y
]
[f_x,f_y]
[fx,fy],其方向为:
f
y
f
x
\cfrac{f_y}{f_x}
fxfy
用切线乘以梯度方向:
d
y
d
x
=
−
f
x
f
y
f
y
f
x
=
−
1
\frac{dy}{dx}=-\frac{f_x}{f_y}\cfrac{f_y}{f_x}=-1
dxdy=−fyfxfxfy=−1
也就意味着梯度和切线是垂直关系。也就是说梯度方向和法线方向平行。
所以就有:
▽
f
(
x
,
y
)
=
λ
▽
g
(
x
,
y
)
\triangledown f(x,y)=\lambda\triangledown g(x,y)
▽f(x,y)=λ▽g(x,y)
二维函数与约束函数的梯度要平行。(平行关系所以
λ
\lambda
λ是正是负都可以)
以上是二维的情况,如果推广到n维,就可以写成下面:
-------------------------------------------------割你没商量1-------------------------------------------
{
▽
f
(
x
)
=
λ
▽
g
(
x
)
g
(
x
)
=
0
(1)
\begin{cases} &\triangledown f(x)=\lambda\triangledown g(x) \\ & g(x)=0 \end{cases}\tag{1}
{▽f(x)=λ▽g(x)g(x)=0(1)
其中:
x
=
(
x
1
,
x
2
,
.
.
.
,
x
n
)
,
x
∈
ℜ
n
x=(x_1,x_2,...,x_n),x\in \real^n
x=(x1,x2,...,xn),x∈ℜn
把第一式展开可以得到n个方程,可以写成:
(
f
x
1
,
f
x
2
,
.
.
.
,
f
x
n
)
=
λ
(
g
x
1
,
g
x
2
,
.
.
.
,
g
x
n
)
(f_{x_1},f_{x_2},...,f_{x_n})=\lambda(g_{x_1},g_{x_2},...,g_{x_n})
(fx1,fx2,...,fxn)=λ(gx1,gx2,...,gxn)
即:
f
x
1
=
λ
g
x
1
,
f
x
2
=
λ
g
x
2
.
.
.
f_{x_1}=\lambda g_{x_1},f_{x_2}=\lambda g_{x_2}...
fx1=λgx1,fx2=λgx2...
这两个方程(1)刚好就是拉格朗日函数:
L
(
x
,
λ
)
=
f
(
x
)
+
λ
g
(
x
)
L(x,\lambda)=f(x)+\lambda g(x)
L(x,λ)=f(x)+λg(x)
不等式约束
这里和等式约束形式差不多,只不过约束由等式变成了不等式,那么在考虑法线方向上就不能像等式那样那么随意了,等式只要法线平行即可,所以
λ
\lambda
λ可以正负都无所谓。
如果约束条件是:
s
.
t
.
g
(
x
)
≤
0
s.t.\quad g(x)\leq0
s.t.g(x)≤0
那么
λ
\lambda
λ应该是负数,这样沿梯度变化后才能满足约束条件。
优化的对偶理论主(要用在SVM)
1.原始问题
假设
f
(
x
)
,
c
i
(
x
)
,
h
j
(
x
)
f(x),c_i(x),h_j(x)
f(x),ci(x),hj(x)是定义在
R
n
R^n
Rn上的连续可微函数。考虑约束最优化问题
m
i
n
x
∈
R
n
f
(
x
)
\underset{x\in R^n}{min}f(x)
x∈Rnminf(x)
s
.
t
.
c
i
(
x
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
s.t.\quad c_i(x)\leq0,i=1,2,...,k\\ h_j(x)=0,j=1,2,...,l
s.t.ci(x)≤0,i=1,2,...,khj(x)=0,j=1,2,...,l
称此约束最优化问题为原始最优化问题或原始问题.
首先,引进广义拉格朗日函数(generalized Lagrange function),这个和之前的那个拉格朗日没有什么关系。
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
(2)
L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)\tag{2}
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)(2)
这里,
x
=
(
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
n
)
)
T
∈
R
n
x=(x^{(1)},x^{(2)},...,x^{(n)})^T\in R^n
x=(x(1),x(2),...,x(n))T∈Rn,
α
i
,
β
j
\alpha_i, \beta_j
αi,βj是拉格朗日乘子,
α
i
≥
0
\alpha_i\geq 0
αi≥0.考虑x的函数:
θ
P
(
x
)
=
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)
θP(x)=α,β;αi≥0maxL(x,α,β)
根据公式(2)以及约束可知
情况一:
x满足原始问题约束,
h
j
(
x
)
=
0
h_j(x)=0
hj(x)=0,所以后面那项就没有了:
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
(3)
L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)\tag{3}
L(x,α,β)=f(x)+i=1∑kαici(x)(3)
公式(3)中的后面那项
α
i
≥
0
,
c
i
(
x
)
≤
0
→
α
i
c
i
(
x
)
≤
0
\alpha_i\geq 0,c_i(x)\leq0\to\alpha_ic_i(x)\leq0
αi≥0,ci(x)≤0→αici(x)≤0
因此函数
L
(
x
,
α
,
β
)
L(x,\alpha,\beta)
L(x,α,β)的最大值就是当
α
i
=
0
\alpha_i=0
αi=0的时候
L
(
x
,
α
,
β
)
≤
f
(
x
)
→
θ
P
(
x
)
=
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
f
(
x
)
L(x,\alpha,\beta)\leq f(x)\to \theta_P(x)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=f(x)
L(x,α,β)≤f(x)→θP(x)=α,β;αi≥0maxL(x,α,β)=f(x)
情况二:
x不满足原始问题约束,又分两种情况讨论:
2.1
c
i
(
x
)
>
0
,
h
j
(
x
)
=
0
c_i(x)>0,h_j(x)=0
ci(x)>0,hj(x)=0,同样后面一项为0:
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
(4)
L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)\tag{4}
L(x,α,β)=f(x)+i=1∑kαici(x)(4)
公式(4)中的后面那项
α
i
≥
0
,
c
i
(
x
)
>
0
→
α
i
c
i
(
x
)
>
=
0
\alpha_i\geq0,c_i(x)>0\to\alpha_ic_i(x)>=0
αi≥0,ci(x)>0→αici(x)>=0
此时公式(4)的最大值就是+∞
2.2
c
i
(
x
)
≤
0
,
h
j
(
x
)
≠
0
c_i(x)\leq0,h_j(x)\neq0
ci(x)≤0,hj(x)=0,取
c
i
(
x
)
=
0
c_i(x)=0
ci(x)=0
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
(5)
L(x,\alpha,\beta)=f(x)+\sum_{j=1}^l\beta_jh_j(x)\tag{5}
L(x,α,β)=f(x)+j=1∑lβjhj(x)(5)
公式(5)的后面那项的最大值也是+∞
综合情况一和情况二就可以把
θ
P
(
x
)
\theta_P(x)
θP(x)写为:
θ
P
(
x
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
约
束
+
∞
,
其
它
(6)
\theta_P(x)=\begin{cases} &f(x),x满足原始问题约束 \\ & +\infty,其它 \end{cases}\tag{6}
θP(x)={f(x),x满足原始问题约束+∞,其它(6)
现在考虑
θ
P
(
x
)
\theta_P(x)
θP(x)极小值,由于
θ
P
(
x
)
\theta_P(x)
θP(x)是分段函数,下面那一段+∞是不会有最小值的,所以整个
θ
P
(
x
)
\theta_P(x)
θP(x)的最小值肯定是在上面那段,写成:
m
i
n
x
θ
P
(
x
)
=
m
i
n
x
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
(7)
\underset{x}{min}\theta_P(x)=\underset{x}{min}\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)\tag{7}
xminθP(x)=xminα,β;αi≥0maxL(x,α,β)(7)
可以看到,如果要满足公式(7),那么x就是既要满足情况一中的原始问题约束,又要使得f(x)最小,这个就是和原始问题等价啊,也就是把原始问题转换成了公式(7)的形式。这个形式没有约束的存在了。
2.对偶问题
之前的一般问题是先极小值再极大值,对偶问题是先极小值再极大值。下面直接给定义。
定义
θ
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta)
θD(α,β)=xminL(x,α,β)
再考虑极大化
θ
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta)
θD(α,β)=xminL(x,α,β),即:
m
a
x
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
=
m
a
x
α
,
β
;
α
i
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
\underset{\alpha, \beta;\alpha_i\geq 0}{max}\theta_D(\alpha,\beta)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}\underset{x}{min}L(x,\alpha,\beta)
α,β;αi≥0maxθD(α,β)=α,β;αi≥0maxxminL(x,α,β)
————————————————————————————————————
弱对偶定理C.1:若原始问题和对偶问题都有最优值,则
d
∗
=
m
a
x
α
,
β
;
α
i
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
≤
m
i
n
x
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
p
∗
d^*=\underset{\alpha, \beta;\alpha_i\geq 0}{max}\underset{x}{min}L(x,\alpha,\beta)\leq \underset{x}{min}\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=p^*
d∗=α,β;αi≥0maxxminL(x,α,β)≤xminα,β;αi≥0maxL(x,α,β)=p∗
证明:对任意的
α
\alpha
α,
β
β
β和
x
x
x,有
θ
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
≤
L
(
x
,
α
,
β
)
≤
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
θ
P
(
x
)
\theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=\theta_P(x)
θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β;αi≥0maxL(x,α,β)=θP(x)
即:
θ
D
(
α
,
β
)
≤
θ
P
(
x
)
\theta_D(\alpha,\beta)\leq \theta_P(x)
θD(α,β)≤θP(x)
由于原始问题和对偶问题均有最优值,所以,
m
a
x
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
≤
m
i
n
x
θ
P
(
x
)
\underset{\alpha, \beta;\alpha_i\geq 0}{max}\theta_D(\alpha,\beta)\leq \underset{x}{min}\theta_P(x)
α,β;αi≥0maxθD(α,β)≤xminθP(x)
以上这种形式是弱对偶形式,如果能把不等号变成等号,那么就变成强对偶形式。
强对偶定理C.2考虑原始问题和对偶问题。假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数();并且假设不等式约束
c
i
(
x
)
c_i(x)
ci(x)是严格可行的,即存在
x
x
x,对所有
i
i
i有
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗使
x
∗
x^*
x∗是原始问题的解,
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗是对偶问题的解,并且
p
∗
=
d
∗
=
L
(
x
∗
,
α
∗
,
β
∗
)
p^*=d^*=L(x^*,\alpha^*,\beta^*)
p∗=d∗=L(x∗,α∗,β∗)
KTT定理C.3对原始问题和对偶问题,假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数,并且不等式约束
c
i
(
x
)
c_i(x)
ci(x)是严格可行的,则
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足下面的Karush-Kuhn-Tucker(KKT)条件:
▽
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
▽
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
▽
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
\triangledown_xL(x^*,\alpha^*,\beta^*)=0\\ \triangledown_\alpha L(x^*,\alpha^*,\beta^*)=0\\ \triangledown_\beta L(x^*,\alpha^*,\beta^*)=0
▽xL(x∗,α∗,β∗)=0▽αL(x∗,α∗,β∗)=0▽βL(x∗,α∗,β∗)=0
α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , . . . , k c i ( x ∗ ) ≤ 0 , i = 1 , 2 , . . . , k α i ∗ ≥ 0 , i = 1 , 2 , . . . , k h j ( x ∗ ) = 0 , j = 1 , 2 , . . . , l \alpha_i^*c_i(x^*)=0,i=1,2,...,k\\ c_i(x^*)\leq0,i=1,2,...,k\\ \alpha_i^*\geq 0,i=1,2,...,k\\ h_j(x^*)=0,j=1,2,...,l αi∗ci(x∗)=0,i=1,2,...,kci(x∗)≤0,i=1,2,...,kαi∗≥0,i=1,2,...,khj(x∗)=0,j=1,2,...,l