文章目录
凸优化(Convex Optimization)
凸优化问题具有许多重要的性质,使得其在理论和实践中都得到广泛应用。这些性质包括全局最优解的存在性、局部最优解即为全局最优解、 K K T ( K a r u s h − K u h n − T u c k e r ) KKT(Karush-Kuhn-Tucker) KKT(Karush−Kuhn−Tucker) 条件等。凸优化问题的求解算法通常具有高效性和可靠性。在机器学习、信号处理、控制系统设计等领域,凸优化都起到了关键的作用。
凸集(Convex Set)
定义:集合
D
∈
R
n
D \in R^n
D∈Rn 称为凸集,如果对于任意
x
,
y
∈
D
x,y \in D
x,y∈D 有
λ
x
+
(
1
−
λ
)
y
∈
D
,
∀
0
⩽
λ
⩽
1
\lambda x + (1 - \lambda)y \in D,~~ \forall ~~ 0 \leqslant \lambda \leqslant 1
λx+(1−λ)y∈D, ∀ 0⩽λ⩽1
换句话说,如果任意两点
x
,
y
∈
D
x,y\in D
x,y∈D,则连接
x
x
x 与
y
y
y 的直线段上的所有点都在
D
D
D 内。
凸集合的运算(Operations on Convex Sets)
对凸集合进行一些基本运算,如交、并、差等,仍然得到凸集合。
凸函数(Convex Function)
定义:设函数
f
(
x
)
f(x)
f(x) 在凸集上
D
D
D 有定义,如果对任意
x
,
y
∈
D
x, y \in D
x,y∈D 和任意
λ
∈
[
0
,
1
]
\lambda \in [0,1]
λ∈[0,1] 有
f
(
λ
x
+
(
1
−
λ
)
y
)
⩽
λ
f
(
x
)
+
(
1
−
λ
)
f
(
y
)
f(\lambda x + (1 - \lambda)y) \leqslant \lambda f(x) + (1 - \lambda)f(y)
f(λx+(1−λ)y)⩽λf(x)+(1−λ)f(y)
则称
f
(
x
)
f(x)
f(x) 是凸集
D
D
D 上的凸函数。
如果对任意
x
,
y
∈
D
,
x
≠
y
x,y \in D, x\neq y
x,y∈D,x=y 和任意
λ
∈
(
0
,
1
)
\lambda \in (0,1)
λ∈(0,1) 有
f
(
λ
x
+
(
1
−
λ
)
y
)
<
λ
f
(
x
)
+
(
1
−
λ
)
f
(
y
)
f(\lambda x + (1 - \lambda)y) < \lambda f(x) + (1 - \lambda)f(y)
f(λx+(1−λ)y)<λf(x)+(1−λ)f(y)
则称
f
(
x
)
f(x)
f(x) 是凸集
D
D
D 上的严格凸函数。
同凸函数相对应的是凹函数,一个函数 f ( x ) f(x) f(x) 称为是凸集 D D D 上的(严格)凹函数,那么 − f ( x ) -f(x) −f(x) 是凸集 D D D 上的(严格)凸函数。
显然, f ( x ) = ∣ x ∣ f(x) = |x| f(x)=∣x∣ 是 R R R 上的凸函数; f ( x ) = x + 2 f(x)=x+2 f(x)=x+2 是 R R R 上的凸函数; f ( x ) = − x 1 2 − 5 x 2 2 + 2 x 1 x 2 + 10 x 1 − 10 x 2 f(x)=-x_1^2-5x_2^2+2x_1x_2+10x_1-10x_2 f(x)=−x12−5x22+2x1x2+10x1−10x2 是 R 2 R^2 R2 上的凹函数; f ( x ) = x 3 f(x)=x^3 f(x)=x3 不是 R R R 上的凸函数,但是在 D = { x ∣ x ≥ 0 } D=\{x|x \geq 0\} D={x∣x≥0} 上是凸函数。
凸优化问题(Convex Optimization Problem)
一个优化问题被称为凸优化问题,如果其目标函数是凸函数,约束集合是凸集。一般形式的凸优化问题可以表示为:
min
f
(
x
)
s
.
t
.
g
i
(
x
)
≤
0
,
i
=
1
,
2
,
…
,
m
h
j
(
x
)
=
0
,
j
=
1
,
2
,
…
,
p
\begin{aligned} \min \quad & f({x}) \\ \mathrm{s.t.} \quad & {g}_i({x}) \leq 0, \quad i=1,2,\ldots,m \\ & {h}_j({x}) = 0, \quad j=1,2,\ldots,p \end{aligned}
mins.t.f(x)gi(x)≤0,i=1,2,…,mhj(x)=0,j=1,2,…,p
其中
f
(
x
)
f(x)
f(x) 是凸函数,
g
(
x
)
g(x)
g(x) 是凸函数,
h
(
x
)
h(x)
h(x) 是仿射函数。
例题
(1)
f
(
x
1
,
x
2
,
x
3
)
=
2
x
1
2
+
3
x
2
2
+
8
x
3
2
+
2
x
1
x
2
f(x_1,x_2,x_3) = 2x_1^2+3x_2^2+8x_3^2+2x_1x_2
f(x1,x2,x3)=2x12+3x22+8x32+2x1x2 求出海森矩阵,并判断该函数是否为凸函数。
∇
2
f
(
x
)
=
(
4
2
0
2
6
0
0
0
16
)
\nabla^2f(x) = \begin{pmatrix} 4 & 2 & 0 \\ 2 & 6 & 0 \\ 0 & 0 & 16 \\ \end{pmatrix}
∇2f(x)=
4202600016
设
A
=
∇
2
f
(
x
)
A = \nabla^2f(x)
A=∇2f(x) 求
A
−
λ
E
A - \lambda E
A−λE,
∣
A
−
λ
E
∣
=
∣
4
−
λ
2
0
2
6
−
λ
0
0
0
16
−
λ
∣
=
(
16
−
λ
)
[
(
4
−
λ
)
(
6
−
λ
)
−
4
]
=
(
16
−
λ
)
(
λ
+
(
5
−
5
)
)
(
λ
−
(
5
+
5
)
)
\begin{aligned} |A - \lambda E| & = \begin{vmatrix} 4 - \lambda & 2 & 0 \\ 2 & 6 - \lambda & 0 \\ 0 & 0 & 16 - \lambda \\ \end{vmatrix} \\\\ & = (16 - \lambda)[(4 - \lambda)(6 - \lambda) - 4] \\\\ & = (16 - \lambda)(\lambda + (\sqrt{5} - 5))(\lambda - (\sqrt{5} + 5)) \end{aligned}
∣A−λE∣=
4−λ2026−λ00016−λ
=(16−λ)[(4−λ)(6−λ)−4]=(16−λ)(λ+(5−5))(λ−(5+5))
求得
λ
1
=
16
,
λ
2
=
5
−
5
,
λ
3
=
5
+
5
\lambda_1 = 16, \lambda_2 = 5 - \sqrt{5}, \lambda_3 = 5 + \sqrt{5}
λ1=16,λ2=5−5,λ3=5+5,显然特征值全部大于零,矩阵为正定矩阵。
所以该函数是严格凸函数。
(2)证明:两个凸集交集是凸集。
证明:设
x
1
,
x
2
∈
D
1
∩
D
2
x_1,x_2 \in D_1 \cap D_2
x1,x2∈D1∩D2,则有
x
1
∈
D
1
,
x
2
∈
D
1
,
x
1
∈
D
2
,
x
2
∈
D
2
x_1 \in D_1, x_2 \in D_1, x_1 \in D_2, x_2 \in D_2
x1∈D1,x2∈D1,x1∈D2,x2∈D2,由定义,对于
0
⩽
λ
⩽
1
0 \leqslant \lambda \leqslant 1
0⩽λ⩽1,有
λ
x
1
+
(
1
−
λ
)
x
2
∈
D
1
,
λ
x
1
+
(
1
−
λ
)
x
2
∈
D
2
\lambda x_1 + (1 - \lambda)x_2 \in D_1, ~~~~~\lambda x_1 + (1 - \lambda)x_2 \in D_2
λx1+(1−λ)x2∈D1, λx1+(1−λ)x2∈D2
故
λ
x
1
+
(
1
−
λ
)
x
2
∈
D
1
∩
D
2
\lambda x_1 + (1 - \lambda)x_2 \in D_1 \cap D_2
λx1+(1−λ)x2∈D1∩D2,所以,
D
1
∩
D
2
D_1 \cap D_2
D1∩D2 是凸集。