凸优化学习
今天开始学习凸函数了。
学习笔记
一、凸函数的定义
1
f : R n → R 为 凸 ⇔ dom f 为 凸 ∀ x , y ∈ dom f 0 ≤ θ ≤ 1 有 f ( θ x + ( 1 − θ ) y ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f:R^n\rightarrow R为凸\Leftrightarrow \text{dom}f 为凸\ \ \forall x,y \in \text{dom}f\ \ 0 \le \theta \le 1有 \\ f(\theta x+(1-\theta)y \le \theta f(x)+(1-\theta)f(y) f:Rn→R为凸⇔domf为凸 ∀x,y∈domf 0≤θ≤1有f(θx+(1−θ)y≤θf(x)+(1−θ)f(y)
2、一阶条件
若
f
可
微
,
则
f
:
R
n
→
R
为
凸
⇔
dom
f
为
凸
∀
x
,
y
∈
dom
f
,
有
f
(
y
)
≥
f
(
x
)
+
∇
f
T
(
x
)
(
y
−
x
)
若f可微,则f:R^n\rightarrow R为凸\Leftrightarrow \text{dom}f 为凸\ \ \forall x,y\in \text{dom}f,有\\ f(y)\ge f(x)+\nabla f^T(x)(y-x)
若f可微,则f:Rn→R为凸⇔domf为凸 ∀x,y∈domf,有f(y)≥f(x)+∇fT(x)(y−x)
本质就是对于凸函数的一点做切线,凸函数要高于这条切线。
3、二阶条件
若
f
:
R
n
→
R
二
阶
可
微
,
则
f
:
R
n
→
R
为
凸
⇔
dom
f
为
凸
∇
2
f
(
x
)
≥
0
∀
x
∈
dom
f
若f:R^n \rightarrow R 二阶可微,则f:R^n\rightarrow R为凸\Leftrightarrow \text{dom}f 为凸\\ \nabla^2f(x) \ge 0\ \ \forall x \in \text{dom}f
若f:Rn→R二阶可微,则f:Rn→R为凸⇔domf为凸∇2f(x)≥0 ∀x∈domf
即二阶偏导大于等于零,
Hessain
矩
阵
\text{Hessain}矩阵
Hessain矩阵半正定。
二、一些例子
例1
凸函数的扩展依然是凸函数。
凸函数的扩展,形如:
f
:
R
n
→
R
为
凸
dom
f
∈
R
n
f
~
=
{
f
(
x
)
x
∈
dom
f
+
∞
x
∉
dom
f
f:R^n\rightarrow R为凸\ \ \text{dom}f\in R^n\\ \widetilde{f}=\left\{ \begin{aligned} f(x) \ \ \ \ x\in \text{dom}f\\ + \infty\ \ \ \ \ x\notin \text{dom}f \end{aligned} \right.
f:Rn→R为凸 domf∈Rnf
={f(x) x∈domf+∞ x∈/domf
例2
二次函数,形如:
f
(
x
)
=
1
2
x
T
P
x
+
q
T
x
+
r
f
:
R
n
→
R
dom
f
=
R
n
P
∈
S
n
q
∈
R
n
r
∈
R
f(x)=\frac{1}{2}x^T\textbf{P}x+q^Tx+r\\ f:R^n\rightarrow R \ \ \text{dom}f=R^n\\ \textbf{P}\in \textbf S^n\ \ q\in R^n \ \ r\in R
f(x)=21xTPx+qTx+rf:Rn→R domf=RnP∈Sn q∈Rn r∈R
当
∇
f
2
(
x
)
=
P
\nabla f^2(x)=\textbf{P}
∇f2(x)=P正定时二次函数为凸。
例3
形如:
f
(
x
)
=
1
x
2
x
≠
0
x
∈
R
f(x)=\frac{1}{x^2}\ \ x\neq0\ \ x\in R
f(x)=x21 x=0 x∈R
即使
f
′
′
(
x
)
=
6
x
−
4
>
0
f''(x)=6x^{-4}>0
f′′(x)=6x−4>0,但由于它的定义域非凸,因此它不是凸函数。
例4
仿射函数,形如:
f
(
x
)
=
A
x
+
b
f(x)=Ax+b
f(x)=Ax+b
其中
f
′
′
(
x
)
=
0
f''(x)=0
f′′(x)=0,因此它既是凸的又是凹的。
例5
指数函数,形如:
f
(
x
)
=
e
−
x
x
∈
R
f(x)=e^{-x}\ \ x\in R
f(x)=e−x x∈R
是凸的。
个人思考
判断一个函数是凸的,用定义其实是最直接但是难度比较高的方法。我觉得应当记住一些典型的凸函数如仿射函数、Hessain矩阵半正定的二次函数等,它们经过组合会产生很多新的函数,判断这些函数是否为凸只要看它们组合的方法是否为保持函数凸性的方法就可以了。
纸质笔记