首页/笔记/高数/多元函数最值与优化基础:从极值判别到稀疏优化

多元函数最值与优化基础:从极值判别到稀疏优化

这篇不按教材章节走,而按“读优化/特征选择论文时最常用的局部工具”来整理。

如果把这篇压成一句话,那就是:

梯度告诉你“往哪里走最陡”,Hessian 告诉你“地形怎么弯”,约束决定你“哪些方向根本不能走”,而 L1 正则会把几何直接改造成偏爱稀疏解的形状。

这也是高数进入优化、再进入 AI 的一条最短路径。和 线性代数在机器学习中的核心结构作用 配合看,会更容易把“方向、曲率、条件数、稀疏性”连成一条线。


一、核心知识点总结

1. 梯度(Gradient)

  • 核心定义:对可微函数 $f:\mathbb{R}^n \to \mathbb{R}$,梯度是各个一阶偏导数组成的向量,它把“每个坐标方向上的变化率”收集到一起。
  • 直观理解:把函数看成地形,梯度就是当前位置“上坡最快”的方向;反方向 $-\nabla f$ 就是“下坡最快”的方向。
  • 数学表达:$\nabla f(x)=\left(\frac{\partial f}{\partial x_1},\frac{\partial f}{\partial x_2},\dots,\frac{\partial f}{\partial x_n}\right)^T$,并且对单位向量 $u$ 有方向导数 $D_u f(x)=\nabla f(x)^T u$;其最大值在 $u=\frac{\nabla f(x)}{\|\nabla f(x)\|}$ 处取得。
  • 在优化/AI中的作用:几乎所有一阶优化算法都围绕梯度展开。梯度下降、随机梯度下降、动量法、Adam,本质上都在近似回答一句话:当前最值得优先修正的参数方向是什么。

2. 驻点(Critical Point)

  • 核心定义:对无约束可微问题,若某点满足 $\nabla f(x^\star)=0$,则称 $x^\star$ 为驻点。
  • 直观理解:在驻点处,一阶线性近似已经不给出明确的上升或下降偏好;也就是“站在局部看,所有一阶方向都暂时打平了”。
  • 数学表达:若 $x^\star$ 是定义域内部的局部极大值点或局部极小值点,且 $f$ 在该点可微,则必有 $\nabla f(x^\star)=0$。这是一阶必要条件,不是充分条件。
  • 在优化/AI中的作用:训练算法常把“找到驻点”当成停机目标,但驻点未必是最小值,也可能是鞍点。深度学习里这点尤其重要,因为高维非凸问题中鞍点比局部极大值更常见。

3. Hessian 矩阵

  • 核心定义:Hessian 是由二阶偏导数组成的矩阵,用来描述多元函数的二阶局部变化。
  • 直观理解:梯度像“坡度”,Hessian 像“地形弯曲方式”。同一个驻点附近,地形可能像碗、像倒扣碗,也可能像马鞍。
  • 数学表达:$H_f(x)=\left[\frac{\partial^2 f}{\partial x_i \partial x_j}\right]_{i,j=1}^n$。二阶 Taylor 近似写成 $f(x+h)\approx f(x)+\nabla f(x)^T h+\frac{1}{2}h^T H_f(x) h$。
  • 在优化/AI中的作用:Hessian 决定局部曲率,也决定优化难度。牛顿法、拟牛顿法、Gauss-Newton、Fisher 近似,都是在想办法利用或近似利用这个二阶结构。

4. 二阶判别法(极值判断)

  • 核心定义:在驻点处,利用 Hessian 的正定性、负定性或不定性来判断该点是极小、极大还是鞍点。
  • 直观理解:一阶项消失以后,真正决定地形局部形状的就是二阶项 $h^T H h$。如果所有小扰动都让函数增大,那是局部极小;如果有些方向增大、有些方向减小,那就是鞍点。
  • 数学表达:若 $\nabla f(x^\star)=0$,那么当 $H_f(x^\star)\succ 0$ 时,$x^\star$ 是严格局部极小点;当 $H_f(x^\star)\prec 0$ 时,$x^\star$ 是严格局部极大点;当 $H_f(x^\star)$ 不定时,$x^\star$ 是鞍点;当 $H_f(x^\star)$ 只有半正定或半负定时,二阶判别法不能直接下结论。对二元函数 $f(x,y)$,常用判别式 $D=f_{xx}f_{yy}-f_{xy}^2$:若 $D>0$ 且 $f_{xx}>0$,则局部极小;若 $D>0$ 且 $f_{xx}<0$,则局部极大;若 $D<0$,则为鞍点;若 $D=0$,则结论不确定。
  • 在优化/AI中的作用:这套判别法是理解“为什么某些点训练会停、但并不是好解”的第一块砖。它也是从一阶方法过渡到二阶方法、从几何直觉过渡到算法选择的关键。

