ARTICLE

chain rule

链式法则 (Chain Rule) 链式法则 (Chain Rule) 是微积分中计算复合函数导数(或偏导数)的核心规则。若一个变量 y 依赖于变量 u,而 u 又依赖于变量 x,即 y = f(u) 且 u = g(x),则 y 关于 x 的变化率等于 y 关于 u 的变化率乘以 u 关于 x 的变化率。这一看似简单的乘法关系,构成了反向传播、隐函数定理以

浏览 0 更新 2025-07-15

链式法则 (Chain Rule)

链式法则 (Chain Rule) 是微积分中计算复合函数导数(或偏导数)的核心规则。若一个变量 yy 依赖于变量 uu,而 uu 又依赖于变量 xx,即 y=f(u)y = f(u)u=g(x)u = g(x),则 yy 关于 xx 的变化率等于 yy 关于 uu 的变化率乘以 uu 关于 xx 的变化率。这一看似简单的乘法关系,构成了反向传播隐函数定理以及经济学中几乎所有比较静态分析的技术基础。无论在单变量还是多变量情形下,链式法则都描述了「变化率的传递」——它使得我们能够将复杂的因果关系拆解为一系列简单环节的乘积,从而系统地分析一个变量如何通过中间渠道影响最终结果。

单变量链式法则

设函数 gg 在点 x0x_0 处可导,函数 ff 在点 u0=g(x0)u_0 = g(x_0) 处可导,则复合函数 h(x)=f(g(x))h(x) = f(g(x))x0x_0 处可导,且其导数满足:

h(x0)=f(g(x0))g(x0)h'(x_0) = f'(g(x_0)) \cdot g'(x_0)

或用 Leibniz 记号简洁地写作:

dydx=dydududx\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}

Leibniz 记号的直观优势在于:右侧的 dudu 似乎在分子和分母间「约去」,留下 dy/dxdy/dx。这并非严格的算术约分——导数并非分数——而是一个极为有效的记忆术,它准确地反映了导数作为变化率之比在复合过程中的传递关系。真正令这一「约分」合法化的,是极限理论中无穷小增量的线性近似性质。

例 1:求 h(x)=sin(x2)h(x) = \sin(x^2) 的导数。

u=x2u = x^2,则 h(x)=sin(u)h(x) = \sin(u)。由链式法则:

dhdx=cos(u)2x=2xcos(x2)\frac{dh}{dx} = \cos(u) \cdot 2x = 2x \cos(x^2)

例 2:求 h(x)=3x+1h(x) = \sqrt{3x+1} 的导数。

u=3x+1u = 3x+1,则 h(x)=u=u1/2h(x) = \sqrt{u} = u^{1/2}

dhdx=12u1/23=323x+1\frac{dh}{dx} = \frac{1}{2}u^{-1/2} \cdot 3 = \frac{3}{2\sqrt{3x+1}}

多层复合:链式法则具有自然的递推结构。若 y=f(u)y = f(u)u=g(v)u = g(v)v=h(x)v = h(x),则:

dydx=dydududvdvdx\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dv} \cdot \frac{dv}{dx}

更一般地,对于 nn 层嵌套复合 y=f1f2fn(x)y = f_1 \circ f_2 \circ \cdots \circ f_n(x),其导数为各层导数在对应点取值的乘积:

dydx=f1(f2())f2(f3())fn(x)\frac{dy}{dx} = f_1'(f_2(\cdots)) \cdot f_2'(f_3(\cdots)) \cdot \cdots \cdot f_n'(x)

这一递推结构是神经网络反向传播算法的数学根基——梯度通过链式法则从输出层逐层传递至输入层,每一步乘以当前层的局部导数(激活函数的导数与权重矩阵)。

直观理解:变化率的接力

链式法则的实质是变化率的线性近似在复合过程中的传递。在点 x0x_0 附近,内层函数 gg 可用其切线近似:

g(x)g(x0)+g(x0)(xx0)g(x) \approx g(x_0) + g'(x_0)(x - x_0)

dxdx 的微小变化引起 dug(x0)dxdu \approx g'(x_0) \, dx 的变化。同样,外层函数 ffu0=g(x0)u_0 = g(x_0) 附近的线性近似为:

f(u)f(u0)+f(u0)(uu0)f(u) \approx f(u_0) + f'(u_0)(u - u_0)

将两个近似叠合——dxdudydx \to du \to dy——可得:

dyf(u0)[g(x0)dx]=f(u0)g(x0)dxdy \approx f'(u_0) \cdot [g'(x_0) \, dx] = f'(u_0) g'(x_0) \, dx

