/knowledge/calculus-optimisation
微积分与最优化
关于变化、以及如何找到最优解的数学。每一个会『学习』的模型,其实都是在损失曲面上向下滚动——而微积分正是告诉它哪个方向朝下的东西。
- 学于
- 微积分与最优化理学学士 · 数据科学核心
- 时间
- 墨尔本大学,2019–2022
- 应用于
- 模型训练 · 损失最小化
- 阅读 / 复习
- 约 15 分钟阅读2026-06-25
这是揭开机器学习神秘面纱的秘密:训练一个模型就是一个最优化问题。你定义一个损失——用一个数字衡量模型有多错——然后寻找让它尽可能小的参数设置。微积分正是让这种搜索成为可能的工具,因为导数会告诉你,从任意一点 出发,哪个方向能减小损失。
本页与线性代数(数据的形状)以及概率与统计(数据的不确定性)一道, 构成核心数学基础。微积分是第三条腿:关于变化、以及如何找到最优解的数学。
01
两个问题,一套工具
微积分回答两个最终被证明深度相关的问题:
- 某物变化得有多快?——导数的领域。曲线的斜率、过程的速度、 输出对输入的敏感度。
- 最好(最高或最低)的点在哪里?——最优化的领域。利润曲线的 顶点、损失曲面的谷底。
它们相关,是因为最优点恰好出现在变化率为零之处——在山顶或谷底,斜率会在那一刻 变平。所以只要你能计算斜率,就能找到最优解。正是这一座桥,让微积分驱动了整个 机器学习。
02
导数
一个函数的导数衡量它的瞬时变化率——曲线在某点的斜率。严格来说, 它是当「水平增量」缩小到零时,「竖直增量除以水平增量」的极限:
直觉比极限更重要:把任意光滑曲线放大到足够程度,它看起来就是一条直线——导数就是 这条直线的斜率。正导数意味着函数在上升;负的意味着在下降;零意味着平坦,这正是你处于峰、谷或平台的信号。最后这个事实,正是最优化所依赖的全部。
03
梯度
真实模型不止一个旋钮;它们有成千上万、甚至数十亿个。当一个函数有许多输入时, 导数推广为梯度——由偏导数组成的向量,每个输入一个, 各自衡量当你微调某一个变量、保持其余不变时输出如何变化:
梯度有一个优美的几何含义:它指向最陡上升的方向——你要最快爬上曲面 所走的方向——其长度则表示这段攀爬有多陡。要尽可能快地向下走,你只需朝 相反方向走,即 −∇f。记住这一点:它就是训练背后的全部思想。
04
寻找最优解
由于在峰或谷处斜率为平,最优化首先寻找梯度为零的点——驻点。令 ∇f = 0 并求解,便得到候选点。要判断每个点是哪一种,你需要检查二阶导数(曲率):
- 向上弯(正)→ 极小值——一个谷。
- 向下弯(负)→ 极大值——一个峰。
- 在不同维度上有正有负 → 鞍点——一个方向向上、另一个方向向下, 就像山口。
对于简单函数,你可以手算 ∇f = 0。但对于真实模型那种盘根错节的损失 曲面,你做不到——没有闭式解——所以你需要一个能走向极小值的算法。这个 算法就是梯度下降。
05
凸性
决定最优化是容易还是困难的单一属性,就是凸性。凸函数呈碗状:它恰好 只有一个底,任何局部极小值自动就是全局极小值。非凸函数则是一片连绵起伏的山脉 ——许多谷,只有一个最深——算法可能困在某个浅谷里,把局部极小值误当成最优解。
线性回归与逻辑回归等经典方法的损失是凸的,因此能保证找到最佳拟合。神经网络则是 极度非凸的——这正是训练它们带有几分艺术成分的原因,也是良好初始化、动量和随机性 等技巧如此重要的原因。值得注意的是,在极高维空间中,局部极小值往往几乎和全局 极小值一样好,这在很大程度上正是深度学习能奏效的原因。
06
梯度下降
梯度下降是现代机器学习的主力算法,而且简单得几乎令人难为情:从你 所在之处,计算下坡方向,朝那个方向迈一小步。重复,直到不再移动。作为参数 θ 的更新规则:
损失 L 是模型有多错,∇L 是上坡方向(所以我们减去它以 向下),而 η(eta)是学习率——步长,也是最重要的一个 待调旋钮:
- 太小,训练就会爬行,收敛遥遥无期。
- 太大,你会越过谷底,在谷的两侧来回弹跳,甚至彻底发散。
实践中,你很少在每一步都用整个数据集——你从一个小的随机批次估计 梯度,这样更快,还会加入有益的噪声,能把你从糟糕的局部极小值中弹出来。这就是随机梯度下降,它的各种变体(Adam、RMSProp)训练着如今几乎每一个 在用的神经网络。
07
链式法则与反向传播
要在深层模型上运行梯度下降,你需要损失对每一个参数的梯度,哪怕是埋在 许多层深处的参数。提供它的工具就是链式法则——微积分用于对嵌套函数 求导的法则:
它说的是:输出对一个遥远输入的敏感度,等于两者之间整条链上各段敏感度的乘积。神经网络恰好就是这样一条链——每一层都是一个函数,喂给下一层—— 所以链式法则让你通过把路径上各处的局部导数相乘,算出第一层中的某个权重如何影响 最终损失。
08
约束优化
你往往无法自由地优化——存在约束。在风险预算之下最大化投资组合的收益; 在满足需求之下最小化成本。经典工具是拉格朗日乘子法,它用 一个新变量把每个约束折叠进目标函数,而这个变量为约束在最优点处「值多少代价」 定价。
这是通往运筹学的桥梁——线性规划、资源分配、排程——整个问题就是 「在硬性限制内找到最佳决策」。同样的梯度思维依然适用,只是现在沿着「允许范围」 的边界行走,而非在开阔的曲面上。
09
它在我工作中的体现
10