5. 拉格朗日乘子法

  • 核心定义:它是处理等式约束极值问题的基本方法,把原问题转成一个拉格朗日函数,再联合求驻点。
  • 直观理解:约束会限制你只能沿可行集移动;最优点处,目标函数在可行方向上已经无法继续下降,因此目标函数梯度必须落在约束法向方向上。
  • 数学表达:对约束 $g(x)=0$,构造 $\mathcal{L}(x,\lambda)=f(x)+\lambda g(x)$。一阶条件写成 $\nabla_x \mathcal{L}(x,\lambda)=\nabla f(x)+\lambda \nabla g(x)=0$, $g(x)=0$。 常见等价写法是 $\nabla f(x)=\mu \nabla g(x)$。
  • 在优化/AI中的作用:很多学习问题天然带约束,比如 simplex 约束、资源预算、范数约束、概率归一化。拉格朗日乘子法是进入 KKT 条件、对偶问题、约束优化算法的起点。

6. L1 正则与不可导问题

  • 核心定义L1 正则指在目标函数中加入 $\|x\|_1=\sum_i |x_i|$。它在 $x_i=0$ 处不可导,因此不能机械地沿用“令梯度等于零”的套路。
  • 直观理解|x| 在 0 附近有尖点,意思是“是否保留这个变量”在 0 这个位置发生了结构变化;这正是它能做变量筛选的几何来源。
  • 数学表达:单变量函数 $|x|$ 在 $x=0$ 处左导数为 $-1$、右导数为 $1$,所以不可导。对问题 $\min_x \|Ax-b\|^2+\lambda \|x\|_1$, 正确的一阶最优性条件不是 $\nabla f(x)=0$,而是 $0 \in 2A^T(Ax-b)+\lambda \,\partial \|x\|_1$, 其中 $\partial \|x\|_1$ 是次梯度集合。
  • 在优化/AI中的作用L1 正则是 Lasso、稀疏编码、特征选择的经典基础。它通过“允许很多坐标精确地落到 0”来完成模型压缩、变量筛选和可解释性增强。

二、典型例题

例题 1:梯度与驻点

已知

$$f(x,y)=x^2+xy+y^2$$

要求:

  1. 求梯度
  2. 求驻点

Step 1:先求一阶偏导

为什么先做这一步:因为驻点的定义就是 $\nabla f=0$,所以必须先把梯度写出来。

对 $x$ 求偏导:

$$\frac{\partial f}{\partial x}=2x+y$$

对 $y$ 求偏导:

$$\frac{\partial f}{\partial y}=x+2y$$

因此梯度为

$$\nabla f(x,y)=\begin{pmatrix}2x+y\\ x+2y\end{pmatrix}$$

Step 2:令梯度为零,求驻点

为什么可以这样做:对无约束可微问题,内部极值点必须满足一阶必要条件 $\nabla f=0$,所以驻点通过解方程组得到。

$$\begin{pmatrix}2x+y\\ x+2y\end{pmatrix}=\begin{pmatrix}0\\0\end{pmatrix}$$

等价于解线性方程组

$$ \begin{cases} 2x+y=0\\ x+2y=0 \end{cases} $$

由第一式得 $y=-2x$。代入第二式:

$$x+2(-2x)=0 \Rightarrow -3x=0 \Rightarrow x=0$$

进一步得到

$$y=-2x=0$$

标准答案

  1. 梯度是