即复合函数在 x0x_0 处的局部线性近似斜率恰为两斜率之积。这一视角揭示了链式法则与泰勒展开之间的深刻联系:链式法则本质上是一阶泰勒近似在复合函数中的传递定律。它也解释了为什么在delta方法中,非线性变换的渐近方差需乘以变换函数导数之平方——因为方差传递过的是导数因子,而方差本身是平方量。

多元链式法则

多元函数的链式法则是单变量情形的高维推广,其核心框架是全导数(Total Derivative)概念。多元复合函数求导的基本原则可概括为:因变量对某一自变量的全导数,等于因变量对各中间变量的偏导数分别乘以各中间变量对该自变量的导数,然后求和

情形一:多元输入,一元输出,中间变量为一元函数。设 z=f(x,y)z = f(x, y),而 x=x(t)x = x(t)y=y(t)y = y(t) 均为一元函数,则 zz 关于 tt 的全导数为:

dzdt=fxdxdt+fydydt\frac{dz}{dt} = \frac{\partial f}{\partial x} \cdot \frac{dx}{dt} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt}

这是物理学和经济动态分析中最常见的模式——一个变量通过多条路径影响最终结果,总效应等于各路径效应之和。树状图的思路在这里直观呈现:从自变量 tt 出发,分别经过 xxyy 两条路径抵达 zz,每条路径上各因子相乘,路径之间累加。

情形二:多元到多元。设 z=f(x,y)z = f(x, y),而 x=x(s,t)x = x(s, t)y=y(s,t)y = y(s, t),则 zzsstt 的偏导数为:

zs=fxxs+fyyszt=fxxt+fyyt\begin{aligned} \frac{\partial z}{\partial s} &= \frac{\partial f}{\partial x} \cdot \frac{\partial x}{\partial s} + \frac{\partial f}{\partial y} \cdot \frac{\partial y}{\partial s} \\ \frac{\partial z}{\partial t} &= \frac{\partial f}{\partial x} \cdot \frac{\partial x}{\partial t} + \frac{\partial f}{\partial y} \cdot \frac{\partial y}{\partial t} \end{aligned}

此格式可紧凑地表示为 Jacobian 矩阵的乘积。若记 x=(x1,,xn)\mathbf{x} = (x_1, \ldots, x_n)^\top 为中间变量向量,y=(y1,,ym)\mathbf{y} = (y_1, \ldots, y_m)^\top 为最终输出向量,且 x=g(t)\mathbf{x} = \mathbf{g}(\mathbf{t})y=f(x)\mathbf{y} = \mathbf{f}(\mathbf{x}),则:

yt=yxxt\frac{\partial \mathbf{y}}{\partial \mathbf{t}} = \frac{\partial \mathbf{y}}{\partial \mathbf{x}} \cdot \frac{\partial \mathbf{x}}{\partial \mathbf{t}}

其中 y/x\partial \mathbf{y} / \partial \mathbf{x}m×nm \times n 的 Jacobian 矩阵,其第 (i,j)(i, j) 元素为 yi/xj\partial y_i / \partial x_j。多元链式法则由此归结为 Jacobian 矩阵的乘法——这与单变量情形中「导数相乘」的模式完美统一。

树状图与依赖路径方法

处理复杂复合结构时,依赖图树状图是防止遗漏项的有效工具。方法如下:画出变量依赖关系的拓扑图,从自变量到因变量的每一条路径对应一项偏导数乘积,所有路径之和即为全导数。例如,若 w=f(x,y,z)w = f(x, y, z)x,y,zx, y, z 各自是 s,ts, t 的函数,则从 wwss 有三条路径(分别经由 x,y,zx, y, z),依次写出三项求和即可。对于中间变量 x,y,zx, y, z 又同时依赖于 sstt 的情形,需要为每个目标自变量分别枚举所有路径。

这一方法在经济学多变量比较静态分析和梯度下降的高维梯度计算中尤为实用。在深度学习框架中,计算图(Computational Graph)正是以此原理为基础,通过自动微分实现梯度的机械推导。

二阶与高阶链式法则

单变量复合函数的二阶导数可通过对一阶导数再次应用链式法则和乘积法则得到。设 y=f(u)y = f(u)u=g(x)u = g(x),则一阶导数为 dy/dx=f(u)g(x)dy/dx = f'(u) \cdot g'(x)。对 xx 再求导:

d2ydx2=ddx(f(u)g(x))\frac{d^2 y}{dx^2} = \frac{d}{dx}\left(f'(u) \cdot g'(x)\right)

f(u)f'(u) 本身又是 uug(x)g(x) 的函数,对其求导需再次应用链式法则;g(x)g'(x) 则直接对 xx 求导。应用乘积法则:

