如果把这篇压成一句话,那就是:
梯度告诉你“往哪里走最陡”,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$$
要求:
- 求梯度
- 求驻点
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$$
标准答案
- 梯度是
$$\nabla f(x,y)=\begin{pmatrix}2x+y\\ x+2y\end{pmatrix}$$
- 驻点是
$$ (0,0) $$
这里先只得到“候选点”;它到底是最小值、最大值还是鞍点,要靠二阶信息继续判断。
例题 2:Hessian 判别
仍考虑
$$f(x,y)=x^2+xy+y^2$$
要求:
- 写出 Hessian
- 判断极值类型,并说明理由
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$。所以它不仅是局部极小点,还是全局最小点。
标准答案
- Hessian 是
$$H_f(x,y)=\begin{pmatrix}2&1\\1&2\end{pmatrix}$$
- 由于 Hessian 正定,驻点 $(0,0)$ 是严格局部极小点;进一步,由于函数是正定二次型,它还是全局最小点。
例题 3:二次函数最小值
已知
$$f(x,y)=x^2+y^2-4x-6y$$
要求:
- 求最小值点
- 说明为什么是全局最小
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$$
标准答案
- 最小值点是
$$ (2,3) $$
- 最小值为
$$ -13 $$
- 由于 Hessian 为 $2I \succ 0$,函数严格凸,因此该点是唯一全局最小点。
例题 4:拉格朗日乘子
求解
$$
\min f(x,y)=x^2+y^2
$$
约束为
$$x+y=1$$
要求:
- 写出 Lagrangian
- 求解
- 给出几何解释
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$ 的几何含义:目标函数的最陡变化方向已经和约束法向方向重合,因此沿可行切向方向再也降不下去了。
标准答案
- Lagrangian 是
$$\mathcal{L}(x,y,\lambda)=x^2+y^2+\lambda(x+y-1)$$
- 最优解是
$$x^\star=y^\star=\frac{1}{2},\quad \lambda^\star=-1$$
- 最优值是
$$f^\star=\frac{1}{2}$$
- 几何解释:最优点是原点到直线 $x+y=1$ 的正交投影点,且在该点目标梯度与约束法向量平行。
例题 5:L1 正则理解题
考虑问题
$$
\min_x \|Ax-b\|^2+\lambda \|x\|_1
$$
要求:
- 为什么不能直接用 $\nabla f=0$?
L1 为什么会导致稀疏解?- 常用求解方法有哪些?
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:列出常用求解方法
为什么这里只列方法不展开:这已经进入非光滑优化算法层面,当前先建立方法地图更重要。
常见方法包括:
- 次梯度法(subgradient method)
- 坐标下降(coordinate descent)
- 近端梯度法(proximal gradient / ISTA)
- 加速近端梯度法(FISTA)
- ADMM
- LARS / Lasso path 方法
- 近端牛顿法(proximal Newton)
标准答案
- 不能直接令 $\nabla f=0$,因为 $\|x\|_1$ 在 $x_i=0$ 处不可导,最优点往往正落在这些不可导位置。
L1 会导致稀疏解,因为它在 0 处有尖点,几何上更容易把解推到坐标轴上,代数上则鼓励小系数直接归零。- 常用方法有次梯度法、坐标下降、ISTA、FISTA、ADMM、LARS/Lasso path、近端牛顿法等。
三、科研视角总结
1. 从“求极值”到“优化问题”
如果只停留在高数语境,问题通常写成:
但一旦进入科研,问题会立刻变成更完整的形式:
- 目标函数是什么?
- 有没有约束?
- 有没有正则项?
- 函数是不是光滑?
- 是凸问题还是非凸问题?
- 一阶方法够不够,还是要看二阶曲率?
也就是说,“求极值”只是优化问题的一个最简原型。 真正的优化关心的是:目标、几何、约束、正则、算法 五件事如何同时出现。
2. 在机器学习里的对应关系
- loss function:对应“你到底想拟合什么”。回归常见平方误差,分类常见交叉熵,本质上都是把任务目标写成一个可优化标量函数。
- regularization:对应“你允许模型长成什么样”。
L2 偏向平滑和小范数,L1 偏向稀疏和特征筛选,低秩约束偏向结构压缩。 - optimization algorithm:对应“你实际上怎样把参数推到一个好位置”。梯度下降利用一阶信息,牛顿类方法利用二阶信息,近端方法处理非光滑项,约束方法处理可行域限制。
这三者不是三张分离的表,而是一套联动系统:
- loss 决定你在拟合什么
- regularization 决定你偏爱什么结构
- optimization 决定你能否把这个问题真正解出来
3. 这篇最该记住的主线
如果以后你在论文里再次看到“梯度、Hessian、约束、稀疏”,可以直接按下面这条线去读:
- 梯度:当前最敏感的下降方向是什么?
- 驻点:一阶上已经没有明显下降方向了吗?
- Hessian:这是碗、倒扣碗,还是马鞍?
- 约束:有哪些方向根本不允许走?
L1:是不是在主动逼迫一部分变量消失?
把这五个问题连起来,“多元函数极值”就不再只是高数题,而会自然变成机器学习里的完整优化视角。
4. 一句压缩总结
在 AI / 优化 / 特征选择里,梯度负责方向,Hessian 负责局部地形,拉格朗日乘子负责可行方向,L1 正则负责结构偏置;它们合在一起,才构成一个真正可计算、可解释、可用于科研的优化问题。