概要
- 第一部分: 最优化条件和KKT条件
- 第二部分:对偶问题
- 第三部分:几个基本问题及其之间的关系
- 第四部分:最优化算法
最优化条件
最基本的有约束条件的最优化问题无非是以下的形式
m
i
n
x
f
(
x
)
s
.
t
.
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
m
g
j
(
x
)
≤
0
,
j
=
1
,
.
.
.
r
\begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*}
xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)≤0,j=1,...r
最优性必要条件(以上问题有最优解的必要条件)如下
定理1:最优性必要条件
x ∗ \\x^* x∗是局部最小解,
h i \\h_i hi是一次函数, g j g_j gj是凸函数,存在 x 0 x_0 x0使得 g j ( x 0 ) < 0 , h i ( x 0 ) = 0 g_j(x_0)<0,h_i(x_0)=0 gj(x0)<0,hi(x0)=0
∇ h i ( x ) \\\nabla h_i(x) ∇hi(x)和 ∇ g j ( x ) \nabla g_j(x) ∇gj(x)一次独立
此时存在满足 K K T 条件的拉格朗日乘数 ( λ ∗ , μ ∗ ) \\此时存在满足KKT条件的拉格朗日乘数(\lambda^*,\mu^*) 此时存在满足KKT条件的拉格朗日乘数(λ∗,μ∗)
∇
\nabla
∇是偏导的意思, 其中KKT条件如下
∇
f
(
x
∗
)
+
∑
i
=
1
m
λ
i
∗
∇
h
i
(
x
∗
)
+
∑
j
=
1
r
μ
j
∗
∇
g
i
(
x
∗
)
=
0
\begin{equation} \nabla f(x^*)+\sum_{i=1}^m\lambda _i^* \nabla h_i(x^*)+\sum_{j=1}^r\mu _j^* \nabla g_i(x^*)=0 \end{equation}
∇f(x∗)+i=1∑mλi∗∇hi(x∗)+j=1∑rμj∗∇gi(x∗)=0
h
i
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
m
\begin{equation} h_i(x^*)=0, i=1,...m \end{equation}
hi(x∗)=0,i=1,...m
g
j
(
x
∗
)
≤
0
,
μ
j
∗
≥
0
,
,
μ
j
∗
g
j
(
x
∗
)
=
0
,
j
=
1
,
.
.
.
r
\begin{equation} g_j(x^*)\leq0, \space \mu _j^*\geq0, \space, \mu _j^*g_j(x^*)=0, j=1,...r \end{equation}
gj(x∗)≤0, μj∗≥0, ,μj∗gj(x∗)=0,j=1,...r
其中, λ ∗ , μ ∗ \lambda^*,\mu^* λ∗,μ∗被称为拉格朗日乘数, ( x ∗ , λ ∗ , μ ∗ ) (x^*,\lambda^*,\mu^*) (x∗,λ∗,μ∗)被称为KKT点。
上述定理,再修改一下条件就会变成充分必要条件:
定理2:最优解的充分必要条件
f , g 1 , . . . , g r f,g_1,...,g_r f,g1,...,gr是可微凸函数, h i , i = 1 , . . . , m h_i,i=1,...,m hi,i=1,...,m是一次函数
( x ∗ , λ ∗ , μ ∗ ) (x^*,\lambda^*,\mu^*) (x∗,λ∗,μ∗)是
m i n x f ( x ) s . t . h i ( x ) = 0 , i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)≤0,j=1,...r满足条件(1)~(3)KKT点,则 x ∗ x^* x∗是全局最小解
最优化条件:例题
m
i
n
τ
∣
x
∣
+
1
2
(
x
−
y
)
2
s
.
t
.
x
∈
R
min \space \tau |x|+\frac{1}{2}(x-y)^2 \\ s.t. \space x \in R
min τ∣x∣+21(x−y)2s.t. x∈R
其中,
τ
>
0
\tau>0
τ>0,
y
y
y是定值
证明这个问题的最优解
x
∗
x^*
x∗是
x
∗
=
m
a
x
{
0
,
∣
y
∣
−
τ
}
s
g
n
(
y
)
x^*=max\{0,|y|-\tau\}sgn(y)
x∗=max{0,∣y∣−τ}sgn(y)
其中,
s
g
n
(
y
)
=
{
1
,
i
f
y
≥
0
−
1
,
i
f
y
<
0
sgn(y)=\left\{ \begin{align*} 1 , &if \space y \geq0 \\ -1,&if \space y<0 \end{align*} \right.
sgn(y)={1,−1,if y≥0if y<0
在证明之前,需要注意到 ∣ x ∣ |x| ∣x∣是不可微的,而我们目前只介绍了可微函数的最优化条件和KKT条件,
咱们还需要补充两个概念次导数(Subderivative)和次微分(Subdifferential),次导数是一般导数定义上的一个推广
f
f
f若是可微,则对所有的
y
∈
V
y\in V
y∈V,
V
V
V是一个向量空间
f
(
y
)
≥
f
(
x
)
+
<
∇
f
(
x
)
,
y
−
x
>
f(y) \geq f(x)+<\nabla f(x),y-x>
f(y)≥f(x)+<∇f(x),y−x>
总是成立的,这不等式可以理解为
f
(
y
)
f(y)
f(y)的图像落在切线
f
(
x
)
+
<
∇
f
(
x
)
,
y
−
x
>
f(x)+<∇f(x),y−x>
f(x)+<∇f(x),y−x>之上,
(
x
,
f
(
x
)
)
(x,f(x))
(x,f(x))是切点,
∇
f
(
x
)
∇f(x)
∇f(x)是切点位置的导数,<・>是内积运算。
而当 f f f不可微的时候,我们就需要引进次导数和次微分的概念。
对所有的
y
∈
V
y\in V
y∈V,满足
f
(
y
)
≥
f
(
x
)
+
<
η
,
y
−
x
>
f(y) \geq f(x)+<\eta,y-x>
f(y)≥f(x)+<η,y−x>
的
η
∈
V
\eta \in V
η∈V被称为
f
f
f在
x
x
x的次导数。而所有满足条件的次导数的集合被称为次微分,我们将使用以下记法:
∂
f
(
y
)
=
{
η
∈
V
∣
f
(
x
)
≥
f
(
y
)
+
<
η
,
x
−
y
>
,
∀
x
∈
V
}
\partial f(y)=\{\eta \in V \space | f(x) \geq f(y)+<\eta,x-y>, \forall x \in V\}
∂f(y)={η∈V ∣f(x)≥f(y)+<η,x−y>,∀x∈V}
当
f
f
f可微时,这个次微分的定义与微分定义是等价的。
有了次微分的加持,我们就可以导出不可微分问题的KKT条件:
对于一般的凸优化问题
m
i
n
x
f
(
x
)
s
.
t
.
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
m
g
j
(
x
)
≤
0
,
j
=
1
,
.
.
.
r
\begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*}
xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)≤0,j=1,...r
其中,
f
f
f:凸函数(不一定可微),
h
i
h_i
hi:一次函数,
g
j
g_j
gj:凸函数(不一定可微)
对于(4)~(7)的不可微分问题的KKT条件,定理2依然成立。
η
+
∑
i
=
1
m
λ
i
∗
∇
h
i
(
x
∗
)
+
∑
j
=
1
r
μ
j
∗
ξ
j
=
0
\begin{equation} \eta+\sum_{i=1}^m\lambda _i^* \nabla h_i(x^*)+\sum_{j=1}^r\mu _j^* \xi_j=0 \end{equation}
η+i=1∑mλi∗∇hi(x∗)+j=1∑rμj∗ξj=0
h
i
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
m
\begin{equation} h_i(x^*)=0, i=1,...m \end{equation}
hi(x∗)=0,i=1,...m
g
j
(
x
∗
)
≤
0
,
μ
j
∗
≥
0
,
,
μ
j
∗
g
j
(
x
∗
)
=
0
,
j
=
1
,
.
.
.
r
\begin{equation} g_j(x^*)\leq0, \space \mu _j^*\geq0, \space, \mu _j^*g_j(x^*)=0, j=1,...r \end{equation}
gj(x∗)≤0, μj∗≥0, ,μj∗gj(x∗)=0,j=1,...r
η
∈
∂
f
(
x
∗
)
,
ξ
∈
∂
g
j
(
x
∗
)
,
j
=
1
,
.
.
.
r
\begin{equation} \eta \in \partial f(x^*),\xi \in \partial g_j(x^*),j=1,...r \end{equation}
η∈∂f(x∗),ξ∈∂gj(x∗),j=1,...r
再回到刚才的问题,我们注意到其是没有约束条件的,即 h i = 0 , g j = 0 h_i=0,g_j=0 hi=0,gj=0,因此
( 4 ) ⟶ η = 0 ( 5 ) 和 ( 6 ) 不需要了 ( 7 ) ⟶ η ∈ ∂ f ( x ∗ ) (4) \longrightarrow \eta=0\\ (5)和(6)不需要了\\ (7) \longrightarrow \eta \in \partial f(x^*) (4)⟶η=0(5)和(6)不需要了(7)⟶η∈∂f(x∗)
综上,最优解
x
∗
x^*
x∗应满足
0
∈
∂
f
(
x
∗
)
0\in\partial f(x^*)
0∈∂f(x∗),而
f
(
x
)
=
τ
∣
x
∣
+
1
2
(
x
−
y
)
2
f(x)=\tau |x|+\frac{1}{2}(x-y)^2
f(x)=τ∣x∣+21(x−y)2
∂
f
(
x
)
=
{
τ
+
x
−
y
,
x
>
0
−
τ
+
x
−
y
,
x
<
0
−
τ
[
−
1
,
1
]
+
y
,
x
=
0
\partial f(x) = \left\{ \begin{align*} \tau+x-y &,x > 0 \\ -\tau+x-y &,x<0 \\ -\tau[-1,1]+y &, x=0 \end{align*} \right.
∂f(x)=⎩
⎨
⎧τ+x−y−τ+x−y−τ[−1,1]+y,x>0,x<0,x=0
当
x
>
0
x>0
x>0时,
0
=
τ
+
x
−
y
,
⇒
x
∗
=
y
−
τ
0=\tau+x-y,\Rightarrow x^*=y-\tau
0=τ+x−y,⇒x∗=y−τ,且因为
τ
>
0
\tau>0
τ>0,则
x
+
τ
>
0
x+\tau>0
x+τ>0因此
y
>
0
y>0
y>0
当 x < 0 x<0 x<0时,同理
当 x = 0 x=0 x=0时, − τ [ − 1 , 1 ] + y = 0 -\tau[-1,1]+y=0 −τ[−1,1]+y=0,则 ∣ y ∣ − τ < 0 |y|-\tau<0 ∣y∣−τ<0, x ∗ = 0 x^*=0 x∗=0,得证。
谢谢你的阅读,希望这篇博文能帮到你~
有疑问可联系博主Rane的邮箱rane.z.blog@gmail.com。