d2ydx2=f(u)[g(x)]2+f(u)g(x)\frac{d^2 y}{dx^2} = f''(u) \cdot [g'(x)]^2 + f'(u) \cdot g''(x)

两项各有经济含义:第一项 f(u)[g(x)]2f''(u)[g'(x)]^2 反映外层函数曲率经内层函数斜率平方放大后的效应——若外层函数高度弯曲(f|f''| 大)且内层函数变化剧烈(g|g'| 大),这一项将主导二阶行为;第二项 f(u)g(x)f'(u)g''(x) 反映内层函数自身曲率的传递。在凸优化中,二阶链式法则用于计算目标函数的 Hessian 矩阵,以判断局部曲率特征和优化算法的收敛性质。

对于多元情形,二阶偏导数的链式法则涉及更复杂的张量缩并,其一般形式由Faà di Bruno 公式给出。在此仅指出关键结论:对每个中间变量的二阶偏导需同时考虑(a)中间变量之间的交叉效应和(b)外层函数对各中间变量的二阶偏导。

隐函数的链式法则

链式法则的另一重要应用领域是隐函数求导。若方程 F(x,y)=0F(x, y) = 0 在点 (x0,y0)(x_0, y_0) 的某一邻域内(满足 Fy(x0,y0)0F_y(x_0, y_0) \neq 0)定义了隐函数 y=y(x)y = y(x),则在方程 F(x,y(x))=0F(x, y(x)) = 0 两端对 xx 求导,将 yy 视为 xx 的函数,由链式法则:

Fx+Fydydx=0\frac{\partial F}{\partial x} + \frac{\partial F}{\partial y} \cdot \frac{dy}{dx} = 0

从而:

dydx=F/xF/y\frac{dy}{dx} = -\frac{\partial F / \partial x}{\partial F / \partial y}

这一结果直接来源于隐函数定理,而链式法则正是该定理证明的核心技术环节。该公式的经济含义在于:在约束 F(x,y)=0F(x, y) = 0 下,xxyy 之间的边际替代率(Marginal Rate of Substitution)等于偏导数之比的负值。这正是微观经济学中无差异曲线斜率 MRS=MUx/MUy\text{MRS} = -MU_x / MU_y 和等产量线斜率 MRTS=MPL/MPK\text{MRTS} = -MP_L / MP_K 的数学根源。

在经济学中的应用

链式法则在经济分析中的应用极为广泛且深刻,以下列举几个核心场景。

弹性与对数导数。经济学中频繁使用的弹性概念天然与链式法则深度结合。若 y=f(x)y = f(x),弹性定义为:

ε=dy/ydx/x=dlnydlnx\varepsilon = \frac{dy/y}{dx/x} = \frac{d \ln y}{d \ln x}

对于复合函数 y=f(g(x))y = f(g(x)),其关于 xx 的弹性可由链式法则分解为:

dlnydlnx=dlnfdlnudlnudlnx\frac{d \ln y}{d \ln x} = \frac{d \ln f}{d \ln u} \cdot \frac{d \ln u}{d \ln x}

即两个弹性的乘积——这一性质在需求价格弹性的分解分析中经常使用。例如,市场需求对最终消费者的价格弹性,可分解为零售商面对批发价格的弹性与批发商面对生产价格的弹性之积。

比较静态分析。比较静态分析——研究模型外生参数变化如何影响均衡结果——几乎完全建立在链式法则之上。考虑简单市场均衡:需求 Qd=D(P,α)Q^d = D(P, \alpha),供给 Qs=S(P,β)Q^s = S(P, \beta),均衡条件 D(P,α)=S(P,β)D(P, \alpha) = S(P, \beta) 隐式定义了均衡价格 P(α,β)P^*(\alpha, \beta)。对均衡条件关于 α\alpha 全微分:

DPPα+Dα=SPPα\frac{\partial D}{\partial P} \cdot \frac{\partial P^*}{\partial \alpha} + \frac{\partial D}{\partial \alpha} = \frac{\partial S}{\partial P} \cdot \frac{\partial P^*}{\partial \alpha}

整理得到:

Pα=D/αS/PD/P\frac{\partial P^*}{\partial \alpha} = \frac{\partial D/\partial \alpha}{\partial S/\partial P - \partial D/\partial P}

链式法则在此将经济因果链条转化为可操作的代数表达式,使经济学家得以严格推演外生冲击(税收变化、技术进步、偏好转移)对内生均衡结果的数量化影响。同理,索洛增长模型中资本动态方程 k˙=sf(k)(n+g+δ)k\dot{k} = s f(k) - (n+g+\delta)k 的转移动态分析依赖于链式法则将 df(k)/dt=f(k)k˙df(k)/dt = f'(k) \cdot \dot{k} 代入动力学系统,从而研究稳态附近的收敛速度。

效用最大化与 Roy 恒等式。在消费者理论中,间接效用函数 v(p,m)=u(x(p,m))v(p, m) = u(x^*(p, m)) 对价格 pip_i 的偏导数依赖于链式法则:

vpi=j=1nuxjxjpi\frac{\partial v}{\partial p_i} = \sum_{j=1}^{n} \frac{\partial u}{\partial x_j} \cdot \frac{\partial x_j^*}{\partial p_i}

结合一阶条件 u/xj=λpj\partial u / \partial x_j = \lambda p_j 和预算约束的全微分,链式法则最终导出罗伊恒等式xi(p,m)=(v/pi)/(v/m)x_i^*(p, m) = -(\partial v / \partial p_i) / (\partial v / \partial m),这是需求理论中最优雅且实用的结果之一。

计量经济学中的 delta 方法delta方法用于推导非线性变换下估计量的渐近分布,其本质是链式法则在随机收敛框架下的延伸。若 n(θ^θ)dN(0,Σ)\sqrt{n}(\hat{\theta} - \theta) \xrightarrow{d} N(0, \Sigma),则对于连续可微变换 gg

n(g(θ^)g(θ))dN(0,g(θ)Σg(θ))\sqrt{n}(g(\hat{\theta}) - g(\theta)) \xrightarrow{d} N\left(0, g'(\theta)^\top \Sigma \, g'(\theta)\right)

其中 g(θ)g'(\theta) 的出现正是链式法则的体现:g(θ^)g(\hat{\theta}) 关于 θ^\hat{\theta} 的局部变化率由导数 gg' 决定,通过链式法则传递给极限分布。实际计量工作中,计算非线性组合的边际效应标准误(如 Logit 模型中平均边际效应的 delta-method 标准误)时,链式法则不可或缺。

常见错误与注意事项

使用链式法则时,以下错误最为常见且值得警惕:

  1. 遗漏内层导数:微分 f(g(x))f(g(x)) 时仅写 f(g(x))f'(g(x)) 而遗漏乘以 g(x)g'(x)。例如将 ddxe3x\frac{d}{dx} e^{3x} 错误地写作 e3xe^{3x},漏失因子 3。
  1. 多元情形遗漏路径:当 z=f(x,y)z = f(x, y)x,yx, y 均依赖于 tt 时,全导数 dzdt\frac{dz}{dt} 必须包含两条路径的贡献。仅写入 fxdxdt\frac{\partial f}{\partial x} \cdot \frac{dx}{dt} 而遗漏 fydydt\frac{\partial f}{\partial y} \cdot \frac{dy}{dt} 是常见疏忽。
  1. 混淆偏导数与全导数zt\frac{\partial z}{\partial t}dzdt\frac{dz}{dt} 含义不同。前者表示 zz 作为 x,y,tx, y, t 的函数时对 tt 的直接偏导(保持 x,yx, y 不变);后者则包含 tt 通过 x(t)x(t)y(t)y(t) 的间接效应。区分二者的关键在于明确函数关系中哪些变量被视为「冻结」。
  1. 二阶导链式法则不完整:仅写 f(u)[g(x)]2f''(u)[g'(x)]^2 而遗漏 f(u)g(x)f'(u)g''(x) 项,忽略了内层函数自身曲率的传递效应。在经济学中,这意味着分析政策冲击的边际递减效应时可能遗漏二阶渠道。
  1. 弹性链式法则的条件:弹性之积的分解仅在中间变量为乘积因子时自然成立。更一般地,若 y=f(g(x),h(x))y = f(g(x), h(x)),弹性的链式分解比导数情形更复杂,需借助偏弹性和份额权重才能正确展开。

与相关概念的逻辑关联

链式法则并非孤立的技术工具,它与以下核心概念之间存在紧密的逻辑联系:

  • 隐函数定理:链式法则是其证明与应用的基石,隐函数导数公式由链式法则直接导出。
  • 包络定理:本质上是对参数化优化问题中目标函数随参数变化率的结构化计算,链式法则与一阶条件的结合产生了简洁的包络结果。
  • 梯度下降反向传播:反向传播算法是链式法则在高维复合函数(神经网络)上的系统性、分层化应用。
  • delta方法:链式法则在渐近理论中的概率化版本,将导数的线性近似传递扩展至收敛分布。
  • 全微分:将链式法则推广到多变量函数的变化量分解,二者在形式与思想上高度一致。
  • 隐函数定理包络定理的交叉:在激励理论和契约理论中,链式法则应用于信息约束下的最优化问题,支撑了 Holmström-Milgrom 等经典模型的求解。