$$\nabla f(x,y)=\begin{pmatrix}2x+y\\ x+2y\end{pmatrix}$$
  1. 驻点是
$$ (0,0) $$

这里先只得到“候选点”;它到底是最小值、最大值还是鞍点,要靠二阶信息继续判断。


例题 2:Hessian 判别

仍考虑

$$f(x,y)=x^2+xy+y^2$$

要求:

  1. 写出 Hessian
  2. 判断极值类型,并说明理由

Step 1:计算二阶偏导

为什么这样做:Hessian 的每个元素都是二阶偏导,极值类型要看二阶曲率结构。

由上一题的一阶偏导可知:

$$f_x=2x+y,\quad f_y=x+2y$$

继续求二阶偏导:

$$f_{xx}=2,\quad f_{xy}=1,\quad f_{yx}=1,\quad f_{yy}=2$$

所以 Hessian 为

$$H_f(x,y)=\begin{pmatrix}2&1\\1&2\end{pmatrix}$$

注意这里 Hessian 与 $(x,y)$ 无关,说明这是一个标准二次函数,局部曲率在整个平面上都一样。

Step 2:判断 Hessian 的正定性

为什么先判正定:在驻点处,若 Hessian 正定,则二阶项对所有非零扰动都为正,这就意味着该点是严格局部极小点。

方法一:看顺序主子式。

第一个顺序主子式:

$$2>0$$

行列式:

$$\det(H)=2\cdot 2-1\cdot 1=3>0$$

因此 $H_f$ 正定。

也可以用二元函数判别式:

$$D=f_{xx}f_{yy}-f_{xy}^2=2\cdot 2-1^2=3>0$$

$$f_{xx}=2>0$$

所以驻点 $(0,0)$ 是局部极小点。

Step 3:进一步说明它其实还是全局最小点

为什么能多说这句:因为这是一个正定二次型,函数在整个空间上都向上开。

直接写成二次型:

$$f(x,y)=\begin{pmatrix}x&y\end{pmatrix}\begin{pmatrix}1&1/2\\1/2&1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$$

对任意非零向量 $(x,y)^T$,都有 $f(x,y)>0$,并且在 $(0,0)$ 取到 $0$。所以它不仅是局部极小点,还是全局最小点。

标准答案

  1. Hessian 是
$$H_f(x,y)=\begin{pmatrix}2&1\\1&2\end{pmatrix}$$
  1. 由于 Hessian 正定,驻点 $(0,0)$ 是严格局部极小点;进一步,由于函数是正定二次型,它还是全局最小点。

例题 3:二次函数最小值

已知

$$f(x,y)=x^2+y^2-4x-6y$$

要求:

  1. 求最小值点
  2. 说明为什么是全局最小

Step 1:求梯度并找驻点

为什么先求梯度:对无约束平滑最优化,候选最优点先由一阶条件给出。

计算偏导:

$$\frac{\partial f}{\partial x}=2x-4,\quad \frac{\partial f}{\partial y}=2y-6$$

因此

$$\nabla f(x,y)=\begin{pmatrix}2x-4\\2y-6\end{pmatrix}$$

令梯度为零:

$$ \begin{cases} 2x-4=0\\ 2y-6=0 \end{cases} $$

解得

$$x=2,\quad y=3$$

所以候选最小值点是

$$ (2,3) $$

Step 2:判断为什么它是最小点

为什么要做这一步:一阶条件只说明“可能是极值点”,还没说明是最小还是别的类型。

Hessian 为

$$H_f(x,y)=\begin{pmatrix}2&0\\0&2\end{pmatrix}=2I$$

这个矩阵显然正定,因为对任意非零向量 $z$ 都有

$$z^T(2I)z=2\|z\|^2>0$$

因此 $f$ 是严格凸函数。严格凸函数一旦存在驻点,该驻点就是唯一全局最小点。

Step 3:把最小值本身也写出来

为什么值得顺手写:在优化里,最小值点和最优目标值通常都要报告。

配方可得

$$f(x,y)=(x-2)^2+(y-3)^2-13$$

因此在 $(x,y)=(2,3)$ 处取到最小值

$$f_{\min}=-13$$

标准答案

  1. 最小值点是
