为什么梯度向量 ∇f 指向函数值增长最快的方向
这是梯度的核心,梯度向量指向函数值增长最快的方向。
1. 概念回顾:方向导数
首先,我们需要理解方向导数。方向导数衡量的是函数在特定方向上的变化率。
对于一个多元函数 \(f(\mathbf{x})\),我们想知道它在点 \(\mathbf{x}\) 沿着一个单位向量 \(\mathbf{u}\)(即 \(|\mathbf{u}| = 1\))方向上的变化率。这个变化率就是方向导数,记为 \(D_\mathbf{u}f(\mathbf{x})\)。
方向导数的计算公式是:
这个公式是证明的关键。它告诉我们,任意方向上的变化率等于梯度向量与该方向单位向量的点积。
2. 证明过程
我们要证明的是:当 \(\mathbf{u}\) 的方向与 \(\nabla f(\mathbf{x})\) 的方向相同时,\(D_\mathbf{u}f(\mathbf{x})\) 的值最大。
根据点积的定义,两个向量的点积等于它们模的乘积再乘以它们之间夹角的余弦:
所以,我们可以将方向导数公式写成:
其中,\(\theta\) 是梯度向量 \(\nabla f(\mathbf{x})\) 和方向向量 \(\mathbf{u}\) 之间的夹角。
因为 \(\mathbf{u}\) 是一个单位向量,所以 \(|\mathbf{u}| = 1\)。
公式简化为:
现在我们来分析这个表达式。\(\nabla f(\mathbf{x})\) 在一个确定的点 \(\mathbf{x}\) 处是固定不变的,所以 \(|\nabla f(\mathbf{x})|\) 也是一个常数。要使 \(D_\mathbf{u}f(\mathbf{x})\) 的值最大,我们只需要让 \(\cos\theta\) 的值最大。
我们知道,\(\cos\theta\) 的取值范围是 \([-1, 1]\)。它的最大值是 \(1\)。
当 \(\cos\theta = 1\) 时,\(\theta\) 的值为 \(0\)。
这意味着梯度向量 \(\nabla f(\mathbf{x})\) 和方向向量 \(\mathbf{u}\) 之间的夹角为 \(0\)。
如果两个向量之间的夹角为 \(0\),就意味着它们的方向完全相同。
因此,当单位向量 \(\mathbf{u}\) 的方向与梯度向量 \(\nabla f(\mathbf{x})\) 的方向相同时,方向导数 \(D_\mathbf{u}f(\mathbf{x})\) 的值最大,其最大值为 \(|\nabla f(\mathbf{x})| \cdot 1 = |\nabla f(\mathbf{x})|\)。
3. 结论
梯度向量 \(\nabla f(\mathbf{x})\) 指向函数值增长最快的方向,而其模(长度)\(|\nabla f(\mathbf{x})|\) 就是在这个方向上的最大变化率。
反之,如果想要找到函数值下降最快的方向,我们应该让 \(\cos\theta\) 最小,即 \(\cos\theta = -1\),此时 \(\theta = \pi\)(或 \(180^\circ\)),这意味着 \(\mathbf{u}\) 的方向与梯度向量 \(\nabla f(\mathbf{x})\) 的方向完全相反。这个方向就是负梯度方向 \(-\nabla f(\mathbf{x})\),这也是梯度下降法(Gradient Descent)的数学原理。