优化基础系列 - 1. 优化问题基础 -- 基础定义
这一讲不讨论优化问题的求解,只讨论优化问题的相关重要定义。
1. 偏导数
定义1:函数的偏导数
- 设函数 \(f:\mathbb{R}^n \to \mathbb{R}\),\(x = (x_1,\ldots,x_n)^\top\)。
- 定义 \(f\) 在 \(x\) 处的偏导数为 \[ \begin{align} \label{eq:partial-derivative} \frac{\partial f(x)}{\partial x_i} := \lim_{h\to 0} \frac{ f(x_1,\ldots,x_i + h,\ldots,x_n) - f(x_1,\ldots,x_i,\ldots,x_n) }{h}. \end{align} \]
偏导数的注意事项:
偏导数是
标量/标量偏导数代表函数值 \(f(x)\) 在某个坐标轴方向 \(x_i\) 上的变化率
2. 方向导数
定义2:函数的方向导数
- 考虑函数 \(f:\mathbb{R}^n \to \mathbb{R}\),
- \(x\in\mathbb{R}^n\) 为
给定点, - \(d\in\mathbb{R}^n\) 为
给定方向向量。 - 定义一维函数 \(\varphi(t) = f(x + t d)\)。若 \(\varphi(t)\) 在 \(t=0\) 处可导,则极限 \[\begin{align} Df(x;d) := \varphi'(0) = \lim_{t\to 0} \frac{f(x + t d) - f(x)}{t} \end{align}\] 存在,并称 \(Df(x;d)\) 为 函数 \(f\) 在点 \(x\) 处沿方向 \(d\) 的方向导数。
方向导数可以理解为:
- 函数 \(f\) 目前在点 \(x\) 处
- 自变量 \(x\) 只能沿着 \(d\) 方向变化
- \(t\) 是沿着 \(d\) 方向变化的步长
- 方向导数的计算要求 \(t\to 0\)
方向导数在多个领域中的应用:
微积分角度:
- 将多元函数 \(f(x)\) 沿一条直线 \(x+td\) 限制为一元函数 \(\varphi(t)\),
- 方向导数 \(Df(x;d)\) 就是该一元函数在 \(t=0\) 处的导数,
- 方向导数 \(Df(x;d)\) 是一维导数在多维情形下的推广。
几何/物理角度:
- 将 \(f(x)\) 理解为温度场或高度场时,\(Df(x;d)\) 描述了从点 \(x\) 朝方向 \(d\) 走时,温度或高度的瞬时变化率;
- \(Df(x;d)\) 的符号表示升高(正)、降低(负),\(Df(x;d)\) 的大小表示变化快慢。
优化角度:
- 在给定点 \(x\) 附近,有近似关系 \[ \begin{equation} f(x+\alpha d) \approx f(x) + \alpha Df(x;d), \qquad \alpha\to 0^+. \end{equation} \]
- 因此 $Df(x;d)<0 $ \(\Rightarrow\) \(d\) 是一个下降方向,沿该方向可以使目标函数值下降。
线性近似角度:
- 在 \(x\) 附近,\(f(x+h) \approx f(x) + \nabla f(x)^\top h,\)
- 梯度向量 \(\nabla f(x)\) 是一阶线性近似中的系数向量,决定了 \(f\) 在 \(x\) 附近的切平面(或切超平面)。
几何角度: 当 \(\|d\| = 1\) 时,由 Cauchy–Schwarz 不等式知: \[ \begin{align} Df(x;d) =& \nabla f(x)^\top d \nonumber\\ =& \|\nabla f(x)\|\,\|d\|\cos\theta \nonumber\\ =& \|\nabla f(x)\|\cos\theta, \end{align} \] 其中,\(\theta\) 是 \(\nabla f(x)\) 与 \(d\) 之间的夹角。
当 \(d\) 与 \(\nabla f(x)\) 同向时,方向导数取得最大值:\(Df(x;d) = \|\nabla f(x)\|\),函数沿 \(d\) 方向上升最快;
当 \(d\) 与 \(-\nabla f(x)\) 同向时,方向导数取得最小值:\(Df(x;d) = -\|\nabla f(x)\|\),函数沿 \(d\) 方向下降最快。
因此,
\(\nabla f(x)\) 给出了函数在 \(x\) 处的最佳上升方向,\(-\nabla f(x)\) 则是最佳下降方向;
\(\nabla f(x)\) 也是 \(f(x)\) 的等值曲面在点 \(x\) 处的法向量。
3. 梯度
定义3:函数的梯度
设函数 \(f:\mathbb{R}^n \to \mathbb{R}\),\(x = (x_1,\ldots,x_n)^\top\)。
若 \(f\) 在某点附近可微,则函数 \(f(x)\) 的梯度向量定义为 \[ \begin{align} \label{eq:grad-def} \nabla f(x) = \begin{bmatrix} \dfrac{\partial f(x)}{\partial x_1}, \dfrac{\partial f(x)}{\partial x_2}, \ldots, \dfrac{\partial f(x)}{\partial x_n} \end{bmatrix}^{\top}. \end{align} \] 其中,在 \(x\) 处对第 \(i\) 个变量的偏导数定义为 \[ \begin{align} \label{eq:partial-def} \frac{\partial f(x)}{\partial x_i} = \lim_{h\to 0} \frac{ f(x_1,\ldots,x_i + h,\ldots,x_n) - f(x_1,\ldots,x_i,\ldots,x_n) }{h}. \end{align} \]
先用一句话概括梯度的直观意义: - 梯度 = “局部变化率”的向量版,它告诉我们:在当前位置往哪个方向走,函数涨得最快、涨得有多快。
梯度的含义
最陡上升方向:记方向导数 \[ Df(x;d)=\nabla f(x)^\top d. \] 当 \(\|d\|=1\) 时,有 \[ Df(x;d)=\|\nabla f(x)\|\cos\theta, \] 其中 \(\theta\) 为 \(\nabla f(x)\) 与 \(d\) 之间的夹角。因此:
- \(\nabla f(x)\) 的方向:使 \(f\) 增长最快的方向(最陡上升方向);
- \(-\nabla f(x)\) 的方向:使 \(f\) 下降最快的方向(最陡下降方向);
- \(\|\nabla f(x)\|\):在最陡方向上的变化率大小。
这就是各种“梯度下降算法”的数学基础。
一阶线性近似的系数向量:在 \(x\) 附近有一阶线性近似 \[ f(x+h)\approx f(x)+\nabla f(x)^\top h. \] 可以理解为:
- 把多元函数在 \(x\) 附近“拉直”成一个切平面(或切超平面);
- 梯度 \(\nabla f(x)\) 就是这个切平面的“斜率向量”,完全决定了一阶近似。
因此,梯度可以看作是局部线性模型的参数向量。
等值面的法向量:等值面定义为 \[ S=\{x\mid f(x)=c\}. \] 在满足 \(\nabla f(x)\neq 0\) 的点上,梯度 \(\nabla f(x)\) 与等值面正交,是该等值面的。几何上,如果把 \(f\) 看成地形高度,则等高线(面)在某点的法向方向就是梯度方向。
梯度作为一个“场”:对空间中每个点 \(x\),\(\nabla f(x)\) 是一个向量,于是得到一个向量场。若将 \(f\) 看成温度、高度、电势或压力等标量场,则梯度就是相应的:
- 方向:变化最快的方向;
- 大小:变化率的大小。
梯度在多个领域中的典型应用
数值优化与机器学习
- 梯度下降 / 上升法: 迭代格式 [ x_{k+1}=x_k-_kf(x_k) ] 即顺着最陡下降方向搜索极小值。
- 深度学习中的反向传播: 本质是计算损失函数对所有参数的梯度 \(\nabla_\theta L\),再用梯度下降或其变种(SGD、Adam 等)更新参数。
- 约束优化中的 KKT 条件: 在最优点处,目标函数梯度与约束函数梯度线性相关,它们之间的几何关系给出最优性条件。
物理学:势场与力
- 在经典力学中,可写成某个势函数的负梯度: \[ F(x)=-\nabla V(x). \] 力的方向就是势能最快下降的方向,粒子沿势能“下坡”运动。
- 静电学中,电场 \(E(x)\) 是电势 \(V(x)\) 的负梯度: \[ E(x)=-\nabla V(x). \]
- 热传导、扩散等过程:热流、浓度流常与温度场或浓度场的梯度成正比,意味着“总是往浓度/温度下降最快的方向流动”。
偏微分方程与数学分析
- 梯度算子 \(\nabla\) 是许多 PDE 的基本构件。例如 Laplace 算子: [ f = (f), ] 出现在热方程、波动方程、泊松方程等方程中。
- 能量泛函的极值条件:在变分法中,极值条件往往可以写成“泛函梯度为零”的形式,对应于 Euler–Lagrange 方程。
图像处理与计算机视觉
- 边缘检测(Sobel、Prewitt 等):
对图像灰度函数 \(I(x,y)\),梯度 \[ \nabla I = \left(\frac{\partial I}{\partial x},\frac{\partial I}{\partial y}\right) \] 的模长较大的地方对应于灰度变化最快处,即图像边缘。 - 图像锐化、光流估计等任务也大量利用亮度的梯度信息。
- 边缘检测(Sobel、Prewitt 等):
统计学与概率论
- 得分函数(score function): 对数似然的梯度 \[ s(\theta)=\nabla_\theta \log p(x;\theta) \] 是极大似然估计、Fisher 信息及自然梯度等方法的核心概念。
- 在贝叶斯推断与变分推断中,优化 ELBO 的过程本质上也是在计算并利用各种目标函数的梯度。
控制、机器人及工程应用
在模型预测控制(MPC)中,可用梯度投影法或其它梯度型迭代方法求解优化子问题。
构造“目标吸引 + 障碍排斥”的势函数 \(U(x)\),令机器人按 [ x = -U(x) ] 运动,即沿势能最快下降方向前进,从而靠近目标、远离障碍。- 参数调节、系统辨识以及强化学习中的 policy gradient / natural policy gradient,本质上都是在求某个性能指标对参数的梯度。
经济学及其他领域
- 多变量效用函数 \(u(x_1,\ldots,x_n)\) 的梯度是,各分量表示对相应商品的边际效应。
- 在金融、地理信息、医学图像、流体模拟等领域,只要存在“标量场”,通常都离不开梯度这一工具。
4. 偏导数、方向导数、梯度之间的关系
4.1 方向导数 ↔︎ 梯度
定理:在可微情形下,方向导数 是 偏导数的线性组合。
证明:
设 \(f:\mathbb{R}^n \to \mathbb{R}\) 在点 \(x\) 可微。
按照多元函数可微的定义,存在一个线性映射 \(L:\mathbb{R}^n \to \mathbb{R}\),使得 \[ \begin{equation}\label{eq:5.18}\tag{5.18} f(x+h) = f(x) + L(h) + r(h), \end{equation} \] 其中余项 \(r(h)\) 满足 \[ \begin{equation}\label{eq:5.19}\tag{5.19} \lim_{h\to 0} \frac{\|r(h)\|}{\|h\|} = 0. \end{equation} \]
由于 \(L\) 是从 \(\mathbb{R}^n\) 到 \(\mathbb{R}\) 的线性映射,可以写成 \[ \begin{equation}\label{eq:5.20}\tag{5.20} L(h) = a^\top h, \end{equation} \] 其中 \(a = (a_1,\ldots,a_n)^\top \in \mathbb{R}^n\) 为某个向量。于是 \[ \begin{equation}\label{eq:5.21}\tag{5.21} f(x+h) = f(x) + a^\top h + r(h). \end{equation} \]
对任意方向向量 \(d\in\mathbb{R}^n\),考虑一维函数 \(\varphi(t)=f(x+td)\),令 \(h = td\),代入上式得到 \[ \begin{align}\label{eq:5.22}\tag{5.22} f(x+td) &= f(x) + a^\top(td) + r(td) \notag \\ &= f(x) + t a^\top d + r(td). \end{align} \] 因此方向导数 \[ \begin{align}\label{eq:5.23}\tag{5.23} Df(x;d) &= \lim_{t\to 0} \frac{f(x+td) - f(x)}{t} \notag \\ &= \lim_{t\to 0} \Bigl( a^\top d + \frac{r(td)}{t} \Bigr). \end{align} \]
注意到 \[ \begin{equation}\label{eq:5.24}\tag{5.24} \left\| \frac{r(td)}{t} \right\| = \frac{\|r(td)\|}{|t|} = \frac{\|r(td)\|}{\|td\|}\,\|d\| \longrightarrow 0, \end{equation} \] 故有 \[ \begin{equation}\label{eq:5.25}\tag{5.25} Df(x;d) = a^\top d. \end{equation} \]
另一方面,对于每个标准基向量 \(e_i = (0,\ldots,0,1,0,\ldots,0)^\top\),由上式可得 \[ \begin{equation}\label{eq:5.26}\tag{5.26} Df(x;e_i) = a^\top e_i = a_i. \end{equation} \]
由方向导数与偏导数的关系可知:\(Df(x;e_i) = \dfrac{\partial f}{\partial x_i}(x)\),三者对比可得 \[ \begin{equation}\label{eq:5.27}\tag{5.27} a_i = \frac{\partial f(x)}{\partial x_i}, \qquad i = 1,\ldots,n. \end{equation} \] 从而 \[ \begin{equation} a = \begin{bmatrix} \dfrac{\partial f}{\partial x_1}(x),\ldots, \dfrac{\partial f}{\partial x_n}(x) \end{bmatrix}^{\!\top} = \nabla f(x). \end{equation} \] 于是对任意方向向量 \(d = (d_1,\ldots,d_n)^\top\),有 \[ \begin{equation} Df(x;d) = a^\top d = \sum_{i=1}^n d_i \frac{\partial f(x)}{\partial x_i} = \nabla f(x)^\top d. \end{equation} \]