$$ (2,3) $$
  1. 最小值为
$$ -13 $$
  1. 由于 Hessian 为 $2I \succ 0$,函数严格凸,因此该点是唯一全局最小点。

例题 4:拉格朗日乘子

求解

$$ \min f(x,y)=x^2+y^2 $$

约束为

$$x+y=1$$

要求:

  1. 写出 Lagrangian
  2. 求解
  3. 给出几何解释

Step 1:构造拉格朗日函数

为什么这么做:约束优化里,目标函数和约束要被合并成一个统一对象,才能用驻点方程一起求。

把约束写成

$$g(x,y)=x+y-1=0$$

构造

$$\mathcal{L}(x,y,\lambda)=x^2+y^2+\lambda(x+y-1)$$

Step 2:对所有变量求偏导并令其为零

为什么这样做:最优点处不仅要满足可行性,还要满足目标梯度与约束法向方向平衡。

对 $x,y,\lambda$ 求偏导:

$$\frac{\partial \mathcal{L}}{\partial x}=2x+\lambda$$
$$\frac{\partial \mathcal{L}}{\partial y}=2y+\lambda$$
$$\frac{\partial \mathcal{L}}{\partial \lambda}=x+y-1$$

令它们都为 0:

$$ \begin{cases} 2x+\lambda=0\\ 2y+\lambda=0\\ x+y-1=0 \end{cases} $$

由前两式得

$$2x+\lambda=2y+\lambda \Rightarrow x=y$$

再代入约束

$$x+y=1 \Rightarrow 2x=1 \Rightarrow x=\frac{1}{2}$$

所以

$$y=\frac{1}{2}$$

再由 $2x+\lambda=0$ 得

$$\lambda=-1$$

Step 3:写出最优值并解释几何意义

为什么要解释几何:拉格朗日乘子法真正重要的不是“会列式子”,而是明白它在说什么几何关系。

最优值为

$$f\left(\frac{1}{2},\frac{1}{2}\right)=\frac{1}{4}+\frac{1}{4}=\frac{1}{2}$$

几何上,目标函数 $x^2+y^2$ 的等值线是以原点为中心的同心圆,约束 $x+y=1$ 是一条直线。 最优点就是“离原点最近的那一个可行点”,也就是原点到该直线的正交投影点。

在最优点处,

$$\nabla f(x,y)=(2x,2y)=(1,1)$$

而约束的法向量是

$$\nabla g(x,y)=(1,1)$$

两者平行,这正是 $\nabla f=\mu \nabla g$ 的几何含义:目标函数的最陡变化方向已经和约束法向方向重合,因此沿可行切向方向再也降不下去了。

标准答案

  1. Lagrangian 是
$$\mathcal{L}(x,y,\lambda)=x^2+y^2+\lambda(x+y-1)$$
  1. 最优解是
$$x^\star=y^\star=\frac{1}{2},\quad \lambda^\star=-1$$
  1. 最优值是
$$f^\star=\frac{1}{2}$$
  1. 几何解释:最优点是原点到直线 $x+y=1$ 的正交投影点,且在该点目标梯度与约束法向量平行。

例题 5:L1 正则理解题

考虑问题

$$ \min_x \|Ax-b\|^2+\lambda \|x\|_1 $$

要求:

  1. 为什么不能直接用 $\nabla f=0$?
  2. L1 为什么会导致稀疏解?
  3. 常用求解方法有哪些?

Step 1:解释为什么不能直接令梯度为零

为什么这题关键不在计算:因为这里真正的障碍不是线性代数运算,而是目标函数不再处处可导。

平滑部分 $\|Ax-b\|^2$ 的梯度没有问题:

$$\nabla \|Ax-b\|^2 = 2A^T(Ax-b)$$

L1 项满足

$$\|x\|_1=\sum_i |x_i|$$

只要某个坐标 $x_i=0$,对应的 $|x_i|$ 就不可导。 而稀疏解恰恰意味着很多坐标最终会变成 0,所以最优点经常正好落在不可导位置。

因此这类问题的正确最优性条件应写成

$$0 \in 2A^T(Ax-b)+\lambda \,\partial \|x\|_1$$

