03-凸函数
3.1 基础知识
梯度
--------------------------------------------
\nabla
的LaTeX是\nalba
--------------------------------------------
梯度的定义:
给定函数
f:\mathbb{R}^n\rightarrow\mathbb{R}
,且f
再点x
的一个邻域内有意义,若存在向量g\in\mathbb{R}^n
满足:\lim_{p\rightarrow 0}\frac{f(x+p)-f(x)-g^T p}{\Vert p\Vert}=0
其中
\Vert \cdot\Vert
是任意向量范数,就称f
在点x
处可微.此时g
称为f
在点x
处的梯度,记作\nabla f(x)
若f
在点x
处梯度存在,在定义式中令p=\varepsilon e_i
,e_i
是第i
个分量为1
的单位向量(其余是),可知\nabla f(x)
的第i
个分量\frac{\partial f(x)}{\partial x_i}
.因此,
\nabla f(x)=\left[\frac{\partial f(x)}{\partial x_{1}}, \frac{\partial f(x)}{\partial x_{2}}, \cdots, \frac{\partial f(x)}{\partial x_{n}}\right]^{\mathrm{T}}
海瑟矩阵
二阶偏导数\frac{\partial^2f(x)}{\partial x_i\partial x_j}
\nabla^2 f(x) =
\begin{bmatrix}
\frac{\partial^2 f(x)}{\partial x_1^2} & \frac{\partial^2 f(x)}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_1 \partial x_n} \\
\frac{\partial^2 f(x)}{\partial x_2 \partial x_1} & \frac{\partial^2 f(x)}{\partial x_2^2} & \cdots & \frac{\partial^2 f(x)}{\partial x_2 \partial x_n} \\
\vdots & \vdots & \ddots & \vdots \\
\frac{\partial^2 f(x)}{\partial x_n \partial x_1} & \frac{\partial^2 f(x)}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_n^2}
\end{bmatrix}
矩阵变量函数的导数
在实际应用中,矩阵Fréchet可微往往比较繁琐,所以我们用Gâteaux 可微:
定义(Gâteaux 可微)
设
f(X)
为矩阵变量函数,如果对任意方向V\in\mathbb{R}^{m\times n}
,存在矩阵G\in\mathbb{R}^{m\times n}
满足:\lim_{t\rightarrow 0}\frac{f(X+tV)-f(X)-t\langle G,V\rangle}{t}=0
则称
f
关于X
是Gâteaux 可微的。
当f
是Fréchet 可微函数时,f
也是Gâteaux 可微的,且这两种意义下的梯度相等。
线性函数:f(X)=\mathrm{tr}(AX^\top B)
\begin{align*}
\lim_{t \to 0} \frac{f(X + tV) - f(X)}{t} &= \lim_{t \to 0} \frac{\text{tr}(A(X + tV)^\top B) - \text{tr}(AX^\top B)}{t} \\
&=\lim_{t\rightarrow 0}\frac{\text{tr}(A(X^\top+tV^\top)B)-\text{tr}(AX^\top B)}{t}\\
&=\lim_{t\rightarrow 0}\frac{\text{tr}(AX^\top B)+t\text{tr}(AV^\top B)-\text{tr}(AX^\top B)}{t}\\
&= \text{tr}(AV^\top B) = \text{tr}(V^\top BA)=\langle BA, V \rangle.
\end{align*}
因此,\nabla f(X)=BA
3.2 凸函数的定义与性质
凸函数定义:函数
f: \mathbb{R}^n\rightarrow \mathbb{R}
,若\mathrm{dom} f
是凸集,且f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)
对所有的
x,y\in\mathrm{dom} f,0\leq \theta \leq 1
都成立,则称f
是凸函数几何表现:任意两点的连线都在其的上方,就是凸函数
定义域是凸集(一定要注意)
如果不取到端点的话就是严格凸函数
多元函数的例子
所有的仿射函数既是凸函数,又是凹函数(与一元函数一样)
所有的范数都是凸函数(零范数不是真的范数)
欧氏空间\mathbb{R}^n
的例子:
- 仿射函数:
f(x)=a^Tx+b
- 范数:
\Vert x\Vert _p=(\sum _{i=1}^n |x_i|)^{1/p}(p\geq 1)
矩阵空间\mathbb{R}^{m\times n}
的例子
- 仿射函数:
f(X)=\mathrm{tr}(A^T X)+b=\sum_{i=1}^m\sum_{j=1}^n A_{ij}X_{ij}+b
强凸函数
减去一个球(凸函数)还是凸函数那就是强凸函数
- 定义1:若存在常数
m>0
,使得:
g(x)=f(x)-\frac{m}{2}\Vert x\Vert ^2
为凸函数,则称f(x)
为强凸函数,其中m
为强凸参数,称f(x)
为m-
强凸函数
- 定义2:若存在常数
m \gt 0
,使得对任意x,y\in \text{dom }f
以及\theta\in (0,1)
,有
f(\theta x+(1-\theta y)) \leq \theta f(x)+(1-\theta) f(y)-\frac{m}{2} \theta(1-\theta)\|x-y\|^2
则称f(x)
为强凸函数,其中m
为强凸参数
- 设
f
为强凸函数且存在最小值,则f
的最小值点唯一
凸函数判定定理
定理
f: \mathbb{R}^n \to \mathbb{R}
是凸函数,当且仅当对每个x \in \text{dom} f, v \in \mathbb{R}^n
,函数g: \mathbb{R} \to \mathbb{R}
是关于t
的凸函数g(t) = f(x + tv), \quad \text{dom} \, g = \{ t \mid x + tv \in \text{dom} \, f \}
一阶条件
定理
一阶条件:对于定义在凸集上的可微函数
f
,f
是凸函数当且仅当f(y)\geq f(x)+\nabla f(x)^T(y-x) \quad \forall x,y\in\text{dom} f.
f(x)+\nabla f(x)^T(y-x)
为一阶泰勒展开
在二维的情况下,可以认为在任何一点点作其的切线,都在图像的下方,泰勒展开以前都是针对一维变量x
展开的,此时的x
可以作为矩阵
梯度的单调性
定理
设
f
为可微函数,则f
为凸函数当且仅当\text{dom} f
为凸集且\nabla f
为单调映射,(\nabla f(x)-\nabla f(y))^\text{T}(x-y)\geq 0,\quad \forall x,y\in\text{dom}f
类似于(f(x)-f(y))(x-y)\geq 0
,可以写出内积形式\langle \nabla f(x)-\nabla f(y),x-y\rangle \geq 0
二阶条件
定理
二阶函数:
f
在凸集上二阶可微
f
是凸函数当且仅当,海瑟矩阵半正定,即\nabla ^2f(x)\succeq 0
- 如果
\nabla ^2f(x)\succ 0
则f
是严格凸函数- (如果是
f
是严格凸函数,但是不能说其半正定,例如f(x)=x^4
,但是f^{''}(x)=12x^2
在处是等于的)
二次函数f(x)=(1/2)x^TPx+q^Tx+r
,那么\nabla f(x)=Px+q,\quad \nabla^2f(x)=P
最小二乘函数:f(x)=\Vert Ax-b\Vert_2^2
\nabla f(x)=2A^T(Ax-b),\quad \nabla^2f(x)=2A^TA
quadratic-over-linear函数:f(x,y)=\frac{x^2}{y}
是区域\{(x,y)\mid y>0\}
上的凸函数
证明:
\nabla^2 f(x, y) = \frac{2}{y^3}
\begin{bmatrix}
y \\
-x
\end{bmatrix}
\begin{bmatrix}
y & -x
\end{bmatrix}^T \succeq 0
如何证明
\begin{bmatrix}
y \\
-x
\end{bmatrix}
\begin{bmatrix}
y & -x
\end{bmatrix}^T
是半正定矩阵,即需要证明在z_1,z_2
任意的情况下,其值都大于等于,即:
\begin{align}
\begin{bmatrix}
z_1 & z_2
\end{bmatrix}
\begin{bmatrix}
y \\
-x
\end{bmatrix}
\begin{bmatrix}
y & -x
\end{bmatrix}^T
\begin{bmatrix}
z_1 \\ z_2
\end{bmatrix}
&=
\begin{bmatrix}
z_1 & z_2
\end{bmatrix}
\begin{bmatrix}
y^2 & -xy \\
xy & y^2
\end{bmatrix}
\begin{bmatrix}
z_1 \\ z_2
\end{bmatrix}
\\
&=
\begin{bmatrix}
y^2z_1+xyz_2 & -xyz_1+z_2y^2
\end{bmatrix}
\begin{bmatrix}
z_1 \\ z_2
\end{bmatrix}\\
&=(y^2z_1+xyz_2)z_1+(-xyz_1+z_2y^2)z_2\\
&=(z_1^2+z_2^2)y^2 \geq 0
\end{align}
Jensen不等式
基础Jensen不等式:设f
是凸函数,则对于0\leq \theta\leq 1
,
f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)
概率Jensen不等式:设f
是凸函数,则对任意随机变量z
f(\mathbf{E} z) \leq \mathbf{E} f(z)
3.3 保凸的运算
保凸的运算
验证一个函数f
是凸函数的方法:
- 用定义验证(通常将函数限制在一条直线上)
- 利用一阶条件、二阶条件
- 说明
f
可由凸函数的保凸运算得到- 非负加权和
- 与仿射函数的复合
- (待完成)
非负加权和与仿射函数的复合
若f
是凸函数:
\alpha f
是凸函数,其中\alpha \geq 0
f_1+f_2
是凸函数f(Ax+b)
是凸函数
逐点取最大值
若f_1,\cdots,f_m
是凸函数,则f(x)=\max \{f_1(x),\cdots, f_m(x)\}
是凸函数
例:
- 分段线性函数:
f(x)=\max_{i=1,...,m}(a_i^\top x+b_i)
是凸函数
逐点取上界
对于每个y\in\mathcal{A},f(x,y)
是关于x
的凸函数,则
g(x)=\sup _{y\in\mathcal{A}}f(x,y)
是凸函数
仿射函数的上界保持凸性,
f(x,y)
的既是不是仿射,只要是凸函数仍然保持凸性
例
-
集合
C
的支撑函数:S_C(x)=\sup_{y\in C}y^Tx
是凸函数 -
集合
C
点到给定点x
的最远距离:
f(x)=\sup_{y\in C}\Vert x-y\Vert
- 对称矩阵
X\in\mathbb{S}^n
的最大特征在
\lambda_\max (X)=\sup_{\Vert y\Vert_2=1}y^TXy
对于任意
y
固定,f(x)
都是关于x
的仿射函数,仿射函数取上界也是凸函数
这里有对于inf
(下确界)和sup
(上确界)的理解
例子:
\inf \{1,2,3\}=1
\inf\{x\in\mathbb{R},0\lt x\lt 1\}=0
这里可以看出,与取不取得到无关\inf \{(-1)^n+\frac{1}{n}\mid n=1,2,\cdots\}=-1
,下确界可以不属于这个集合
与下确界对偶的概念当然是上确界sup
例子:
\sup \{1,2,3\}=3
\sup \{x \in \mathbb{R}, 0\lt x\lt 1\}=\sup \{x \in \mathbb{R}, 0 \leq x \leq 1\}=1
\sup \left\{(-1)^n-\frac{1}{n}: n=1,2,3, \ldots\right\}=1
\sup \{a+b: a \in A \operatorname{and} b \in B\}=\sup (A)+\sup (B)
扩展函数
有f(x),x\in \text{dom} f
,拓展函数为
\tilde{f}(x) =
\begin{cases}
f(x), & x \in \text{dom}f, \\
+\infty, & x \notin \text{dom}f.
\end{cases}
与标量函数的复合
给定函数g: \mathbb{R}^n\rightarrow \mathbb{R}
和h:\mathbb{R}\rightarrow \mathbb{R}
,
f(x)=h(g(x))
若
g
是凸函数,h
是凸函数,h
单调不减g
是凹函数,h
是凸函数,h
单调不增
那么f
是凸函数
对于n=1
,g,h
都可微分的情况,给出简证
f^{\prime\prime}(x)=h^{\prime\prime}(g(x))g^\prime(x)^2+h^\prime(g(x))g^{\prime\prime}(x).
要使得f^{\prime\prime}(x)\geq 0
,那么需要每一项都大于等于,充分条件为:
h^{\prime\prime}(g(x))\geq 0,h^\prime(g(x))\geq 0,g^{\prime\prime}(x)\geq 0
h^{\prime\prime}(g(x))\geq 0,h^\prime(g(x))\leq 0,g^{\prime\prime}(x)\leq 0
那么则分别对应两种情况
h
为凸函数,h
不递减,g
为凸函数h
为凸函数,h
不递增,g
为凹函数
g,h
不可微分的时候,结论依然成立
推论:
- 如果
g
是凸函数,则\exp g(x)
是凸函数 - 如果
g
是正值凸函数,则1/g(x)
是凸函数
与向量函数的复合
给定函数g:\mathbb{R}^n\rightarrow \mathbb{R}^k
和h:\mathbb{R}^k\rightarrow \mathbb{R}
f(x)=h(g(x))=h(g_1(x),g_2(x),\cdots,g_k(x))
与「标量函数的复合」类似,只不过拓展到h
关于每个分量都单调不减/不增
推论
- 如果
g_i
是正值凹函数,则\sum_{i=1}^m\log g_i(x)
是凹函数 - 如果
g_i
是凸函数,则\log \sum_{i=1}^m\exp g_i(x)
是凸函数
取下确界
若f(x,y)
关于(x,y)
整体是凸函数,C
是凸集,则
g(x)=\inf_{y\in C}f(x,y)
是凸函数
例子
考虑函数f(x,y)=X^TAx+2x^TBy+y^TCy
,海瑟矩阵满足
\begin{bmatrix}
A & B\\B^T & C
\end{bmatrix}
\succeq 0,\quad C\succ 0
则f(x,y)
为凸函数,对y
求最小值得
\frac{\partial f(x,y)}{\partial y}=2B^Tx+2Cy=0\\
\begin{align}
Cy&=-B^Tx \quad (C\succ 0)\\
y^*&=-C^{-1}B^Tx
\end{align}
\\\
g(x)=\inf_y f(x,y)=x^T(A-BC^{-1}B^T)x
因此g
是凸函数,进一步地,A
的Schur补A-BC^{-1}B^T\succeq 0
点x
到凸集S
的距离\text{dist}(x,S)=\inf_{y\in S}\Vert x-y\Vert
是凸函数
透视函数
定义f:\mathbb{R}^n\rightarrow \mathbb{R}
的透视函数g:\mathbb{R}^n\times \mathbb{R}\rightarrow \mathbb{R}
,
g(x,t)=tf(x/t),\quad \text{dom}\ g=\{(x,y)\mid x/y\in \text{dom}\ f,t>0\}
若f
是凸函数,则g
也是凸函数
例子
f(x)=x^Tx
是凸函数,因此g(x,t)=x^Tx/t
是区域\{ x,t\}\mid t>0\}
上的凸函数
t(\frac{x}{t})^T(x/t)=\frac{x^Tx}{t}
共轭函数
函数f
的共轭函数定义为
f^*(y)=\sup_{x\in\text{dom}\ f}(y^Tx-f(x))
f^*
恒为凸函数,无论f
是否为凸函数
y
是给定的,变x
取上界
xy
水平向下平移,直到与之相切的地方,即求xy
与f(x)
的切线,即
\frac{\partial xy-f(x)}{\partial x}=0\Rightarrow y-f^\prime(x)=0
例子
- 负对数
f(x)=-\log x
\begin{aligned}
f^*(y) & =\sup _{x>0}(x y+\log x) \\
& = \begin{cases}-1-\log (-y) & y<0 \\
\infty & \text { 其他 }\end{cases}
\end{aligned}
过程:当y\lt 0
的时候,有
\begin{align}
g(x)&=xy+\log x\\
g^\prime(x)&=y+\frac{1}{x}=0\Rightarrow x=-\frac{1}{y}\\
f^*(y)&=\sup_x (xy+\log x)\\
&=-\frac{1}{y}\cdot y+\log(-\frac{1}{y})\\
&=-1-\log(-y)
\end{align}
-
强凸二次函数
f(x)=(1 / 2) x^T Q x, Q \in \mathbb{S}_{++}^n
\begin{aligned}
f^*(y) & =\sup _x\left(y^T x-(1 / 2) x^T Q x\right) \\
& =\frac{1}{2} y^T Q^{-1} y
\end{aligned}
过程有
\begin{align}
g(x)&=y^\top x-\frac{1}{2}x^\top Qx\\
g^\prime(x)&=y-Qx=0\Rightarrow x^*=Q^{-1}y\\
f^*(y)&=\frac{1}{2}y^\top Q^{-1}y-\frac{1}{2}(Q^{-1}y)^\top\\
&=\frac{1}{2}y^\top Q^{-1}y
\end{align}
文章评论