高阶偏导数
小象实战讲义 · 人工智能数学基础
在上一节,我们掌握了多元函数关于单个变量的变化率——偏导数。然而,要深入理解多元函数的局部形态,例如判断其极值点或进行二阶近似,仅有一阶信息是不够的。本节我们将学习高阶偏导数,即对偏导数再次求导。这不仅是多元微分学的核心内容,更是后续学习最优化算法(如梯度下降法的二阶改进)和机器学习模型(如神经网络的Hessian矩阵)的数学基石。学完本节,你将能够计算任意多元函数的二阶偏导数,理解混合偏导数的对称性,并初步认识描述函数局部曲率的重要工具——Hessian矩阵。
💡 核心导读
- 高阶偏导数的定义:理解如何对一阶偏导函数继续求偏导,从而得到二阶乃至更高阶的偏导数。
- 混合偏导数的对称性:掌握一个关键定理:在偏导数连续的条件下,混合偏导数的求导顺序可以交换。这对于简化计算至关重要。
- Hessian矩阵的引入:学习如何将多元函数的所有二阶偏导数组织成一个对称方阵,这是描述函数局部二阶性质的核心工具。
- 拉普拉斯算子简介:了解一个由二阶偏导数构成的特殊线性算子,它在物理和图像处理等领域有广泛应用。
9.7.1 从一阶到高阶:定义与记号
对于一个二元函数 z=f(x,y),我们有两个一阶偏导数: ∂x∂f和∂y∂f. 需要明确的是,∂x∂f 和 ∂y∂f 本身仍然是关于 x 和 y 的二元函数。因此,我们可以对它们再次求偏导。
以 ∂x∂f 为例,它可以对 x 或 y 再次求导:
- 对 x 再求一次导:∂x∂(∂x∂f),记作 ∂x2∂2f 或 fxx 或 zxx。
- 对 y 再求一次导:∂y∂(∂x∂f),记作 ∂x∂y∂2f 或 fxy 或 zxy。
类似地,对 ∂y∂f 也可以求导:
- 对 x 求一次导:∂x∂(∂y∂f),记作 ∂y∂x∂2f 或 fyx 或 zyx。
- 对 y 再求一次导:∂y∂(∂y∂f),记作 ∂y2∂2f 或 fyy 或 zyy。
因此,一个二元函数的二阶偏导数共有四个。其中,fxx 和 fyy 称为纯偏导数,而 fxy 和 fyx 称为混合偏导数。
关于记号的顺序:需要特别注意莱布尼茨记号 ∂x∂y∂2f 的读法。它表示先对 x 求偏导,再对 y 求偏导,求导顺序与下标记法 fxy 一致,即从左到右。同理,∂y∂x∂2f 表示先对 y 求导,再对 x 求导,对应 fyx。
推广到 n 元函数 f(x1,x2,…,xn),其一阶偏导数有 n 个,每个一阶偏导数又可以分别对 n 个变量求导,因此其二阶偏导数共有 n2 个。以此类推,我们可以定义三阶及更高阶的偏导数。
9.7.2 混合偏导数的对称性
一个自然的问题是:混合偏导数 fxy 和 fyx 是否总是相等?答案是否定的,但它们相等的条件非常宽松且在实际应用中经常满足。
定理(混合偏导数相等条件):如果函数 z=f(x,y) 的两个混合偏导数 fxy 和 fyx 在点 (x0,y0) 的某个邻域内存在且连续,则在点 (x0,y0) 处有 fxy(x0,y0)=fyx(x0,y0).
这个定理的意义非常重大。在人工智能和科学计算中,我们处理的函数大多是由基本初等函数经过有限次四则运算和复合构成的初等函数。初等函数在其定义域内通常是任意阶连续可导的(C∞ 函数)。因此,对于这类函数,其二阶混合偏导数必然连续,从而求导顺序可以交换。
这意味着,在计算一个二元初等函数的四个二阶偏导数时,我们实际上只需要计算三个:fxx, fxy, fyy,而 fyx 必然等于 fxy。这大大简化了计算,并体现了一种美妙的对称性。
例1:验证函数 z=yexy 的混合偏导数相等。 首先求一阶偏导: ∂x∂z=y2exy,∂y∂z=(1+xy)exy. 然后求二阶偏导: ∂x2∂2z∂x∂y∂2z∂y∂x∂2z∂y2∂2z=∂x∂(y2exy)=y3exy,=∂y∂(y2exy)=(2y+xy2)exy,=∂x∂((1+xy)exy)=(y+y(1+xy))exy=(2y+xy2)exy,=∂y∂((1+xy)exy)=(x+x(1+xy))exy=(2x+x2y)exy. 可以清楚地看到 ∂x∂y∂2z=∂y∂x∂2z。
我们可以用 Python 的符号计算库 sympy 来验证这一结果。
import sympy as sp
# 定义符号和函数
x, y = sp.symbols('x y')
z = y * sp.exp(x * y)
# 计算一阶偏导
z_x = sp.diff(z, x)
z_y = sp.diff(z, y)
print("一阶偏导数:")
print(f"∂z/∂x = {z_x}")
print(f"∂z/∂y = {z_y}")
# 计算二阶偏导
z_xx = sp.diff(z_x, x)
z_xy = sp.diff(z_x, y)
z_yx = sp.diff(z_y, x)
z_yy = sp.diff(z_y, y)
print("\n二阶偏导数:")
print(f"∂²z/∂x² = {z_xx}")
print(f"∂²z/∂x∂y = {z_xy}")
print(f"∂²z/∂y∂x = {z_yx}")
print(f"∂²z/∂y² = {z_yy}")
# 验证混合偏导相等
print(f"\n验证 ∂²z/∂x∂y == ∂²z/∂y∂x: {sp.simplify(z_xy - z_yx) == 0}")
9.7.3 拉普拉斯方程简介
由二阶偏导数可以构造一个非常重要的微分算子——拉普拉斯算子(Laplacian)。对于二元函数 u(x,y),其拉普拉斯算子定义为: Δu=∂x2∂2u+∂y2∂2u. 形如 Δu=0 的方程称为拉普拉斯方程,它的解称为调和函数。拉普拉斯方程在物理学(如电磁学、流体力学)和图像处理(如图像平滑)中无处不在。
例2:验证函数 u=21ln(x2+y2) 满足拉普拉斯方程 Δu=0。 首先求一阶偏导: ∂x∂u=x2+y2x,∂y∂u=x2+y2y. 然后求二阶偏导: ∂x2∂2u∂y2∂2u=(x2+y2)2(x2+y2)−x⋅2x=(x2+y2)2y2−x2,=(x2+y2)2(x2+y2)−y⋅2y=(x2+y2)2x2−y2. 两者相加: Δu=(x2+y2)2y2−x2+(x2+y2)2x2−y2=0. 因此,该函数是调和函数。注意观察函数 u 关于 x 和 y 是对称的,这帮助我们快速写出了 ∂y2∂2u 的形式。
9.7.4 Hessian矩阵:二阶信息的组织方式
对于 n 元函数 f(x), x=(x1,x2,…,xn)T,其所有二阶偏导数可以系统地组织成一个 n×n 的矩阵,称为 Hessian矩阵(或海森矩阵),记作 H(f) 或 ∇2f。
H(f)=∂x12∂2f∂x2∂x1∂2f⋮∂xn∂x1∂2f∂x1∂x2∂2f∂x22∂2f⋮∂xn∂x2∂2f⋯⋯⋱⋯∂x1∂xn∂2f∂x2∂xn∂2f⋮∂xn2∂2f.
Hessian矩阵的性质:
- 方阵:总是 n×n 的方阵。
- 对称性:如果函数 f 的所有二阶偏导数连续,则根据混合偏导数定理,有 ∂xi∂xj∂2f=∂xj∂xi∂2f,这意味着 Hessian 矩阵是对称矩阵,即 HT=H。
- 与梯度的关系:Hessian 矩阵可以看作是梯度向量 ∇f=(∂x1∂f,∂x2∂f,…,∂xn∂f)T 的导数。向量对向量求导的结果是一个矩阵(Jacobian 矩阵),梯度向量的 Jacobian 就是 Hessian 矩阵:H(f)=J(∇f)。
Hessian 矩阵在优化算法中扮演着核心角色。它描述了函数在一点附近的局部曲率。在梯度下降法中,利用 Hessian 矩阵信息的算法(如牛顿法)可以更智能地选择下降方向和步长,从而加速收敛。
例3:求二元函数 f(x,y)=x3+2xy−y2 在点 (1,−1) 处的 Hessian 矩阵。 首先求一阶和二阶偏导: fxfxx=3x2+2y,fy=2x−2y,=6x,fxy=2,fyx=2,fyy=−2. 因此,Hessian 矩阵为: H(f)(x,y)=[6x22−2]. 在点 (1,−1) 处,Hessian 矩阵为: H(f)(1,−1)=[622−2]. 这是一个对称矩阵。
📝 动手练一练
- 计算二阶偏导数:求函数 f(x,y)=sin(x2y) 的所有二阶偏导数。
- 验证调和函数:证明函数 u(x,y)=excosy 满足拉普拉斯方程 Δu=0。
参考答案:
- 一阶偏导:fx=2xycos(x2y), fy=x2cos(x2y)。 二阶偏导: fxx=2ycos(x2y)−4x2y2sin(x2y), fxy=2xcos(x2y)−2x3ysin(x2y), fyy=−x4sin(x2y), 且 fyx=fxy。
- 计算得 uxx=excosy, uyy=−excosy,故 Δu=uxx+uyy=0。
本章小结
本节我们深入探讨了多元微分学中的高阶偏导数。我们从二元函数出发,定义了二阶偏导数,理解了纯偏导与混合偏导的区别。最关键的是,我们学习了混合偏导数在连续条件下相等的定理,这为简化计算和理解函数对称性提供了依据。我们还介绍了由二阶偏导构成的拉普拉斯算子及其方程。最后,我们将所有二阶偏导数组织成Hessian矩阵,它是连接一阶梯度与函数局部曲率的核心桥梁,在最优化理论中至关重要。
行动清单:
- 掌握计算:任选一个二元初等函数,手动计算其所有一阶和二阶偏导数,并验证混合偏导相等。
- 代码验证:使用
sympy 库重复上述计算,确保符号计算的结果与手动计算一致。 - 联想应用:搜索“牛顿法优化”或“神经网络的二阶优化”,了解 Hessian 矩阵在这些算法中的具体作用,建立数学概念与实际应用的连接。
— 小象教研组