├── 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
--------------------------------------------------------------------------------