凸优化在学术研究中非常重要,经常遇到的问题是证明凸性。常规证明凸性的方式是二阶导数的黑塞矩阵为半正定,或者在一维函数时二阶导数大于等于零。但很多时候的数学模型并不那么常规、容易求导的,若能够知道一些保留凸性的运算,将能够显著减少证明凸性的难度。这篇博客总结一些这个知识点。
1. 非负加权和
若函数
f
1
,
…
,
f
m
f_1,\dots,f_m
f1,…,fm 为凸函数,参数
w
1
,
…
,
w
m
w_1,\dots,w_m
w1,…,wm 非负,则函数
f
=
w
1
f
1
+
⋯
+
w
m
f
m
f=w_1f_1+\dots+w_mf_m
f=w1f1+⋯+wmfm
为凸函数。
这可以推广到无限加权和的情况,若函数
f
(
x
,
y
)
f(x,y)
f(x,y) 对于
y
∈
A
y\in \mathcal{A}
y∈A 的每个值都是
x
x
x 的凸函数,并且
w
(
y
)
≥
0
w(y)\geq 0
w(y)≥0,那么函数
g
(
x
)
=
∫
A
w
(
y
)
f
(
x
,
y
)
d
y
g(x) = \int_{\mathcal{A}}w(y)f(x,y)dy
g(x)=∫Aw(y)f(x,y)dy
也是凸函数。(只要积分存在,即 ∫ A w ( y ) ∣ f ( x , y ) ∣ d y < ∞ \int_{\mathcal{A}}w(y)|f(x,y)|dy<\infty ∫Aw(y)∣f(x,y)∣dy<∞)
2. 限制为一条线
凸函数限制为一条线线(restriction to a line),几何意义是凸函数对某条线(这条线为: x + t v x+tv x+tv)与定义域的交集上的点取函数值:对于凸函数 f ( x ) f(x) f(x),对于它定义域内的一点 x x x,即 x ∈ dom f x\in \textbf{dom } f x∈dom f,另外一个满足 x + t v ∈ dom f x+tv\in\textbf{dom } f x+tv∈dom f 的点 v v v,那么函数
g ( t ) = f ( x + t v ) g(t)=f(x+tv) g(t)=f(x+tv)
是关于 t t t 的凸函数。
举例, f ( x , y ) = x 2 + y 2 f(x,y)=x^2+y^2 f(x,y)=x2+y2 为一个凸函数,它的图像为:
若
x
=
(
0
,
0
)
x=(0,0)
x=(0,0),
v
=
(
1
,
2
)
v=(1,2)
v=(1,2),
f
(
x
+
t
v
)
=
2
t
2
f(x+tv)=2t^2
f(x+tv)=2t2,图像为:
看到一些资料说,限制为一条线相当于一个函数竖截面与函数图像交点形成的那条线,如下:
但似乎并不完全是,这条线的形状跟
x
x
x,
v
v
v 的取值有关,这在一维函数时特别明显,但都是凸的。
例如,若 f ( x ) = x 2 f(x)=x^2 f(x)=x2,取 x = 0 , v = 2 x=0, v=2 x=0,v=2,则 g ( t ) = 4 t 2 g(t)=4t^2 g(t)=4t2,图像如下:
有一个定理:
f ( x ) f(x) f(x) 为凸函数,当且仅当对任何 x ∈ dom f x\in\textbf{dom} f x∈domf, x + t v ∈ dom f x+tv\in\textbf{dom} f x+tv∈domf, g ( t ) = f ( x + t v ) g(t)=f(x+tv) g(t)=f(x+tv) 都为凸函数。