而不是简单地写

$$\nabla f(x)=0$$

Step 2:解释为什么 L1 会产生稀疏性

为什么不是所有正则都会稀疏:关键区别在于 L1 的几何有“尖角”,而 L2 的几何是圆滑的。

从代数上看,L1 惩罚对每个系数都收取线性代价:

$$\lambda \|x\|_1=\lambda \sum_i |x_i|$$

当某个系数很小的时候,把它直接压到 0 往往能显著减少正则代价,而对拟合误差的影响未必很大,于是最优解会倾向于“宁可精简一批小系数”。

从几何上看,L1 球在二维里是菱形、高维里是带尖角的多面体;二次误差项的等值面与它相切时,更容易在坐标轴或坐标平面上接触。 一旦接触点落在某个坐标轴上,就意味着某些分量精确为 0。

这就是它和特征选择直接相连的原因: 若 $x_j=0$,就等于第 $j$ 个特征被模型主动丢掉了。

Step 3:列出常用求解方法

为什么这里只列方法不展开:这已经进入非光滑优化算法层面,当前先建立方法地图更重要。

常见方法包括:

  1. 次梯度法(subgradient method)
  2. 坐标下降(coordinate descent)
  3. 近端梯度法(proximal gradient / ISTA)
  4. 加速近端梯度法(FISTA)
  5. ADMM
  6. LARS / Lasso path 方法
  7. 近端牛顿法(proximal Newton)

标准答案

  1. 不能直接令 $\nabla f=0$,因为 $\|x\|_1$ 在 $x_i=0$ 处不可导,最优点往往正落在这些不可导位置。
  2. L1 会导致稀疏解,因为它在 0 处有尖点,几何上更容易把解推到坐标轴上,代数上则鼓励小系数直接归零。
  3. 常用方法有次梯度法、坐标下降、ISTA、FISTA、ADMM、LARS/Lasso path、近端牛顿法等。

三、科研视角总结

1. 从“求极值”到“优化问题”

如果只停留在高数语境,问题通常写成:

  • 这个函数哪里最大?
  • 这个函数哪里最小?

但一旦进入科研,问题会立刻变成更完整的形式:

  • 目标函数是什么?
  • 有没有约束?
  • 有没有正则项?
  • 函数是不是光滑?
  • 是凸问题还是非凸问题?
  • 一阶方法够不够,还是要看二阶曲率?

也就是说,“求极值”只是优化问题的一个最简原型。 真正的优化关心的是:目标、几何、约束、正则、算法 五件事如何同时出现。

2. 在机器学习里的对应关系

  • loss function:对应“你到底想拟合什么”。回归常见平方误差,分类常见交叉熵,本质上都是把任务目标写成一个可优化标量函数。
  • regularization:对应“你允许模型长成什么样”。L2 偏向平滑和小范数,L1 偏向稀疏和特征筛选,低秩约束偏向结构压缩。
  • optimization algorithm:对应“你实际上怎样把参数推到一个好位置”。梯度下降利用一阶信息,牛顿类方法利用二阶信息,近端方法处理非光滑项,约束方法处理可行域限制。

这三者不是三张分离的表,而是一套联动系统:

  • loss 决定你在拟合什么
  • regularization 决定你偏爱什么结构
  • optimization 决定你能否把这个问题真正解出来

3. 这篇最该记住的主线

如果以后你在论文里再次看到“梯度、Hessian、约束、稀疏”,可以直接按下面这条线去读:

  1. 梯度:当前最敏感的下降方向是什么?
  2. 驻点:一阶上已经没有明显下降方向了吗?
  3. Hessian:这是碗、倒扣碗,还是马鞍?
  4. 约束:有哪些方向根本不允许走?
  5. L1:是不是在主动逼迫一部分变量消失?

把这五个问题连起来,“多元函数极值”就不再只是高数题,而会自然变成机器学习里的完整优化视角。

4. 一句压缩总结

在 AI / 优化 / 特征选择里,梯度负责方向,Hessian 负责局部地形,拉格朗日乘子负责可行方向,L1 正则负责结构偏置;它们合在一起,才构成一个真正可计算、可解释、可用于科研的优化问题。