一步一步建立直观
先预测,再点“演示本步”核对右图。每一步都重设到指定情形,随后可以自由修改参数。
01在输出中追踪一根小输入箭头
把观察点固定,在输入轴上画一段小位移 ,再比较输出变化。曲线通常不是线性变换,但在足够小的尺度上,输出变化可由一个固定倍率近似。这个倍率就是导数。右图的割线把有限位移联系起来,切线显示局部替代模型。
02缩小尺度,分离主项与误差
局部线性化应写成 。余项不仅要趋零,还要相对于输入尺度 更小。平方函数的剩余项是 ,因此除以 后消失。这个相对误差条件才支持把导数视作真正的一阶变换。
03从一个倍率走向矩阵
移动观察点,局部倍率随位置更新。在多变量情形,小位移有多个方向,导数便成为作用在位移向量上的线性映射,用雅可比矩阵表示。本图只展示一维版本;链式法则在多维中相应变成矩阵复合,并须保持输入输出空间的次序。
2.16.1 暂时不画函数曲线,改画两条数轴¶
把输入数轴上的小点送到输出数轴,函数就成为点的移动规则。在 附近放两个很近的点,它们的输出间距约是输入间距的 倍。正导数保序,负导数反序,绝对值表示局部放大程度。
对平方函数,在三附近,输入间距大约被放大六倍;在负三附近,倍率是负六,输出次序反转。零点的导数为零,说明一阶间距被压掉,但二阶变化仍在,所以附近函数没有变成常数。
2.16.2 线性代数与微积分在这里接上¶
局部表达 ,把固定输出位置与输入微扰的线性响应分开。推广到多变量,数字 会变成一个线性映射或雅可比矩阵;它描述附近小箭头怎样改变,正如前面的矩阵变换。
复合函数先通过内层局部变换,再通过外层局部变换,所以导数相乘。多变量情形使用矩阵乘法,顺序依旧是右边先做。链式法则因此不仅是一条求导技巧,也是一条局部动作的复合规律。
请在纸上画输入与输出两条平行数轴,用连线表示三个邻近输入的像,再根据间距预测导数正负。这个视角尤其适合解释函数图像难以直接画出的高维问题,也为神经网络中的敏感性分析准备了语言。
与本图相连的定义与证明:2.2 · 平方函数的差商与误差。本节的具体条件与形式化范围见下文。
数学表述 2.16.1¶
把函数看成移动数轴上的点。导数说明一点附近的间距被放大多少,以及是否反向;这种看法可自然推广为多变量的线性映射。
可导性也可写作 。复合的线性部分相乘,正是链式法则。
例 2.16.1 把概念用于具体计算
在 附近约放大 倍,在 附近反向并放大 倍。在零点导数为零,但函数没有在整个邻域变成常数。
练习 2.16.1¶
先缩放 倍,再缩放 倍,总倍率?
展开解答与检查
;若 均为负,复合保持方向。
Lean 对照 2.16.1 命题、证明与适用边界
完整验证两个线性缩放复合后的导数为 。一般非线性链式法则另见本章对应定理。
Calculus.derivative_composition_scale
theorem derivative_composition_scale (a b x : ℝ) :
HasDerivAt (fun t : ℝ => a*(b*t)) (a*b) x := by
simpa using ((hasDerivAt_id x).const_mul b).const_mul a