机器学习数学基础 120 章

偏导数、全微分与多元函数

层级:A|必学

1. 模型损失几乎总是多元函数

真实模型有成千上万个参数,损失写作

L(θ1,,θp).L(\theta_1,\ldots,\theta_p).

偏导数问“只改变一个变量,其他暂时固定,函数怎样变”;全微分把所有变量的小变化合并。理解两者是学习梯度、Hessian 和反向传播的前提。

2. 多元标量函数

f:RdR,f(x1,ldots,xd).f:\mathbb R^d\to\mathbb R, \qquad f(x_1,ldots,x_d).

输入是向量,输出是标量。例如二维平方误差地形:

f(x,y)=x2+2y2.f(x,y)=x^2+2y^2.

图像是三维曲面;在更高维无法直接画,但等高线和局部导数仍可计算。

3. 偏导数

对第 jj 个变量:

fxj(x)=limh0f(x1,,xj+h,,xd)f(x)h.\frac{\partial f}{\partial x_j}(x) =\lim_{h\to0} \frac{f(x_1,\ldots,x_j+h,\ldots,x_d)-f(x)}h.

求偏导时,其余变量当常数。

例:

f(x,y)=x2y+3y2.f(x,y)=x^2y+3y^2. fx=2xy,fy=x2+6y.\frac{\partial f}{\partial x}=2xy, \qquad \frac{\partial f}{\partial y}=x^2+6y.

4. 偏导数的直觉

在曲面上,f/x\partial f/\partial x 是沿 xx 坐标方向切开的截面斜率,f/y\partial f/\partial y 是沿 yy 方向截面的斜率。它只描述坐标轴方向,不直接给任意方向变化。

若某偏导绝对值大,函数对该坐标的局部单位变化敏感;但不同参数单位不同,数值大小不能脱离尺度直接比较。

5. 全增量与全微分

输入同时变化 Δx1,ldots,Δxd\Delta x_1,ldots,\Delta x_d 时,若 ff 可微:

Δf=f(x+Δx)f(x)j=1dfxjΔxj.\Delta f =f(x+\Delta x)-f(x) \approx\sum_{j=1}^{d} \frac{\partial f}{\partial x_j}\Delta x_j.

对应全微分:

df=j=1dfxjdxj.df=\sum_{j=1}^{d} \frac{\partial f}{\partial x_j}dx_j.

用梯度写成

df=(f)Tdx.df=(\nabla f)^Tdx.

这是多元函数的一阶线性近似。

6. 偏导存在不一定可微

多元情形比一元更微妙:所有偏导在一点存在,不自动保证函数在该点连续或可微。可微要求存在一个对所有小方向统一有效的线性近似。

实践中,若偏导在该点附近存在且连续,通常足以保证可微。机器学习常见的光滑函数满足这一条件;分段激活则需单独处理折点。

7. 高阶偏导

可继续求偏导:

2fxi2,2fxixj.\frac{\partial^2f}{\partial x_i^2}, \qquad \frac{\partial^2f}{\partial x_i\partial x_j}.

混合偏导描述变量之间局部交互。若二阶偏导在邻域连续,Clairaut 定理给出

2fxixj=2fxjxi.\frac{\partial^2f}{\partial x_i\partial x_j} =\frac{\partial^2f}{\partial x_j\partial x_i}.

因此 Hessian 通常对称。若光滑条件不足,两个顺序可能不同。

8. 隐函数与约束的直觉

方程

g(x,y)=0g(x,y)=0

可能隐式定义 y=y(x)y=y(x)。若 g/y0\partial g/\partial y\ne0,对两边全微分:

gxdx+gydy=0,g_xdx+g_ydy=0,

得到

dydx=gxgy.\frac{dy}{dx}=-\frac{g_x}{g_y}.

等高线 f(x,y)=cf(x,y)=c 上也满足 df=0df=0,所以梯度与沿等高线的切向变化正交。

9. 参数与超参数的偏导

L(θ,λ)L(\theta,\lambda) 中,求 L/θ\partial L/\partial\theta 时把超参数 λ\lambda 固定;若要优化 λ\lambda,需考虑训练得到的 θ(λ)\theta^*(\lambda) 也依赖它,形成总导数或双层优化。偏导中的“其他变量固定”是数学假设,不一定符合实际依赖关系。

10. 期望与求导交换

机器学习常见

L(θ)=EX[(θ;X)].L(\theta)=\mathbb E_X[\ell(\theta;X)].

在适当光滑与可积条件下:

θL=EX[θ].\nabla_\theta L =\mathbb E_X[\nabla_\theta\ell].

随机梯度用样本梯度估计期望梯度。但交换不是无条件真理;理论分析需满足支配收敛等条件。

11. 小例子:双变量回归损失

单样本模型 y^=wx+b\hat y=wx+b

L(w,b)=12(wx+by)2.L(w,b)=\frac12(wx+b-y)^2.

r=wx+byr=wx+b-y

Lw=rx,Lb=r.\frac{\partial L}{\partial w}=rx, \qquad \frac{\partial L}{\partial b}=r.

所以小变化的损失近似为

dL=rxdw+rdb.dL=rx\,dw+r\,db.

梯度把两个偏导组织成向量。

易错点

  1. 求偏导时只暂时固定其他独立变量;若变量实际相互依赖,要用总导数。
  2. 所有偏导存在不自动保证可微。
  3. 混合偏导交换需要光滑条件。
  4. 偏导数大小受变量单位影响。
  5. 交换求导与求和通常安全,交换求导与积分/期望需条件。

常见问答

Q1:偏导为零是否表示变量不重要?

只表示当前点沿该坐标的一阶局部变化为零,可能是饱和、对称点或高阶效应;不能等同于全局特征重要性。

Q2:全微分与梯度有什么区别?

梯度是偏导数组成的向量;全微分是作用在输入小变化上的线性形式。Euclidean 坐标下二者通过内积对应。

Q3:batch 损失对参数的偏导怎样算?

若损失是样本损失之和/平均,利用求导线性性,把每个样本梯度求和/平均。

练习

  1. f(x,y)=x2+xy+y2f(x,y)=x^2+xy+y^2 求两个一阶偏导。
  2. 求混合二阶偏导并验证相等。
  3. 在点 (1,2)(1,2),对变化 (dx,dy)=(0.01,0.02)(dx,dy)=(0.01,-0.02) 用全微分近似 dfdf
  4. L(w,b)=12(wx+by)2L(w,b)=\frac12(wx+b-y)^2 求偏导。
  5. 等高线上的切向量 vv 为什么满足 fTv=0\nabla f^Tv=0

答案与提示

  1. 2x+y2x+yx+2yx+2y
  2. 两者都为 1。
  3. 梯度为 (4,5)(4,5),故 df4(0.01)+5(0.02)=0.06df\approx4(0.01)+5(-0.02)=-0.06
  4. 分别为 (wx+by)x(wx+b-y)xwx+bywx+b-y
  5. 沿等高线函数值一阶不变,方向导数为零。