多元链式法则:变化率在变量网络中传播

05-多元微积分 核心 约 20 分钟 #链式法则#多元链式#树图#全导数 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),公式与树图法建议对照 Stewart §14.4 复核。

一句话定义

多元链式法则是单变量链式(kp-007)的网络化:每条"变量依赖边"贡献一个偏导因子,终点对起点的总导数 = 沿所有路径的乘积之和——$\frac{\partial z}{\partial t}=\frac{\partial z}{\partial x}\frac{\partial x}{\partial t}+\frac{\partial z}{\partial y}\frac{\partial y}{\partial t}$;画依赖树、按路径求和,任何复杂度的复合都不迷路。

为什么重要

从一元到多元,"复合"从链条升级成网络(中间变量互相交织);反向传播(kp-031)就是巨型变量网络的多元链式法则的系统化执行。同时它是多元换元、隐函数求导(含 kp-025 的 Lagrange 乘数推导)、全微分运算的统一引擎。

前置知识

kp-007(单变量链式)、kp-022(偏导)。

核心概念

  • 情形一(多进一出):$z=f(x,y)$,$x=x(t)$,$y=y(t)$:

$$\frac{dz}{dt}=\frac{\partial z}{\partial x}\frac{dx}{dt}+\frac{\partial z}{\partial y}\frac{dy}{dt}$$ "总变化 = x 通道贡献 + y 通道贡献"。

  • 情形二(多进多出):$z=f(x,y)$,$x=x(s,t)$,$y=y(s,t)$:

$$\frac{\partial z}{\partial s}=\frac{\partial z}{\partial x}\frac{\partial x}{\partial s}+\frac{\partial z}{\partial y}\frac{\partial y}{\partial s}$$ (t 同理)——每个输出变量独立写一遍。

  • 树图法(防漏项神器):画变量依赖树,根=因变量、叶=自变量;每条从根到叶的路径给出一项乘积,全部路径求和。路径数=项数——数路径即数项。
  • 全微分形式:$dz=f_xdx+f_ydy$——把链式法则压缩成"微分的一次式",任意变量替换自动成立(这就是它在换元中好用的原因)。
  • 隐函数求导(多元版):$F(x,y)=0$ ⇒ $\frac{dy}{dx}=-\frac{F_x}{F_y}$——两边全微分后解出(kp-007 隐函数的正式升级,条件 $F_y\ne0$ 即隐函数定理)。

原理与机制

为什么是"路径和"而非"路径积":总变化可经由 x 路径与 y 路径两条独立管道抵达(一元只有一条管道所以只有乘积);每条管道内部是因子相乘(链式),管道之间是贡献相加(线性性)——"管道内乘、管道间加"八个字概括全部。

全微分为什么是"自动链式":$dz=f_xdx+f_ydy$ 中 dx、dy 是自由的微分变量——一旦给 x、y 指定随 t 的变化(dx=x'dt),代入即得全导数。微分的记号让"谁是谁的函数"在书写层面自动处理——莱布尼茨记号的第二次胜利(第一次是单变量链式形似分数)。

树图与反向传播的血缘:树图前向展开=前向传播;从根反向收集"梯度×局部导数"=反向传播。深度学习框架的 autograd 就是把 kp-022~024 的这套规则对任意计算图自动化(kp-029 的主题)。

图示

z = f(x,y), x(t), y(t):
   dz/dt = z_x·x'(t) + z_y·y'(t)
树图:   z ← x ← t
        z ← y ← t      两条路径 → 两项相加
全微分: dz = f_x dx + f_y dy
隐函数: F(x,y)=0 → dy/dx = −F_x/F_y

直观类比

水系汇流:支流 x 与支流 y 各自把水送入干流 z。干流总流量变化 =(x 的变化 × x→z 的转化率)+(y 的变化 × y→z 的转化率)——管道内乘转化率,管道间加流量。

实例或案例

  • 物理连锁:气压 P 依赖温度 T 与体积 V,T、V 又都随时间变——理想气体定律求 dP/dt(气象/工程常客)。
  • 极坐标换元:$f(x,y)$、$x=r\cos\theta$、$y=r\sin\theta$ 的偏导变换——多元换元的标准操作(kp-026 极坐标二重积分的语言基础)。
  • 风寒温度:实际温度、风速都随时间变,体感温度的全导数=温度通道+风速通道之和。

常见误区

  • 误区一:"∂ 记号当分数约分导致漏项"。$\frac{\partial z}{\partial x}\cdot\frac{\partial x}{\partial t}$ 只是一条路径——漏掉 y 路径是头号错误(记号陷阱:∂ 不像 d 那样可约,kp-022 误区的续集)。
  • 误区二:"中间变量与自变量同名时糊涂"。$z=f(x,y,t)$ 而 $x=x(t),y=y(t)$ 时 $\frac{dz}{dt}$(全导数)≠$\frac{\partial z}{\partial t}$(冻结 x,y 的偏导)——记号必须区分 f 的第三个槽位与时间 t 的直接影响。
  • 误区三:"树图不画直接心算"。变量超过 4 个后心算漏项率飙升;树图是把"不漏项"外包给纸面的廉价保险。

与其他知识点的关系

  • kp-007:单变量原型。
  • kp-023:梯度在链式中的打包形态(∇f·r')。
  • kp-025/029/031:条件极值推导、autograd、BP 的规则本体。

自测题

  1. $z=x^2y$,$x=\cos t$,$y=\sin t$,求 dz/dt。

答:$z_x=2xy=\cos t\sin t$,$z_y=x^2=\cos^2t$;$z_x·(-\sin t)+z_y·\cos t=-\cos t\sin^2t+\cos^3t$。

  1. $w=xy+z$,$x=\cos t$,$y=\sin t$,$z=t$,求 dw/dt。

答:$w_x=\sin t,w_y=\cos t,w_z=1$ → $-\sin^2t+\cos^2t+1=\cos2t+1$。

  1. 用全微分推导隐函数公式 $dy/dx=-F_x/F_y$。

答:$F(x,y)=0$ 两边取微分 $F_xdx+F_ydy=0$;dx、dy 沿曲线满足该式,解 $dy/dx=-F_x/F_y$(要求 $F_y\ne0$)。

延伸阅读

  • Stewart《Calculus》§14.4(树图法的原文展开)。
  • MIT 18.02 链式法则讲义。
  • Karpathy 的 autograd 教程视频(链式法则→反向传播的代码化)。