方向导数

从第一性原理出发的多变量微积分

偏导数只告诉你沿坐标轴方向的斜率,但你可以沿任何方向走。方向导数 D_u f 回答的是:如果我沿单位向量 u 前进一步,f 变化得有多快?答案正好是与梯度的一个点积。

想象一下徒步穿过同一座山丘,但你选择的不是直接面向山上,而是选择一个指南针方位(比如东北方向)并朝那边走。方向导数 D_u f 就是你沿着该方向在靴子下实际感受到的坡度。朝向最陡峭的方向,你会感受到全部的攀爬感;沿着山坡侧向转身,地面就会感觉是平的。

因为 D_u f = ∇f·u = ‖∇f‖‖u‖cos θ = ‖∇f‖cos θ(因为 u 是单位向量),变化率在 cos θ = 1 时最大,也就是当 u 与 ∇f 同向时最大。旋转下面的方向箭头,观察当它与梯度对齐时斜率读数达到峰值,而垂直时变为零。

在机器学习中的应用这条定理正是梯度下降的理由。在所有可选方向中,−∇L 被证明能最快降低损失。所以如果你想知道为什么训练沿梯度而不是其他方向前进,答案就在这里:梯度是最好的局部选择,这就是 w ← w − η∇L 成为通用更新的原因。
▶ 方向导数
← 梯度线性近似 →