├── README.md ├── figures ├── 1.8.png ├── 1.9.png ├── 2.11.png ├── 2.12.png ├── 2.13.png ├── 2.14.png ├── 2.2.png ├── 2.3.png ├── 2.8.png └── 2.9.png ├── 原版教材 └── 最优化:建模、算法与理论(第二版).pdf ├── 最优化:建模、算法与理论.md └── 注释版教材 └── 最优化:建模、算法与理论(第二版).pdf /README.md: -------------------------------------------------------------------------------- 1 | # 最优化:建模、算法与理论(第二版) 2 | 3 | ## 项目简介 4 | 5 | 官方网址:[最优化:建模、算法与理论/最优化计算方法 (pku.edu.cn)](https://bicmr.pku.edu.cn/~wenzw/optbook.html) 6 | 7 | 《最优化:建模、算法与理论》中文版学习笔记,包含原版与注释版pdf教材(第二版)。 8 | 9 | ## 阅读笔记 10 | 11 | 笔者对本书的学习尚未完成,具体的笔记分会随阅读进度进行更新,速度不定。 12 | 13 | **最后更新时间:**2022.8.15 14 | 15 | **目前进度:** 16 | 17 | 第1章:全部完成 18 | 19 | 第2章:全部完成 20 | 21 | 第3章:进度3.1.1 22 | 23 | 第4章:未开始 24 | 25 | 第5章:未开始 26 | 27 | 第6章:未开始 28 | 29 | 第7章:未开始 30 | 31 | 第8章:未开始 32 | -------------------------------------------------------------------------------- /figures/1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/1.8.png -------------------------------------------------------------------------------- /figures/1.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/1.9.png -------------------------------------------------------------------------------- /figures/2.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.11.png -------------------------------------------------------------------------------- /figures/2.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.12.png -------------------------------------------------------------------------------- /figures/2.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.13.png -------------------------------------------------------------------------------- /figures/2.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.14.png -------------------------------------------------------------------------------- /figures/2.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.2.png -------------------------------------------------------------------------------- /figures/2.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.3.png -------------------------------------------------------------------------------- /figures/2.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.8.png -------------------------------------------------------------------------------- /figures/2.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/figures/2.9.png -------------------------------------------------------------------------------- /原版教材/最优化:建模、算法与理论(第二版).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/原版教材/最优化:建模、算法与理论(第二版).pdf -------------------------------------------------------------------------------- /最优化:建模、算法与理论.md: -------------------------------------------------------------------------------- 1 | # 最优化:建模、算法与理论 2 | 3 | 官方网址:[最优化:建模、算法与理论/最优化计算方法 (pku.edu.cn)](https://bicmr.pku.edu.cn/~wenzw/optbook.html) 4 | 5 | 笔记使用第二版pdf作为教材。 6 | 7 | 8 | 9 | # 1 最优化简介 10 | 11 | ## 1.1 问题概括 12 | 13 | 一般的最优化问题,可概括为: 14 | 15 | $$ 16 | \begin{align}\min\ \ &f(x)\\\text{s.t.}\ \ &x\in\mathcal{X}\end{align} 17 | $$ 18 | 19 | | 术语名称 | 术语解释 | 20 | | -------------------- | ---------------------------------------- | 21 | | 决策变量 | $x=(x_1,x_1,\dots,x_n)^T\in\mathbb{R}^n$ | 22 | | 目标函数 | $f:\mathbb{R}^n\rightarrow\mathbb{R}$ | 23 | | 约束集合(可行域) | $\mathcal{X}\in\mathbb{R}^n$ | 24 | | 可行解(可行点) | 可行域中包含的点 $x$ | 25 | | 最优解 | 使 $f(x)$ 取最小值的点 $x^*$ | 26 | | 约束于(subject to) | $s.t.$ | 27 | | 约束条件 | $x\in\mathcal{X}$ | 28 | 29 | 其中约束集合 $\mathcal{X}$ 通常可表述为以下形式: 30 | $$ 31 | \begin{align}\mathcal{X}=\{x\in\mathbb{R}^n\ |\ &c_i(x)\leq0,\ i=1,2,\dots,m\\&c_i(x)=0,\ i=m+1,m+2,\dots,m+l\}\end{align} 32 | $$ 33 | 如果我们的目标为求解目标函数 $f(x)$ 在约束集合 $\mathcal{X}$ 上的最大值,则 $\min$ 应相应替换为 $\max$ 。 34 | 35 | 当目标函数 $f(x)$ 在约束集合 $\mathcal{X}$ 上的最小值($\min$)或最大值($\max$)不存在时,我们可以使用其下确界($\inf$)或上确界($\sup$)代替。(可以证明其上下确界必定存在) 36 | 37 | 38 | 39 | ## 1.2 实例:稀疏优化 40 | 41 | 42 | 43 | ## 1.3 实例:低秩矩阵恢复 44 | 45 | 46 | 47 | ## 1.4 实例:深度学习 48 | 49 | 50 | 51 | ## 1.5 基本概念 52 | 53 | ### 1.5.1 连续和离散优化问题 54 | 55 | **连续优化问题:**决策变量所在的可行集合是连续的,比如平面、区间等。 56 | 57 | **离散优化问题:**决策变量能在离散集合上取值,比如离散点集、整数集等。 58 | 59 | 在连续优化问题中,可根据约束集合中某点的取值,估计该点可行邻域内的取值情况,进而判断其是否最优;而离散优化问题则不具备此性质,一般需要将其转化为连续优化问题进行求解。 60 | 61 | ### 1.5.2 约束和无约束优化问题 62 | 63 | **约束优化问题:**决策变量受到约束条件限制,即可行域 $\mathcal{X}\ne\mathbb{R}^n$ 。 64 | 65 | **无约束优化问题:**决策变量没有约束条件限制,即可行域 $\mathcal{X}=\mathbb{R}^n$ 。 66 | 67 | 实际问题中,这两类问题广泛存在。通过某些方法(增广拉格朗日函数法、罚函数法等),可以通过将约束条件 $x\in\mathcal{X}$ 转化到目标函数 $f$ 中,从而将约束优化问题转化为无约束优化问题;尽管如此,如果直接求解约束优化问题,往往更好地描述可行域 $\mathcal{X}$ 的几何性质,进而更有效地找到最优解 $x^*$ 。 68 | 69 | ### 1.5.3 随机和确定性优化问题 70 | 71 | **随机优化问题:**目标或者约束函数中涉及随机变量而带有不确定性的问题。 72 | 73 | **确定性优化问题:**目标和约束函数都确定的问题。 74 | 75 | 随机优化问题的求解,在实践中往往使用大量样本进行参数的拟合,其相比确定性优化问题需要更低的算法复杂度与收敛性。 76 | 77 | ### 1.5.4 线性和非线性规划问题 78 | 79 | **线性规划问题:**目标函数和约束函数都是线性的。 80 | 81 | **非线性规划问题:**目标函数和约束函数至少有一个是非线性。 82 | 83 | 线性规划问题具有较为简单的形式,其最流行的两个求解方法为单纯形法与内点法。 84 | 85 | ### 1.5.5 凸和非凸优化问题 86 | 87 | **凸优化问题:**目标函数和可行域分别是凸函数和凸集。 88 | 89 | **非凸优化问题:**目标函数和可行域至少有一个是非凸的。 90 | 91 | 凸优化问题的任何局部最优解都是全局最优解,其相应的算法设计以及理论分析相对非凸优化问题简单很多。 92 | 93 | ### 1.5.6 全局和局部最优解 94 | 95 | 对于可行点 $\bar{x}\in\mathcal{X}$ ,以及其存在的一定义以下概念: 96 | 97 | | 可行点 $\bar{x}$ 定义 | 条件 | 98 | | --------------------- | ------------------------------------------------------------ | 99 | | 全局极小解(点) | $f(\bar{x})\le f(x),\forall x\in\mathcal{X}$ | 100 | | 局部极小解(点) | $f(\bar{x})\le f(x),\forall x\in\mathcal{X}\cap N_\epsilon(\bar{x})$ | 101 | | 严格局部极小解(点) | $f(\bar{x})< f(x),\forall x\in\mathcal{X}\cap N_\epsilon(\bar{x}),x\ne\bar{x}$ | 102 | 103 | 104 | 105 | ### 1.5.7 优化算法——迭代法 106 | 107 | **显式解:**可直接由代数表达式给出的解。 108 | 109 | **隐式解:**不可直接由代数表达式给出的解。 110 | 111 | **迭代法:**现实问题往往不含有显式解,常使用迭代法进行逼近。从初始点 $x^0$ 出发,按照给定规则进行迭代,得到序列 $\{x^k\}$ 。若序列在有限步内终止,则希望其最后一点为优化问题的解;若序列为无穷迭代点集合,则希望序列的极限点(或聚点)为优化问题的解。 112 | 113 | #### 收敛准则——无约束优化问题 114 | 115 | $$ 116 | \frac{f(x^k)-f^*}{\max(|f^*|,1)}\le\epsilon_1,\quad\lVert\nabla f(x^k)\rVert\le\epsilon_2 117 | $$ 118 | 119 | 其中 $f^*$ 为函数的最小值,$\lVert\cdot\rVert$ 代表某种范数,$\epsilon_i$ 为很小的正数。 120 | 121 | #### 收敛准则——约束优化问题 122 | 123 | 在无约束优化问题的基础上,加入约束违反度 $c$ 的度量。 124 | $$ 125 | \begin{aligned} 126 | c_i(x^k)&\le\epsilon_3,\ i=1,2,\dots,m\\ 127 | |c_i(x^k)|&\le\epsilon_4,\ i=m+1,m+2,\dots,m+l 128 | \end{aligned} 129 | $$ 130 | 同时,也要考虑 $x^k$ 与最优解 $x^*$ 之间的距离,实际中一般采用点的最优性条件违反度进行判别(第五章)。 131 | 132 | #### 停机准则 133 | 134 | 用于反映点列是否接近收敛,以及时停止算法的进行,避免无用的计算开销。 135 | $$ 136 | \frac{\lVert x^{k+1}-x^k\rVert}{\max(\lVert x^k\rVert,1)}\le\epsilon_5,\quad\frac{|f(x^{k+1})-f(x^k)|}{\max(|f(x^k)|,1)}\le\epsilon_6 137 | $$ 138 | 上式分别表示 相邻迭代点 和 其对应目标函数值 的相对误差很小。 139 | 140 | #### 求解技巧 141 | 142 | 泰勒展开、对偶、拆分、块坐标下降等。 143 | 144 | #### 算法收敛标准 145 | 146 | | 算法 | 初始点 $x^0$ | 收敛类型 | 147 | | ------------------------------------ | ------------ | ------------------------------------------------------------ | 148 | | 依点列收敛到局部(全局)极小解 | 给定 | $\lim_{k\rightarrow\infty}\lVert x^k-x^*\rVert=0\\$,$x^*$为局部(全局)极小解 | 149 | | 全局依点列收敛到局部(全局)极小解 | 任意 | $\lim_{k\rightarrow\infty}\lVert x^k-x^*\rVert=0\\$,$x^*$为局部(全局)极小解 | 150 | | 依函数值收敛到局部(全局)极小值 | 给定 | $\lim_{k\rightarrow\infty}\lVert f(x^k)-f^*\rVert=0\\$,$f^*$为局部(全局)极小值 | 151 | | 全局依函数值收敛到局部(全局)极小值 | 任意 | $\lim_{k\rightarrow\infty}\lVert f(x^k)-f^*\rVert=0\\$,$f^*$为局部(全局)极小值 | 152 | 153 | #### 算法评价指标——渐进收敛速度 154 | 155 | ##### Q-收敛速度(Q即quotient) 156 | 157 | [Q收敛速度的三种形式 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/278151142) 158 | 159 | 设 $\{x^k\}$ 为算法产生的迭代点列,且其收敛于 $x^*$,给出如下公式: 160 | $$ 161 | q_1=\lim_{k\rightarrow\infty}\frac{\lVert x^{k+1}-x^*\rVert}{\lVert x^k-x^*\rVert} 162 | $$ 163 | 164 | | Q-收敛速度 | $q_1$ 取值范围 | 例子 | 165 | | ------------ | -------------- | -------------------------------- | 166 | | Q-次线性收敛 | $q_1=1$ | $x^k=\frac{1}{k^n},\ n\in N^*\\$ | 167 | | Q-线性收敛 | $q_1\in(0,1)$ | $x^k=\frac{1}{2^k}\\$ | 168 | | Q-超线性收敛 | $q_1=0$ | $x^k=\frac{1}{2^{2^k}}\\$ | 169 | 170 | 特别地,若 $x^k$ 满足Q-超线性收敛,则可由以下公式找出其具体的收敛次数: 171 | $$ 172 | q_n=\lim_{k\rightarrow\infty}\frac{\lVert x^{k+1}-x^*\rVert}{\lVert x^k-x^*\rVert^n},\ n>1,\ n\in N^* 173 | $$ 174 | 若 $q_n\in(0,1)$,则称算法(点列)为**Q-n次收敛**的。如上表例子中的 $x^k=\frac{1}{2^{2^k}}\\$ 就是**Q-二次收敛**的。 175 | 176 | 177 | 178 | ##### R-收敛速度(R即root) 179 | 180 | R-收敛速度是基于另一个收敛序列进行定义的。 181 | 182 | 设算法产生的迭代序列 $\{x^k\}$ 收敛于 $x^*$,任意非负序列 $\{t^k\}$ Q-收敛于 $0$。对于任意的 $k$​,如下等式均成立: 183 | $$ 184 | \lVert x^k-x^*\rVert\le t^k 185 | $$ 186 | 则序列 $\{x^k\}$ 的R-收敛速度与序列 $\{t^k\}$ 的Q-收敛速度对应,如下表所示: 187 | 188 | | 序列 $\{x^k\}$ 的R-收敛速度 | 序列 $\{t^k\}$ 的Q-收敛速度 | 189 | | --------------------------- | --------------------------- | 190 | | R-次线性收敛 | Q-次线性收敛 | 191 | | R-线性收敛 | Q-线性收敛 | 192 | | R-超线性收敛 | Q-超线性收敛 | 193 | 194 | #### 算法评价指标——复杂度 195 | 196 | 优化算法的复杂度 $N(\epsilon)$,即计算出给定精度 $\epsilon$ 的解所需的迭代次数或浮点运算次数。 197 | 198 | 199 | 200 | ## 1.6 总结 201 | 202 | 203 | 204 | ## 习题 1 205 | 206 | 207 | 208 | 209 | 210 | # 2 基础知识 211 | 212 | ## 2.1 范数 213 | 214 | 称一个从向量空间 $\mathbb{R}^n$ 到实数域 $\mathbb{R}$ 的非负函数 $\lVert\cdot\rVert$ 为范数,其满足以下性质: 215 | 216 | 1. 正定性:任意 $v\in\mathbb{R}^n$,都有 $\lVert v\rVert\ge0$,且 $\lVert v\rVert=0$ 当且仅当 $v=0$。 217 | 2. 齐次性:任意 $v\in\mathbb{R}^n,\ \alpha\in\mathbb{R}$,都有 $\lVert\alpha v\rVert=|\alpha|\lVert v\rVert$。 218 | 3. 三角不等式:任意 $v,w\in\mathbb{R}^n$,都有 $\lVert v+w\rVert=\lVert v\rVert+\lVert w\rVert$。 219 | 220 | ### 2.1.1 向量范数 221 | 222 | **$l_p$ 范数**为最常用的范数,定义如下:(其中 $p=1,2,\infin$ 的情形最常用) 223 | $$ 224 | \lVert v\rVert_p=\bigg(\sum_{i=1}^n|v_i|^p\bigg)^{\frac{1}{p}},\ p\ge1\\ 225 | $$ 226 | 特殊地,$p=\infin$ 时,$\lVert v\rVert_\infin=\max_i |v_i|$。 227 | 228 | 有时也可遇到由**正定矩阵 $A$ 诱导的范数**:$\lVert x\rVert_A=\sqrt{x^TAx}$ 229 | 230 | ### 2.1.2 矩阵范数 231 | 232 | #### $l_p$ 范数 与 $F$ 范数 233 | 234 | 由向量范数推广得到,矩阵的 **$l_p$ **范数定义如下: 235 | 236 | $$ 237 | \lVert A\rVert_p=\bigg(\sum_{i=1}^m\sum_{j=1}^n|a_{ij}|^p\bigg)^{\frac{1}{p}},\ p\ge1 238 | $$ 239 | 其中 $l_2$ 范数又称 Frobenius 范数($F$ 范数),记为 $\lVert\cdot\rVert_F\\$,有: 240 | $$ 241 | \lVert A\rVert_F=\lVert A\rVert_2=\sqrt{\sum_{i=1}^m\sum_{j=1}^na_{ij}^2}=\sqrt{\text{Tr}(AA^T)} 242 | $$ 243 | 244 | #### 算子范数 245 | 246 | 由向量范数诱导得到,还可定义矩阵的算子范数。 247 | 给定矩阵 $A\in \mathbb{R}^{m\times n}$ ,以及其两个维度空间的向量范数 $\lVert\cdot\rVert_{(m)}$ 与 $\lVert\cdot\rVert_{(n)}$ ,则由此诱导出的算子范数定义为: 248 | $$ 249 | \lVert A\rVert_{(m,n)}=\max_{x\in \mathbb{R}^n,\lVert x\rVert_{(n)}=1}\lVert Ax\rVert_{(m)} 250 | $$ 251 | **对算子范数的理解:**矩阵 $A$ 乘一个在 $l_n$ 范数约束下的列向量 $x$ 后,所得列向量 $Ax$ 的 $l_m$ 范数的最大值,核心在于寻找列向量 $x$。 252 | 253 | #### $p$ 范数 254 | 255 | 将算子范数中的 $\lVert\cdot\rVert_{(m)}$ 与 $\lVert\cdot\rVert_{(n)}$ 都取为相应向量空间的 $l_p$ 范数,可以得到矩阵的 $p$ 范数:(其中 $p=2$ 最常用) 256 | $$ 257 | \lVert A\rVert_p=\max_{x\in \mathbb{R}^n,\lVert x\rVert_{(p)}=1}\lVert Ax\rVert_{(p)} 258 | $$ 259 | **注意:**$p$ 范数不同于 $l_p$ 范数。 260 | 261 | 容易验证,矩阵的 $2$ 范数等于其最大奇异值,即矩阵的 $2$ 范数有: 262 | $$ 263 | \lVert A\rVert_2=\max_{x\in \mathbb{R}^n,\lVert x\rVert_2=1}\lVert Ax\rVert_2=\max\sigma 264 | $$ 265 | 由 $p$ 范数的定义,我们可以推出**算子范数的相容性**: 266 | $$ 267 | \lVert Ax\rVert_{(m)}\le\lVert A\rVert_{(m,n)}\lVert x\rVert_{(n)} 268 | $$ 269 | 270 | #### 核范数 271 | 272 | 另一个常用的矩阵范数为核范数,定义为矩阵所有非零奇异值之和: 273 | $$ 274 | \lVert A\rVert_*=\sum_{i=1}^r\sigma_i,\quad r=\text{rank}(A) 275 | $$ 276 | 277 | ### 2.1.3 矩阵内积 278 | 279 | 内积一般用于表示两个矩阵形成空间的夹角,最常用的 **Frobenius 内积**定义如下: 280 | $$ 281 | \langle A,B\rangle=\text{Tr}(AB^T)=\sum_{i=1}^m\sum_{j=1}^na_{ij}b_{ij},\quad A,B\in\mathbb{R}^{m\times n} 282 | $$ 283 | 即两矩阵对应各项的乘积之和。 284 | 285 | 286 | 287 | ## 2.2 导数 288 | 289 | ### 2.2.1 梯度与 Hessian 矩阵 290 | 291 | #### 梯度 292 | 293 | 给定点 $x\in\mathbb{R}^n$ 与多元函数 $f:\mathbb{R}^n\rightarrow\mathbb{R}$,且 $f$ 在 $x$ 的邻域内有意义,若存在向量 $g,p\in\mathbb{R}^n$ 满足: 294 | 295 | $$ 296 | \lim_{p\rightarrow0}\frac{f(x+p)-f(x)-g^Tp}{\lVert p\rVert}=0 297 | $$ 298 | 则称 $f$ 在点 $x$ 处**可微**,$g$ 为 $f$ 在点 $x$ 处的**梯度**,记为 $\nabla f(x)$。(其中 $\lVert\cdot\rVert$ 为任意向量范数) 299 | 300 | 令 $p=\epsilon e_i,\ \epsilon\ne0,\ e_i$ 为第 $i$ 个分量为 $1$ 的单位向量,则可得 $\nabla f(x)$ 第 $i$ 个分量为 $\frac{\partial f(x)}{\partial x_i}\\$,因此可知: 301 | 302 | $$ 303 | \nabla f(x)=\begin{bmatrix} 304 | \dfrac{\partial f(x)}{\partial x_1}& 305 | \dfrac{\partial f(x)}{\partial x_2}& 306 | \dots& 307 | \dfrac{\partial f(x)}{\partial x_n} 308 | \end{bmatrix}^T 309 | $$ 310 | 对于包含**多个变量**的函数,$\nabla_x f(x,y)$ 表示 $f$ 对变量 $x$ 的梯度。(通过下标区分) 311 | 312 | #### Hessian 矩阵 313 | 314 | 对于多元函数 $f:\mathbb{R}^n\rightarrow\mathbb{R}$,我们可以定义其 Hessian 矩阵:(二阶梯度) 315 | $$ 316 | \nabla^2 f(x)=\begin{bmatrix} 317 | \dfrac{\partial^2 f(x)}{\partial x_1^2} & \dfrac{\partial^2 f(x)}{\partial x_1\partial x_2} & \dfrac{\partial^2 f(x)}{\partial x_1\partial x_3} & \cdots & \dfrac{\partial^2 f(x)}{\partial x_1\partial x_n}\\ 318 | \dfrac{\partial^2 f(x)}{\partial x_2\partial x_1} & \dfrac{\partial^2 f(x)}{\partial x_2^2} & \dfrac{\partial^2 f(x)}{\partial x_2\partial x_3} & \cdots & \dfrac{\partial^2 f(x)}{\partial x_2\partial x_n}\\ 319 | \dfrac{\partial^2 f(x)}{\partial x_3\partial x_1} & \dfrac{\partial^2 f(x)}{\partial x_3\partial x_2} & \dfrac{\partial^2 f(x)}{\partial x_3^2} & \cdots & \dfrac{\partial^2 f(x)}{\partial x_3\partial x_n}\\ 320 | \vdots & \vdots & \vdots & \ddots & \vdots & \\ 321 | \dfrac{\partial^2 f(x)}{\partial x_n\partial x_1} & \dfrac{\partial^2 f(x)}{\partial x_n\partial x_2} & \dfrac{\partial^2 f(x)}{\partial x_n\partial x_3} & \cdots & \dfrac{\partial^2 f(x)}{\partial x_n^2}\\ 322 | \end{bmatrix} 323 | $$ 324 | #### Jacobian 矩阵 325 | 326 | 对于向量值函数 $f:\mathbb{R}^n\rightarrow\mathbb{R}^m$,其各分量 $f_i(x)$ 的梯度可由 Jacobian 矩阵表示: 327 | $$ 328 | J(x)=\begin{bmatrix} 329 | \dfrac{\partial f_1(x)}{\partial x_1} & \dfrac{\partial f_1(x)}{\partial x_2} & \dots & \dfrac{\partial f_1(x)}{\partial x_n}\\ 330 | \dfrac{\partial f_2(x)}{\partial x_1} & \dfrac{\partial f_2(x)}{\partial x_2} & \dots & \dfrac{\partial f_2(x)}{\partial x_n}\\ 331 | \vdots & \vdots & \ddots & \vdots\\ 332 | \dfrac{\partial f_n(x)}{\partial x_1} & \dfrac{\partial f_n(x)}{\partial x_2} & \dots & \dfrac{\partial f_n(x)}{\partial x_n}\\ 333 | \end{bmatrix} 334 | $$ 335 | 其中 $J(x)$ 的第 $i$ 行为分量 $f_i(x)$ 梯度的转置。 336 | 337 | 容易证明,$f(x)$ 的 Hessian 矩阵就是梯度 $\nabla f(x)$ 的 Jacobian 矩阵。 338 | 339 | #### 多元函数泰勒展开 340 | 341 | [矩阵微分与向量函数Taylor展开](https://blog.csdn.net/a_big_pig/article/details/78994033) 342 | 343 | 设 $f:\mathbb{R}^n\rightarrow\mathbb{R}$ 是连续可微的,$p\in\mathbb{R}^n$ 为向量,则其泰勒展开形式为:(拉格朗日型余项) 344 | $$ 345 | f(x+p)=f(x)+\nabla f(x+tp)^Tp,\quad 00$,使得下式成立: 355 | 356 | $$ 357 | \lVert f(x)-f(y)\rVert\le L\lVert x-y\rVert 358 | $$ 359 | 则称 $f$ 是 Lipschitz 连续的。 360 | 361 | **对 Lipschitz 连续的理解:**就是在连续的基础上,对函数的变化速率增加了一个限制(不大于线性增长速率)。 362 | 363 | 进一步,若 $f$ 在定义域可微,且对于任意 $x,y\in\text{dom}\ f$,都存在Lipschitz常数 $L>0$,使得下式成立: 364 | $$ 365 | \lVert\nabla f(x)-\nabla f(y)\rVert\le L\lVert x-y\rVert 366 | $$ 367 | 则称 $f$ 是梯度 Lipschitz 连续的,也记为**梯度L-连续**或**L-光滑**。 368 | 369 | **对梯度 Lipschitz 连续的理解:**函数梯度 $\nabla f(x)$ 的变化速率受到自变量 $x$ 限制。 370 | 371 | ##### 二次上界 372 | 373 | 对于梯度 Lipschitz 连续的函数 $f$,其一个重要性质为具有二次上界:***(证明见书P30)*** 374 | 375 | $$ 376 | f(y)\le f(x)+\nabla f(x)^T(y-x)+\dfrac{L}{2}\lVert y-x\rVert^2,\quad\forall x,y\in\text{dom}\ f 377 | $$ 378 | 上述公式表明,$f(x)$ 可由二次函数上界控制,其增长速度不会超过二次。 379 | 380 | 对于 $f$ 的一个全局极小点 $x^*$,可由二次上界来估计其大小:***(证明见书P31)*** 381 | $$ 382 | \dfrac{1}{2L}\lVert\nabla f(x)\rVert^2\le f(x)-f(x^*),\quad \forall x\in\text{dom}\ f 383 | $$ 384 | 385 | ### 2.2.2 矩阵变量函数的导数 386 | 387 | #### Fréchet 可微 388 | 389 | 将多元函数梯度进行推广,自变量由向量推广至矩阵,可以定义矩阵的 Fréchet 可微。 390 | 391 | 给定点 $X\in\mathbb{R}^{m\times n}$ 与函数 $f:\mathbb{R}^{m\times n}\rightarrow\mathbb{R}$,且 $f$ 在 $X$ 的邻域内有意义,若存在矩阵 $G,V\in\mathbb{R}^{m\times n}$ 满足: 392 | $$ 393 | \lim_{V\rightarrow0}\frac{f(X+V)-f(X)-\langle G,V\rangle}{\lVert V\rVert}=0 394 | $$ 395 | 则称 $f$ 在点 $X$ 处 **Fréchet 可微**,$G$ 为 $f$ 在点 $X$ 处 **Fréchet 可微意义下的梯度**,记为 $\nabla f(X)$。(其中 $\lVert\cdot\rVert$ 为任意矩阵范数) 396 | 397 | 同理,矩阵变量函数 $f(X)$ 的梯度可以表示为: 398 | $$ 399 | \nabla f(X)=\begin{bmatrix} 400 | \dfrac{\partial f}{\partial x_{11}} & \dfrac{\partial f}{\partial x_{12}} & \dots & \dfrac{\partial f}{\partial x_{1n}}\\ 401 | \dfrac{\partial f}{\partial x_{21}} & \dfrac{\partial f}{\partial x_{22}} & \dots & \dfrac{\partial f}{\partial x_{2n}}\\ 402 | \vdots & \vdots & \ddots & \vdots\\ 403 | \dfrac{\partial f}{\partial x_{m1}} & \dfrac{\partial f}{\partial x_{m2}} & \dots & \dfrac{\partial f}{\partial x_{mn}}\\ 404 | \end{bmatrix} 405 | $$ 406 | 407 | #### Gâteaux 可微 408 | 409 | 在实际应用中,矩阵 Fréchet 可微的定义和使用往往比较繁琐,由此引入 Gâteaux 可微的定义。 410 | 411 | 给定点 $X\in\mathbb{R}^{m\times n}$ 与函数 $f:\mathbb{R}^{m\times n}\rightarrow\mathbb{R}$,且 $f$ 在 $X$ 的邻域内有意义,若存在矩阵 $G\in\mathbb{R}^{m\times n}$,对任意方向 $V\in\mathbb{R}^{m\times n}$ 满足: 412 | $$ 413 | \lim_{t\rightarrow0}\frac{f(X+tV)-f(X)-t\langle G,V\rangle}{t}=0 414 | $$ 415 | 则称 $f$ 在点 $X$ 处 **Gâteaux 可微**,$G$ 为 $f$ 在点 $X$ 处 **Gâteaux 可微意义下的梯度**。 416 | 417 | [聊一聊Frechet导数、Gateaux导数、Hadamard导数 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/252802697) 418 | 419 | ### 2.2.3 自动微分 420 | 421 | 422 | 423 | ## 2.3 广义实值函数 424 | 425 | **广义实数空间:**$\overline{\mathbb{R}}\overset{\text{def}}{=}\mathbb{R}\cup\{\pm\infin\}$,即包含了正负无穷的实数空间。 426 | 427 | **广义实值函数:**$f:\mathbb{R}^n\rightarrow\overline{\mathbb{R}}$。 428 | 429 | 特别地,对任意 $a\in\mathbb{R}$,有 $-\infin-\infin$,则称函数 $f$ 关于集合 $\mathcal{X}$ 是适当的。($f$ 取值至少一处不为正无穷,同时处处不为负无穷) 438 | 439 | 规定适当函数的定义域 $\text{dom}\ f=\{x|f(x)<+\infin\}$。 440 | 441 | 通过定义适当函数,可以在一个合理的范围内考虑最优化问题。 442 | 443 | ### 2.3.2 闭函数 444 | 445 | **$\alpha$ -下水平集:**$C_\alpha=\{x|f(x)\le\alpha\}$,即广义实值函数 $f$ 中函数值小于 $\alpha$ 的点的集合。 446 | 447 | **上方图:**$\text{epi}\ f=\big\{(x,t)\in\mathbb{R}^{n+1}|f(x)\le t\big\}$,即大于函数值的点所构成的区域。 448 | 449 | 450 | 451 | **闭函数:**$\text{epi}\ f$ 为闭集的广义实值函数 $f$。[闭集(Closed Sets)](https://zhuanlan.zhihu.com/p/26309740) 452 | 453 | **下半连续函数:**给定广义实值函数 $f$ 与任意 $x\in\mathbb{R}^n$,有 $\underset{y\rightarrow x}{\lim\inf}\ f(y)\ge f(x)$,则 $f$ 为**下半连续函数**。 454 | 455 | 456 | 457 | **闭函数和下半连续函数的等价性:**对广义实值函数 $f:\mathbb{R}^n\rightarrow\overline{\mathbb{R}}$,以下命题等价:***(证明见书P39)*** 458 | 459 | 1. $f(x)$ 的任意 $\alpha$ -下水平集都是闭集。 460 | 2. $f(x)$ 是下半连续的。 461 | 3. $f(x)$ 是闭函数。 462 | 463 | **闭函数(下半连续函数)的运算性质:** 464 | 465 | 1. 加法:若 $f,g$ 为**适当**的闭函数,且 $\text{dom}\ f\ \cap\ \text{dom}\ g\ne\varnothing$,则 $f+g$ 也为闭函数。(适当:防止出现 $(+\infin)+(-\infin)$ 的情况) 466 | 2. 仿射映射的复合:若 $f$ 为闭函数,则 $f(Ax+b)$ 也为闭函数。 467 | 3. 取上确界:若函数集 $\{f_i\}$ 均为闭函数,则 $\underset{i}{\sup} f_i(x)$ 也为闭函数。 468 | 469 | 470 | 471 | ## 2.4 凸集 472 | 473 | ### 2.4.1 凸集的相关定义 474 | 475 | [【凸优化笔记1】仿射集、凸集和锥 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/101948518) 476 | 477 | ***具体定义见书P40,此处只列出归纳的名词。*** 478 | 479 | | 线型 | 线的集合 | 点的组合 | 点的集合 | 480 | | ---- | -------- | -------- | -------------------------------------------- | 481 | | 直线 | 仿射集 | 仿射组合 | 仿射包 | 482 | | 射线 | 锥 | 锥组合 | 锥包 **(特殊: 凸锥)** | 483 | | 线段 | 凸集 | 凸组合 | 凸包 (**符号: $\text{conv}\ \mathcal{S}$** ) | 484 | 485 | ### 2.4.2 重要的凸集 486 | 487 | #### 超平面 488 | 489 | **超平面:**任取非零向量 $a$,形如 $\left\{x|a^Tx=b\right\}$ 的集合。 490 | 491 | **半空间:**任取非零向量 $a$,形如 $\left\{x|a^Tx\le b\right\}$ 的集合。 492 | 493 | 494 | 495 | #### 球与锥 496 | 497 | [范式球(norm ball),范式锥,欧式球,椭球](https://blog.csdn.net/robert_chen1988/article/details/80479813) 498 | 499 | 给定中心 $x_c$ 与半径 $r$,则有如下球的定义: 500 | 501 | **范数球:**$B(x_c,r)=\left\{x\ |\ \lVert x-x_c\rVert\le r\right\}$,其中 $\lVert\cdot\rVert$ 为任意范数。 502 | 503 | **球:**$B(x_c,r)=\left\{x\ |\ \lVert x-x_c\rVert_2\le r\right\}=\left\{x_c+ru\ |\ \lVert u\rVert_2\le1\right\}$。即使用 $l_2$ 范数表示的范数球,也称**欧几里得球**。 504 | 505 | **椭球:**$E(x_c,A)=\left\{x\ |\ (x-x_c)^TA^{-1}(x-x_c)\le1\right\}=\left\{x_c+Au\ |\ \lVert u\rVert_2\le1\right\}$。即使用由正定矩阵 $A^{-1}$ 诱导的范数表示的范数球。 506 | 507 | 给定中心 $x_c$,则有如下锥的定义: 508 | 509 | **范数锥:**$C(x_c)=\left\{(x,r)\ |\ \lVert x-x_c\rVert\le r\right\}$,其中 $\lVert\cdot\rVert$ 为任意范数。 510 | 511 | | | 任意范数 | $l_2$ 范数 | 正定矩阵 $A^{-1}$ 诱导的范数 | 512 | | :----------------------- | -------- | -------------------- | ---------------------------- | 513 | | **中心 $x_c$,半径 $r$** | 范数球 | 欧几里得球 | 椭球 | 514 | | **中心 $x_c$** | 范数锥 | 欧几里得锥(二次锥) | —— | 515 | 516 | #### 多面体 517 | 518 | 形如$\left\{x|Ax\le b,Cx=d\right\}$的集合,即满足线性等式和不等式组的点的集合。 519 | 520 | 多面体是有限个半空间和超平面的交集。 521 | 522 | #### 半正定锥 523 | 524 | $n\times n$ 对称矩阵的集合:$\mathcal{S}^n$。 525 | 526 | $n\times n$ 半正定矩阵的集合:$\mathcal{S}^n_+=\left\{X\in\mathcal{S}^n|X\succeq0\right\}$。 527 | 528 | $n\times n$ 正定矩阵的集合:$\mathcal{S}^n_{++}=\left\{X\in\mathcal{S}^n|X\succ0\right\}$。 529 | 530 | 可证明 $\mathcal{S}^n_+$ 是凸锥,因此又称其为**半正定锥**。***(证明:[正定矩阵的相关性质,凸锥](https://blog.csdn.net/robert_chen1988/article/details/80479134))*** 531 | 532 | **符号 $A\succeq B$ 含义:**矩阵 $A$ 中每个位置的元素都大于等于 $B$ 中对应位置的元素。 533 | 534 | 535 | 536 | ### 2.4.3 保凸的运算 537 | 538 | #### 证明集合为凸集的一般方式 539 | 540 | 1. 利用定义:$x_1,x_2\in C,\ 0\le\theta\le1\ \Longrightarrow\ \theta x_1+(1-\theta)x_2\in C$。 541 | 2. 说明该集合可由其他凸集经过保凸的运算得到。 542 | 543 | #### 保凸运算 544 | 545 | 1. 取交集:若 $C_i,i\in\mathcal{I}$ 为凸集,则 $\underset{i\in\mathcal{I}}{\bigcap}C_i$ 也为凸集。 546 | 2. 仿射变换:仿射变换 $f(x)=Ax+b$ 不改变像与原像的凸性。 547 | 548 | ### 2.4.4 分离超平面定理 549 | 550 | 凸集的一个重要性质:可以用超平面分离不相交的凸集。 551 | 552 | #### 分离超平面定理 553 | 554 | 已知 $C,D$ 为不相交的两个凸集,则存在非零向量 $a$ 与常数 $b$,使得: 555 | $$ 556 | a^Tx\le b,\quad\forall x\in C\\ 557 | a^Tx\ge b,\quad\forall x\in D\\ 558 | $$ 559 | 即超平面 $\left\{x|a^Tx=b\right\}$ 分离了 $C,D$。 560 | 561 | 分离超平面定理逆推是不成立的,已知存在分离超平面无法推出 $C,D$ 不相交。(如 $C=D=\{0\}$) 562 | 563 | #### 严格分离定理 564 | 565 | 已知 $C,D$ 为不相交的两个凸集,则存在非零向量 $a$ 与常数 $b$,使得: 566 | $$ 567 | a^Tx< b,\quad\forall x\in C\\ 568 | a^Tx> b,\quad\forall x\in D\\ 569 | $$ 570 | 严格分离定理逆推仍然成立,若存在服从严格分离定理的超平面,可以推出 $C,D$ 不相交。 571 | 572 | #### 支撑超平面 573 | 574 | 给定集合 $C$ 及其边界上一点 $x_0$,若存在非零向量 $a$ 满足: 575 | $$ 576 | a^Tx\le a^Tx_0,\quad\forall x\in C 577 | $$ 578 | 则称集合 $\left\{x|a^Tx=a^Tx_0\right\}$ 为在边界点 $x_0$ 处的支撑超平面。 579 | 580 | 几何上理解,支撑超平面与集合 $C$ 相切于 $x_0$。 581 | 582 | #### 支撑超平面定理 583 | 584 | 凸集的任意边界处都存在支撑超平面。 585 | 586 | 587 | 588 | ## 2.5 凸函数 589 | 590 | ### 2.5.1 凸函数的定义 591 | 592 | #### 凸函数 593 | 594 | 对适当函数 $f$,若 $\text{dom}\ f$ 为凸集,且对任意 $x,y\in\text{dom}\ f$,都存在: 595 | $$ 596 | f\big(\theta x+(1-\theta)y\big)\le\theta f(x)+(1-\theta)f(y) 597 | $$ 598 | 其中 $0\le\theta\le1$,则称 $f$ 为**凸函数**。 599 | 600 | 601 | 602 | #### 严格凸函数 603 | 604 | 对适当函数 $f$,若 $\text{dom}\ f$ 为凸集,且对任意 $x,y\in\text{dom}\ f,\ x\ne y$,都存在: 605 | $$ 606 | f\big(\theta x+(1-\theta)y\big)<\theta f(x)+(1-\theta)f(y) 607 | $$ 608 | 其中 $0<\theta<1$,则称 $f$ 为**严格凸函数**。 609 | 610 | **与凸函数的不同:**直线与 $f$ (在非相交的区域)呈现严格的大于关系。 611 | 612 | #### 强凸函数 613 | 614 | 对适当函数 $f$,若 $\text{dom}\ f$ 为凸集,且存在常数 $m>0$,对任意 $x,y\in\text{dom}\ f$,都存在: 615 | $$ 616 | f\big(\theta x+(1-\theta)y\big)\le\theta f(x)+(1-\theta)f(y)-\dfrac{m}{2}\theta(1-\theta)\lVert x-y\rVert^2 617 | $$ 618 | 其中 $0<\theta<1$,则称 $f$ 为 **$m$-强凸函数**,$m$ 为**强凸参数**。 619 | 620 | > 上述定义具有下述的等价形式。 621 | > 622 | 623 | 对适当函数 $f$,若 $\text{dom}\ f$ 为凸集,若存在常数 $m>0$,使得: 624 | $$ 625 | g(x)=f(x)-\dfrac{m}{2}\lVert x\rVert^2 626 | $$ 627 | 为凸函数,则称 $f$ 为**$m$-强凸函数**,$m$ 为**强凸参数**。(强凸函数减去一个正定二次函数后,仍为凸函数) 628 | 629 | 容易证明,强凸函数的最小值点唯一。***(证明见书P49)*** 630 | 631 | **三者关系:**强凸函数 $\subset$ 严格凸函数 $\subset$ 凸函数。 632 | 633 | ### 2.5.2 凸函数判定定理 634 | 635 | #### 定义域判别 636 | 637 | 一个函数是凸函数 当且仅当 将函数限制在任意直线在定义域内的部分上时仍是凸的。 638 | 639 | (定理的公式表述)$f:\mathbb{R}^n\rightarrow\mathbb{R}$ 为凸函数 当且仅当 对任意的 $x\in\text{dom}\ f,\ v\in\mathbb{R}^n$,存在: 640 | $$ 641 | g(t)=f(x+tv),\quad\text{dom}\ g=\{t\ |\ x+tv\in\text{dom}\ f\} 642 | $$ 643 | 为凸函数,其中 $g:\mathbb{R}\rightarrow\mathbb{R}$。***(证明见书P50)*** 644 | 645 | #### 常见凸函数 646 | 647 | 1. 仿射函数:$a^Tx+b,\quad a,x\in\mathbb{R}^n$ 为向量。 648 | 649 | ​ $\langle A,X\rangle,\quad A,X\in\mathbb{R}^{m\times n}$ 为矩阵。 650 | 651 | 2. 指数函数:$e^{ax},\quad a,x\in\mathbb{R}$ 为常数。 652 | 653 | 3. 幂函数:$x^\alpha,\quad x>0$,其中 $\alpha\ge1$ 或 $\alpha\le0$ 时为凸函数。 654 | 655 | 4. 负熵:$x\ln x,\quad x>0$。 656 | 657 | 5. 所有范数都是凸函数(向量和矩阵版本),这是由于范数有三角不等式。 658 | 659 | #### 一阶条件 660 | 661 | 对于定义在凸集上的可微函数 $f$,其为凸函数 当且仅当 对任意的 $x,y\in\text{dom}\ f$,存在:***(证明见书P51)*** 662 | $$ 663 | f(y)\ge f(x)+\nabla f(x)^T(y-x) 664 | $$ 665 | 该定理说明,可微凸函数 $f$ 的图形始终在其任一点处切线的上方。 666 | 667 | 668 | 669 | 670 | 671 | **梯度单调性条件:**对于定义在凸集上的可微函数 $f$,其为凸函数 当且仅当 $\nabla f$ 为单调映射。 672 | 673 | (定理的公示表述)$f:\mathbb{R}^n\rightarrow\mathbb{R}$ 为凸函数 当且仅当 对任意的 $x,y\in\text{dom}\ f$,存在:***(证明见书P50)*** 674 | $$ 675 | \big(\nabla f(x)-\nabla f(y)\big)^T(x-y)\ge0 676 | $$ 677 | **推论1:**$f:\mathbb{R}^n\rightarrow\mathbb{R}$ 为严格凸函数 当且仅当 对任意的 $x,y\in\text{dom}\ f$,存在: 678 | $$ 679 | \big(\nabla f(x)-\nabla f(y)\big)^T(x-y)>0 680 | $$ 681 | **推论2:**$f:\mathbb{R}^n\rightarrow\mathbb{R}$ 为 $m$-强凸函数 当且仅当 对任意的 $x,y\in\text{dom}\ f$,存在: 682 | $$ 683 | \big(\nabla f(x)-\nabla f(y)\big)^T(x-y)\ge m\lVert x-y\rVert^2 684 | $$ 685 | 686 | #### 二阶条件 687 | 688 | 对于定义在凸集上的二阶连续可微函数 $f$,其为凸函数 当且仅当 对任意的 $x\in\text{dom}\ f$,存在:***(证明见书P53)*** 689 | $$ 690 | \nabla^2f(x)\succeq0 691 | $$ 692 | 对于定义在凸集上的二阶连续可微函数 $f$,其为严格凸函数 当且仅当 对任意的 $x\in\text{dom}\ f$,存在: 693 | $$ 694 | \nabla^2f(x)\succ0 695 | $$ 696 | 当函数二阶连续可微时,利用二阶条件判断凸性通常更为方便。 697 | 698 | #### 上方图 699 | 700 | 函数 $f(x)$ 为凸函数 当且仅当 其上方图 $\text{epi}\ f$ 是凸集。***(证明:[凸函数和上境图](https://blog.csdn.net/lbc3402785/article/details/81169324))*** 701 | 702 | ### 2.5.3 保凸的运算 703 | 704 | **透视函数:**类似于压缩某维度到其余维度,详解见[凸优化1:透视函数](https://blog.csdn.net/missilefighter/article/details/109790343)。 705 | 706 | **支撑函数:**[支撑函数(support function)](https://blog.csdn.net/Liang_Ling/article/details/53240991) 707 | 708 | 1. 若 $f$ 为凸函数,则 $\alpha f$ 为凸函数。($\alpha\ge0$) 709 | 710 | 2. 若 $f$ 为凸函数,则 $f(Ax+b)$ 为凸函数。 711 | 712 | 3. 若 $f_1,f_2$ 为凸函数,则 $f_1+f_2$ 为凸函数。 713 | 714 | 4. 若 $f_1,f_2,\dots,f_m$ 为凸函数,则 $\max\{f_1,f_2,\dots,f_m\}$ 为凸函数。 715 | 716 | 5. 给定函数 $g:\mathbb{R}^n\rightarrow\mathbb{R}$ 与 $h:\mathbb{R}\rightarrow\mathbb{R}$,令 $f(x)=h\big(g(x)\big)$。 717 | 718 | 若 $g$ 为凸函数,$h$ 为凸函数且 $h'(x)\ge0$,则 $f$ 为凸函数; 719 | 720 | 若 $g$ 为凹函数,$h$ 为凸函数且 $h'(x)\le0$,则 $f$ 为凸函数。 721 | 722 | 6. 给定函数 $g:\mathbb{R}^n\rightarrow\mathbb{R}^k$ 与 $h:\mathbb{R}^k\rightarrow\mathbb{R}$,令 $f(x)=h\big(g(x)\big)=h\big(g_1(x),g_2(x),\dots,g_k(x)\big)$。 723 | 724 | 若 $g$ 为凸函数,$h$ 为凸函数且 $h_i'(x)\ge0$,则 $f$ 为凸函数;($i=1,2,\dots,k$) 725 | 726 | 若 $g$ 为凹函数,$h$ 为凸函数且 $h_i'(x)\le0$,则 $f$ 为凸函数。($i=1,2,\dots,k$) 727 | 728 | 7. 若对于所有 $y\in \mathcal{A}$,$f(x,y)$ 关于 $x$ 为凸函数,则下列函数为凸函数:***(证明见书P56)*** 729 | $$ 730 | g(x)=\sup_{y\in \mathcal{A}}f(x,y) 731 | $$ 732 | **理解:**对每个 $g(x)$,逐点在 $y\in \mathcal{A}$ 的范围取 $f$ 的上确界。(嵌套运算角度) 733 | 734 | 8. 若 $\mathcal{C}$ 是 $f$ 定义域内的一个凸集,$f(x,y)$ 关于 $(x,y)$ 整体为凸函数,则下列函数为凸函数:***(证明见书P56)*** 735 | $$ 736 | g(x)=\inf_{y\in \mathcal{C}}f(x,y) 737 | $$ 738 | **理解:**对每个 $g(x)$,逐点在 $y\in \mathcal{C}$ 的范围取 $f$ 的下确界。(嵌套运算角度) 739 | 740 | 9. 给定函数 $f:\mathbb{R}^n\rightarrow\mathbb{R}$,其透视函数 $g:\mathbb{R}^n\times\mathbb{R}\rightarrow\mathbb{R}$ 定义如下:***(证明见书P56)*** 741 | $$ 742 | g(x,t)=tf(\dfrac{x}{t}),\quad\text{dom}\ g=\Big\{(x,t)\ |\ \dfrac{x}{t}\in\text{dom}\ f,\ t>0 \Big\} 743 | $$ 744 | 若 $f$ 为凸函数,则 $g$ 为凸函数。 745 | 746 | **理解:**一个 $n+1$ 维空间的凸集经过透视函数的计算过后得到的 $n$ 维空间集合也是凸的。 747 | 748 | ### 2.5.4 凸函数的性质 749 | 750 | 1. **连续性:**凸函数在定义域的内点处都是连续的。 751 | 752 | 推论:如果凸函数的定义域为开集,则其是连续的。 753 | 754 | 2. **凸下水平集:**凸函数的所有下水平集都为凸集。(逆命题不成立) 755 | 756 | 3. **二次下界:**强凸函数具有二次下界。 757 | 758 | 设 $f(x)$ 是可微的 $m$-强凸函数,则其具有二次下界,即:**(*证明见书P59)*** 759 | $$ 760 | f(y)\ge f(x)+\nabla f(x)^T(y-x)+\dfrac{m}{2}\lVert y-x\rVert^2,\quad\forall x,y\in\text{dom}\ f 761 | $$ 762 | 推论:设 $f$ 为可微强凸函数,则 $f$ 的所有 $α$-下水平集有界。 763 | 764 | 765 | 766 | ## 2.6 共轭函数 767 | 768 | ### 2.6.1 共轭函数的定义和例子 769 | 770 | #### 共轭函数定义 771 | 772 | 任一适当函数 $f$ 的共轭函数 $f^*$ 定义为: 773 | $$ 774 | f^*(y)=\sup_{x\in\text{dom}\ f}\big\{y^Tx-f(x)\big\} 775 | $$ 776 | **如何理解共轭函数:**(嵌套运算角度) 777 | 778 | - $f^*(y)$ 定义域内的每个点 $y$,都对应一条特定斜率的直线 $g_y(x)=y^Tx$。 779 | - 该点所对应的 $f^*(y)$ 取值,为直线 $g_y(x)$ 与原函数 $f(x)$ 在 $x\in\text{dom}\ f$ 范围内的差值的上确界(最大差值)。 780 | - 对所有 $y$ 的可能取值,都进行上述的运算,最终得到共轭函数 $f^*(y)$ 在各点的值。 781 | 782 | 783 | 784 | 共轭函数的定义域,规定为使得 $f^*(y)$ 有限(小于 $+\infin$)的 $y$ 的集合,公式表述为: 785 | 786 | $$ 787 | \text{dom}\ f^*=\big\{y\ |\ f^*(y)<+\infin\big\} 788 | $$ 789 | 通过限制定义域,使得对每个 $y\in\text{dom}\ f^*$,都有 $y^Tx-f(x)$ 为凸函数,应用2.5.3的第5个运算,可以得到: 790 | $$ 791 | \text{共轭函数}f^*恒为凸函数 792 | $$ 793 | **如何理解定义域的限制与共轭函数的凸性:**[如何理解凸优化中的共轭函数的定义?](https://blog.csdn.net/weixin_36431280/article/details/119418390) 794 | 795 | 对共轭函数,容易推出 **Fenchel 不等式**: 796 | $$ 797 | f(x)+f^*(y)\ge y^Tx 798 | $$ 799 | 800 | #### 常见的共轭函数 801 | 802 | 1. **二次函数:**$f(x)=\dfrac{1}{2}x^TAx+b^Tx+c$。 803 | 804 | 强凸情形($A\succ0$):$f^*(y)=\dfrac{1}{2}(y-b)^TA^{-1}(y-b)-c$。 805 | 806 | 一般凸情形($A\succeq0$):$f^*(y)=\dfrac{1}{2}(y-b)^TA^{-1}(y-b)-c,\quad\text{dom}\ f^*=\mathcal{R}(A)+b$,其中 $\mathcal{R}(A)$ 为 $A$ 的像空间。 807 | 808 | 2. **凸集的示性函数:**给定凸集 $C$ 及其示性函数 $I_C(x)=\begin{cases}0,\quad\quad\ x\in C\\+\infin,\quad x\notin C\end{cases}$,其对应的共轭函数为: 809 | $$ 810 | I^*_C(y)=\sup_x\big\{y^Tx-I_C(x)\big\}=\sup_{x\in C}y^Tx 811 | $$ 812 | 这里 $I^*_C(y)$ 也为凸集 $C$ 的支撑函数。 813 | 814 | 3. **范数:**范数的共轭函数为其单位对偶范数球的示性函数,即若 $f(x)=\lVert x\rVert$,则:***(证明见书P62)*** 815 | $$ 816 | f^*(y)=\begin{cases} 817 | 0,\quad\quad\ \lVert y\rVert_*\le1\\ 818 | +\infin,\quad\lVert y\rVert_*\ge1 819 | \end{cases} 820 | $$ 821 | 822 | ### 2.6.2 二次共轭函数 823 | 824 | 类似共轭函数,任一适当函数 $f$ 的二次共轭函数 $f^{**}$ 定义为: 825 | 826 | $$ 827 | f^{**}(y)=\sup_{x\in\text{dom}\ f^*}\big\{y^Tx-f^*(x)\big\} 828 | $$ 829 | 易知 $f^{**}$ 恒为闭凸函数,由 Fenchel 不等式可推出: 830 | $$ 831 | \begin{aligned} 832 | &f(x)\ge f^{**}(x),\quad\forall\ x\\ 833 | \Longleftrightarrow\ &\text{epi}\ f\subseteq\text{epi}\ f^{**} 834 | \end{aligned} 835 | $$ 836 | 进一步,若 $f$ 为闭凸函数,则有: 837 | $$ 838 | \begin{aligned} 839 | &f(x)= f^{**}(x),\quad\forall\ x\\ 840 | \Longleftrightarrow\ &\text{epi}\ f=\text{epi}\ f^{**} 841 | \end{aligned} 842 | $$ 843 | 844 | 845 | 846 | ## 2.7 次梯度 847 | 848 | ### 2.7.1 次梯度的定义 849 | 850 | 设 $f:\mathbb{R}^n\rightarrow\mathbb{R}$ 为适当凸函数,若向量 $g\in \mathbb{R}^n$ 满足: 851 | $$ 852 | f(y)\ge f(x)+g^T(y-x),\quad \forall x,y\in\text{dom}\ f 853 | $$ 854 | 则称 $g$ 为函数 $f$ 在点 $x$ 处的一个**次梯度**。 855 | 856 | 进一步地,称函数 $f$ 在点 $x$ 处所有次梯度 $g$ 的集合: 857 | $$ 858 | \partial f(x)=\big\{g\ |\ f(y)\ge f(x)+g^T(y-x),\ g\in\mathbb{R}^n,\ \forall y\in\text{dom}\ f\big\} 859 | $$ 860 | 为函数 $f$ 在点 $x$ 处的**次微分**。 861 | 862 | 863 | 864 | 次梯度 $g$ 可以诱导出函数的上方图 $\text{epi}\ f$ 在对应点 $\big(x,f(x)\big)$ 的一个支撑超平面。 865 | 866 | **次梯度存在性定理:**凸函数 $f$ 的内点 $x\in\text{int dom}\ f$ 处的次微分非空(次梯度存在)。 867 | 868 | ### 2.7.2 次梯度的性质 869 | 870 | #### 集合性质 871 | 872 | 1. 若 $f$ 为凸函数,则对 $\forall x\in\text{dom} f$,$\partial f(x)$ 为闭凸集(可能为空)。 873 | 2. 若 $f$ 为凸函数,则对 $\forall x\in\text{int dom} f$,$\partial f(x)$ 为非空有界集。 874 | 875 | #### 唯一性 876 | 877 | 若 $f$ 为凸函数,其在 $x_0\in\text{int dom}f$ 处可微,则: 878 | $$ 879 | \partial f(x_0)=\big\{\nabla f(x_0)\big\} 880 | $$ 881 | 882 | #### 单调性 883 | 884 | 若 $f$ 为凸函数,则对 $x,y\in\text{dom}f,\ u\in\partial f(x),\ v\in\partial f(y)$ 有: 885 | $$ 886 | (u-v)^T(x-y)\ge0 887 | $$ 888 | 889 | #### 连续性 890 | 891 | 若 $f$ 为闭凸函数(凸下半连续函数),存在序列 $x^k\rightarrow\bar{x},\ \bar{x}\in\text{int dom}f$。设 $g^k\in\partial f(x^k)$,则对序列 $g^k\rightarrow\bar{g}$,有 $\bar{x}\in\partial f(\bar{x})$。 892 | 893 | 该性质 等价于 $\partial f(x)$ 的图像 $\big\{(x,g)\ |\ g\in\partial f(x),\ x\in\text{dom}f\big\}$ 为闭集。 894 | 895 | ### 2.7.3 凸函数的方向导数 896 | 897 | #### 一般函数的方向导数 898 | 899 | 对适当函数 $f:\mathbb{R}^n\rightarrow(-\infin,+\infin]$,给定点方向 $d\in\mathbb{R}^n$,其在点 $x_0\in\text{dom}f$ 处的方向导数定义为: 900 | $$ 901 | \lim_{t\downarrow0}\phi(t)=\lim_{t\downarrow0}\dfrac{f(x_0+td)-f(x_0)}{t} 902 | $$ 903 | 其中 $t\downarrow0$ 表示 $t$ 单调下降趋于 $0$。 904 | 905 | #### 凸函数的方向导数 906 | 907 | 对于凸函数,其方向导数 $\phi(t)$ 在 $(0,+\infin)$ 上是单调不减的,因此可将 $\underset{t\downarrow0}{\lim}$ 替换为 $\underset{t>0}{\inf}$。 908 | 909 | 对凸适当函数 $f:\mathbb{R}^n\rightarrow(-\infin,+\infin]$,给定点方向 $d\in\mathbb{R}^n$,其在点 $x_0\in\text{dom}f$ 处的方向导数定义为: 910 | $$ 911 | \partial f(x_0;d)=\inf_{t>0}\dfrac{f(x_0+td)-f(x_0)}{t} 912 | $$ 913 | 方向导数可能是正负无穷,但在定义域的内点处的方向导数是有限的:***(证明见书P69)*** 914 | $$ 915 | -\infin<\partial f(x_0;d)<+\infin,\quad\forall x_0\in\text{int dom}f 916 | $$ 917 | 918 | ##### 凸函数的方向导数与次梯度的联系 919 | 920 | 对凸适当函数 $f:\mathbb{R}^n\rightarrow(-\infin,+\infin]$,给定方向 $d\in\mathbb{R}^n$ 与内点 $x_0\in\text{int dom}f$,有:***(证明见书P69)*** 921 | $$ 922 | \partial f(x_0;d)=\max_{g\in\partial f(x_0)}g^Td 923 | $$ 924 | 即方向导数 $\partial f(x_0;d)$ 正是点 $x_0$ 处的所有次梯度与 $d$ 的内积的最大值。 925 | 926 | 对上述定理进行推广,可以得到更一般情况下的结论。 927 | 928 | 对凸适当函数 $f:\mathbb{R}^n\rightarrow(-\infin,+\infin]$,给定方向 $d\in\mathbb{R}^n$,若其在 $x_0\in\text{dom}f$ 处次微分不为空集,则: 929 | $$ 930 | \partial f(x_0;d)=\sup_{g\in\partial f(x_0)}g^Td 931 | $$ 932 | 且当 $\partial f(x_0;d)\ne+\infin$ 时,该上确界能够取到。 933 | 934 | ### 2.7.4 次梯度的计算规则 935 | 936 | #### 基本规则 937 | 938 | ##### 1. 可微凸函数 939 | 940 | 若 $f$ 为适当凸函数,其在 $x$ 处可微,则其次微分: 941 | $$ 942 | \partial f(x)=\big\{\nabla f(x)\big\} 943 | $$ 944 | 945 | ##### 2. 凸函数的非负线性组合 946 | 947 | 设 $f_1,f_2$ 为适当凸函数,且满足 $\text{int dom}f_1\cap\text{dom}f_2\ne\emptyset$。 948 | 949 | 若 $f=\alpha_1f_1+\alpha_2f_2,\ \alpha_1,\alpha_2\ge0$,则 $f(x)$ 的次微分: 950 | $$ 951 | \partial f(x)=\alpha_1\partial f_1(x)+\alpha_2\partial f_2(x) 952 | $$ 953 | 954 | ##### 3. 线性变量替换 955 | 956 | 设 $h:\mathbb{R}^n\rightarrow(-\infin,+\infin]$ 为适当凸函数,并且 $f:\mathbb{R}^m\rightarrow(-\infin,+\infin]$ 满足: 957 | $$ 958 | f(x)=h(Ax+b),\quad A\in\mathbb{R}^{n\times m},\ x\in\mathbb{R}^m,\ b\in\mathbb{R}^n 959 | $$ 960 | 若存在 $x^♯\in\mathbb{R}^m$ 使得 $Ax^♯+b\in\text{int dom}h$,则 $f(x)$ 的次微分: 961 | $$ 962 | \partial f(x)=A^T\partial h(Ax+b) 963 | $$ 964 | 965 | #### 两个函数之和的次梯度(Moreau-Rockafellar 定理) 966 | 967 | 设 $f_1,f_2$ 为适当凸函数,则有: 968 | $$ 969 | \partial f_1(x)+\partial f_2(x)\subseteq\partial(f_1+f_2)(x) 970 | $$ 971 | 进一步地,若 $\text{int dom}f_1\cap\text{dom}f_2\ne\emptyset$,则有:***(证明见书P71)*** 972 | $$ 973 | \partial f_1(x)+\partial f_2(x)=\partial(f_1+f_2)(x) 974 | $$ 975 | 976 | #### 函数族的上确界(Dubovitskii-Milyutin 定理) 977 | 978 | 设 $f_1,f_2,\dots,f_m$ 为适当凸函数,并且 $f=\max\{f_1,f_2,\dots,f_m\}$。 979 | 980 | 对 $x_0\in\bigcap_i\text{int dom}f_i$,定义示性函数 $I(x_0)=\big\{i\ |\ f_i(x_0)=f(x_0)\big\}$,代表当前位置下具有最大值的函数的编号,则: 981 | $$ 982 | \partial f(x)=\text{conv}\ \bigcup_{i\in I(x)}\partial f_i(x) 983 | $$ 984 | **理解:**即 $f$ 各个位置的次微分 等于 被最大值函数选出的函数 $f_i$ 相应位置的次微分。 985 | 986 | 对上述定理进一步推广,可以得到更强的结论。 987 | 988 | 设 $\big\{f_\alpha\big\}_{\alpha\in\mathcal{A}}$ 为一族适当凸函数,并且 $f=\sup_{\alpha\in\mathcal{A}}f_\alpha$。 989 | 990 | 对 $x_0\in\bigcap_{\alpha\in\mathcal{A}}\text{int dom}f_\alpha$,定义示性函数 $I(x_0)=\big\{\alpha\in\mathcal{A}\ |\ f_\alpha(x_0)=f(x_0)\big\}$,则有: 991 | $$ 992 | \text{conv}\ \bigcup_{\alpha\in\mathcal{A}}\partial f_\alpha(x)\subseteq\partial f(x) 993 | $$ 994 | 进一步地,如果 $\mathcal{A}$ 是[紧集](https://www.zhihu.com/question/21638955),且 $f_\alpha$ 关于 $\alpha$ 连续,则有: 995 | $$ 996 | \text{conv}\ \bigcup_{\alpha\in\mathcal{A}}\partial f_\alpha(x)=\partial f(x) 997 | $$ 998 | 999 | #### 固定分量的函数极小值 1000 | 1001 | 设 $h$ 为关于 $(x,y)$ 的适当凸函数,并且 $f(x)=\inf_yh(x,y)$。 1002 | 1003 | 对某个 $\hat{x}$,设 $\hat{y}$ 满足 $h(\hat{x},\hat{y})=f(\hat{x})$。若存在 $g$ 使得 $(g,0)\in\partial h(\hat{x},\hat{y})$,则有: 1004 | $$ 1005 | g\in\partial f(\hat{x}) 1006 | $$ 1007 | 1008 | #### 复合函数(链式法则) 1009 | 1010 | 设 $f_1,f_2,\dots,f_m:\mathbb{R}^n\rightarrow(-\infin,+\infin]$ 为适当凸函数,$h:\mathbb{R}^m\rightarrow(-\infin,+\infin]$ 为关于各分量单调递增的适当凸函数,令 $f=h(f_1,f_2,\dots,f_m)$。 1011 | 1012 | 对某个 $\hat{x}$,设 $z=(z_1,z_2,\dots,z_m)\in\partial h(f_1(\hat{x}),f_2(\hat{x}),\dots,f_m(\hat{x}))$,并且 $g_i\in\partial f_i(\hat{x})$,则有: 1013 | $$ 1014 | g=z_1g_1+z_2g_2+\dots+z_mg_m\in\partial f(\hat{x}) 1015 | $$ 1016 | **理解:**各个分量的次梯度的线性组合。 1017 | 1018 | 1019 | 1020 | ## 2.8 总结 1021 | 1022 | 1023 | 1024 | ## 习题 2 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | # 3 优化建模 1031 | 1032 | ## 3.1 建模技术 1033 | 1034 | 1035 | 1036 | ### 3.1.1 目标函数的设计 1037 | 1038 | 1039 | 1040 | ### 3.1.2 约束的设计 1041 | 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 1050 | ## 3.2 回归分析 1051 | 1052 | ### 3.2.1 概述 1053 | 1054 | ### 3.2.2 线性回归模型 1055 | 1056 | ### 3.2.3 正则化线性回归模型 1057 | 1058 | ## 3.3 逻辑回归 1059 | 1060 | ## 3.4 支持向量机 1061 | 1062 | ## 3.5 概率图模型 1063 | 1064 | ## 3.6 相位恢复 1065 | 1066 | ## 3.7 主成分分析 1067 | 1068 | ## 3.8 矩阵分离问题 1069 | 1070 | ## 3.9 字典学习 1071 | 1072 | ## 3.10 K-均值聚类 1073 | 1074 | ## 3.11 图像处理中的全变差模型 1075 | 1076 | ## 3.12 小波模型 1077 | 1078 | ## 3.13 强化学习 1079 | 1080 | ## 3.14 总结 1081 | 1082 | ## 习题 3 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | 1098 | 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | 1105 | 1106 | 1107 | 1108 | 1109 | 1110 | 1111 | 1112 | 1113 | 1114 | 1115 | 1116 | 1117 | 1118 | -------------------------------------------------------------------------------- /注释版教材/最优化:建模、算法与理论(第二版).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaizeDong/Optimization-Modeling-Algorithm-and-Theory/bd6407ff0177a213e336d9df88e895b0bc4e6e8f/注释版教材/最优化:建模、算法与理论(第二版).pdf --------------------------------------------------------------------------------