多元链式法则(multivariable chain rule)
假设某个量依赖于若干变量,而这些变量又依赖于别的东西——温度依赖于位置,但你沿一条路径行走,于是位置又依赖于时间。你边走时温度变化有多快?多元链式法则正好回答这个问题:它把一个变化沿着依赖关系链传播,并把变化能够经过的每条路线都加起来。
若 f 依赖于 x 与 y,而 x、y 又都依赖于单个参数 t,则 df/dt = (partial f / partial x)(dx/dt) + (partial f / partial y)(dy/dt)。读作:f 的变化经由 x 与经由 y 抵达,所以把两条路径相加,每条都是一个偏导乘以内层变率。若 x、y 改为依赖两个参数 s 与 t,则你对 partial f / partial s 得到一个这样的和,对 partial f / partial t 得到另一个。在最简洁的表述中,这不过是全导数的矩阵乘法:复合的雅可比矩阵等于各雅可比矩阵之积,J(f 复合 g) = J(f) 乘 J(g)。
这条法则是大片应用数学背后的主力。它在不同坐标系之间转换偏微分方程(把拉普拉斯算子改写到极坐标或球坐标),它驱动神经网络中的反向传播(梯度逐层向后流动就是嵌套的链式法则),它支撑着热力学与力学中的每一次换元。它唯一要求的纪律是记账:当有若干中间变量与若干末端变量时,很容易漏掉一项,这正是树状图存在的原因。
设 f = x^2 + y^2,x = cos(t)、y = sin(t)。则 df/dt = (2x)(-sin t) + (2y)(cos t) = 2 cos t (-sin t) + 2 sin t (cos t) = 0——正确地反映出 f = 1 在单位圆上为常数。
对从输出到参数的每条路径求和;这里两条路径相消,因为 f 在圆上为常数。
最常见的错误是漏掉一条路径:当 f(x, y) 且 x、y 都依赖于 t 时,两项都需要。项数等于从末端变量回到你所求导变量的不同路线数。