最优化算法速通 - 凸集和凸函数
03 December 2022 |
duanyll | Tags:
最优化
几何概念
- 线段: ${\alpha x+(1-\alpha)y:\alpha\in[0,1]}$
- 超平面:
- ${x\in\mathbb{R}^{n}:u^{\top}x=v}$, $u$ 是法向量, $v$ 是截距
- $\langle{\boldsymbol{u} },{\boldsymbol{x} }-{\boldsymbol{a} }\rangle=0$, $\boldsymbol{a}$ 是平面上一点
- 半空间
- 正半空间 $H_{+}={x\in\mathbb{R}^{n}:u^{\top}x\geqslant v}$
- 负半空间 $H_{-}={x\in\mathbb{R}^{n}:u^{\top}x\leqslant v}$
- 线性簇: 线性方程组的解集 ${\alpha\in\mathbb{R}^{n}:A x=b}$
凸集
- 定义: 任意两点间的线段 (凸组合) 位于集合内
- 空集, 单点集, 线性簇是凸集
- 半正定矩阵集是凸集
- 保凸运算
- 数乘, Minkowoski 和(任意两个不同集的向量相加得到新集合), 交集
- 仿射变换
- 极点: 不能表达成集合内两个点连线段的”内点”
- 邻域, 内点, 开集, 边界, 闭集, 紧集
- 极值原理: 连续函数在紧集上一定能取到闭集
多面体
- 支撑超平面: 经过凸集的边界点, 使凸集完全位于一个半空间内
- 多面体: 可表示为有限个半空间的交集
- 非空有界的多面体: $Ax\leq b, Cx=d$
序列与极限
- 矩阵序列 ${A_k}$ 收敛于 $A$: $\operatorname*{lim}{k\to\infty}|A-A{k}|=0$
-
矩阵收敛于零矩阵 $\operatorname{lim}_{k\to\infty}A^{}=O \lrArr \lambda_{i}\left(A\right) \ <1\left(\ i=1,\ \cdots,\ n\right)$ 矩阵的谱半径小于 1 - 矩阵的幂级数收敛 $I_{n}+A+A^{2}+\cdots+A^{k}+\cdots = (I_{n}-A)^{-1}\lrArr \operatorname{lim}_{x\to A}A^{}=O$ 矩阵收敛于零矩阵
- 矩阵值函数 $A:\;{\mathbb{R} }^{r}\longrightarrow{\mathbb{R} }^{n\times n}$ 在某点连续且函数值可逆, 则存在邻域使得 $A\left(\xi\right)^{-1}$ 存在且连续
可微性
仿射函数: 存在线性函数 $\mathcal{L}:\mathbb{R}^{n}\to\mathbb{R}^{n}$ 和向量 $y$, 使得 ${\mathcal{A} }(x)={\mathcal{L} }(x)+y$
可微性: 理解为对函数仿射逼近 (一阶 Taylor 逼近)
\[\mathcal{A}(x)=\mathcal{L}(x-x_{0})+\mathcal{f}(x_{0})\] \[\operatorname*{lim}_{x\rightarrow x_{0},x\in\Omega}\frac{\left\|\mathcal{f}(x)-A(x)\right\|}{\left\|x-x_{0}\right\|}=0\]- 一元函数时, 退化为一元函数的导数
- 多元函数时, 退化为多元函数的梯度
- $\nabla f(x)$ 列向量
- $Df(x)$ 行向量
向量值函数 $f\colon\mathbb{R}^{n}\to\mathbb{R}^{m}$ 的导数 (Jacobi 矩阵 $m\times n$):
\[\left[\frac{\partial f}{\partial x_{1} }(x_{0})\ \cdots\ \frac{\partial f}{\partial x_{n} }(x_{0})\right]=\left[\begin{array}{c c c}{ {\frac{\partial f_{1} }{\partial x_{1} }(x_{0})} }&{ {\cdots} }&{ {\frac{\partial f_{1} }{\partial x_{n} }(x_{0})} }\\ { {\vdots} }& &{ {\vdots} }\\ { {\frac{\partial f_m}{\partial x_{1} }(x_{0})} }&{ {\cdots} }&\frac{\partial f_{m} }{\partial x_{n} }(x_{0})\end{array}\right]\]纵轴(第一维)是因变量, 横轴(第二维)是自变量
Hessian 矩阵: 梯度的 Jacobi 矩阵, 二阶导
链式法则: $h(t)=g(f(t))$
注意把向量的形状凑对, 求复合函数的 Jacobi, 只需外层 Jacobi 乘内层 Jacobi
$f: m \rarr n, g:n\rarr p, f(g): m \rarr p, (p \times n) (n\times m) \rarr (p\times m)$
方向导数: 单位方向向量点乘梯度 $d^{\top}\nabla f(x)$
水平集
- 单值函数在水平 $c$ 上的水平集(等值线): $S={x:f(x)=c}$
- 等值线不相交
- 等值线疏密程度刻画函数变化快慢
- 等值线与梯度垂直
- 等值线在极值点附近近似为椭圆
Taylor 展开
可微函数 $f$ 在 $x_0$ 的切线超平面:
\[z-z_{0}=D f(x_{0})(x-x_{0})=(x-x_{0})^{\mathsf{T} }\nabla f(x_{0})\]- 同阶无穷小 $f({\boldsymbol{x} })=O(g({\boldsymbol{x} }))$: $\frac{|f(\alpha)|}{|g(\alpha)|}$ 在原点的某邻域内有界
- 高阶无穷小 $f({\boldsymbol{x} })=o\left({\mathcal{g} }({\boldsymbol{x} })\right)$: $\operatorname*{lim}_{x\to0,\kappa\in\Omega}\frac{|f(\alpha)|}{|g(\alpha)|}=0$
多元数量值函数的二阶 Taylor 展开 (假设二阶可微)
\[f(x)=f(x_{0})+{\frac{1}{1!} }D f(x_{0})(x-x_{0})+{\frac{1}{2!} }(x-x_{0})^{\mathsf{T} }D^{2}f(x_{0})(x-x_{0})+o(\|x-x_{0}\|^{2})\]余项也可以是 $O(|x-\alpha_{0}|^{3})$. 更高阶的 Taylor 展开很难写出, 因为导数是高维张量.
中值定理 (类似 Lagrange 中值)
极小点
- 局部极小点: 去心邻域内 $f(x)\geqslant f(x^{*})$
- 全局极小点: $f(x^)=\min_{x\in\Omega}f(x), x^=\arg\min_{x\in\Omega}f(x)$
- 严格局部极小点: 去心邻域内 $f(x)> f(x^{*})$
- 严格全集极小点
- 可行方向 $d$: $\exist \alpha_0>0,\forall\alpha\in[0,\alpha_0],x+\alpha d\in \Omega$
最优性条件
$x^*$ 是局部极小点, $d$ 是任意可行方向
- 一阶必要条件: $d^{\mathsf{T} }\nabla f(x^{*})\geq0$
- 若 $x^$ 是内点, 则 $\nabla f(x^{})=0$
- 二阶必要条件: $d^{\top}\nabla f(x^{})\;=\;0$ 且 $d^{\top}F(x^{})d\geq0$
- 若 $x^$ 是内点, 则 $\nabla f(x^{})=0$ 且 Hessian 矩阵半正定
- 二阶充分条件: $x^$ 是内点, 则 $\nabla f(x^{})=0$ 且 Hessian 矩阵正定