什么是梯度向量?

什么是梯度向量?

偏导数衡量多变量函数沿着标准坐标轴方向(如 xxx 方向或 yyy 方向)的变化率。但如果我们想知道函数从给定点增加 最快 的方向是什么?这正是梯度向量告诉我们的。

想象一下你站在由函数 f(x,y)f(x, y)f(x,y) 表示的丘陵地带上。如果你沿着正东方向 (∂f∂x\frac{\partial f}{\partial x}∂x∂f​) 或正北方向 (∂f∂y\frac{\partial f}{\partial y}∂y∂f​) 走,偏导数会告诉你山坡有多陡峭。梯度将这些信息组合成一个单一的向量,它直接指向上坡,即最陡峭坡度的方向。

定义梯度

对于一个依赖于 nnn 个变量的标量函数 f(x1,x2,…,xn)f(x_1, x_2, \dots, x_n)f(x1​,x2​,…,xn​),其梯度是一个包含所有一阶偏导数的向量。它通常表示为 ∇f\nabla f∇f(读作“nabla f”或“del f”)。

∇f(x1,x2,…,xn)=⟨∂f∂x1,∂f∂x2,…,∂f∂xn⟩\nabla f(x_1, x_2, \dots, x_n) = \left\langle \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right\rangle∇f(x1​,x2​,…,xn​)=⟨∂x1​∂f​,∂x2​∂f​,…,∂xn​∂f​⟩

梯度向量的每个分量都是函数对一个变量的偏导数。因此,梯度是一个向量场;它将一个向量(代表最陡峭上升的方向和大小)分配给函数定义域中的每个点。

计算例子

我们来看函数 f(x,y)=x2+y3f(x, y) = x^2 + y^3f(x,y)=x2+y3。这个函数有两个输入,xxx 和 yyy。

求偏导数:

∂f∂x=∂∂x(x2+y3)=2x\frac{\partial f}{\partial x} = \frac{\partial}{\partial x}(x^2 + y^3) = 2x∂x∂f​=∂x∂​(x2+y3)=2x (将 yyy 视为常数)

∂f∂y=∂∂y(x2+y3)=3y2\frac{\partial f}{\partial y} = \frac{\partial}{\partial y}(x^2 + y^3) = 3y^2∂y∂f​=∂y∂​(x2+y3)=3y2 (将 xxx 视为常数)

构成梯度向量:

∇f(x,y)=⟨∂f∂x,∂f∂y⟩=⟨2x,3y2⟩\nabla f(x, y) = \left\langle \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right\rangle = \langle 2x, 3y^2 \rangle∇f(x,y)=⟨∂x∂f​,∂y∂f​⟩=⟨2x,3y2⟩

在特定点,例如 (x,y)=(1,2)(x, y) = (1, 2)(x,y)=(1,2),梯度是:

∇f(1,2)=⟨2(1),3(22)⟩=⟨2,12⟩\nabla f(1, 2) = \langle 2(1), 3(2^2) \rangle = \langle 2, 12 \rangle∇f(1,2)=⟨2(1),3(22)⟩=⟨2,12⟩

这个向量 ⟨2,12⟩\langle 2, 12 \rangle⟨2,12⟩ 表示从点 (1,2)(1, 2)(1,2) 开始,函数 f(x,y)=x2+y3f(x, y) = x^2 + y^3f(x,y)=x2+y3 增加最快的方向。

几何解释:方向和大小

梯度 ∇f\nabla f∇f 在任何给定点都有两个重要性质:

方向: 向量 ∇f\nabla f∇f 指向函数在该点 最陡峭上升 的方向。如果你想尽可能快地增加函数值,你应该沿着梯度指示的方向移动。

大小: 梯度向量的模长(或长度),记作 ∣∣∇f∣∣||\nabla f||∣∣∇f∣∣,代表该最陡峭方向上的 增加率。模长越大,表示函数增加得越快。

∣∣∇f∣∣=(∂f∂x1)2+(∂f∂x2)2+⋯+(∂f∂xn)2||\nabla f|| = \sqrt{\left(\frac{\partial f}{\partial x_1}\right)^2 + \left(\frac{\partial f}{\partial x_2}\right)^2 + \dots + \left(\frac{\partial f}{\partial x_n}\right)^2}∣∣∇f∣∣=(∂x1​∂f​)2+(∂x2​∂f​)2+⋯+(∂xn​∂f​)2​

反之,与梯度相反的方向,−∇f-\nabla f−∇f,指向 最陡峭下降 的方向。这对于机器学习中的优化很重要。如果函数 fff 代表我们希望最小化的成本或误差,沿着 −∇f-\nabla f−∇f 的方向移动可以使我们在每一步中最有效地降低成本。

可视化梯度

等高线图有助于可视化多变量函数。等高线连接函数值相同的点。梯度向量在任何点总是垂直(正交)于通过该点的等高线。

我们来可视化一个简单函数的梯度,f(x,y)=x2+y2f(x, y) = x^2 + y^2f(x,y)=x2+y2。梯度是 ∇f=⟨2x,2y⟩\nabla f = \langle 2x, 2y \rangle∇f=⟨2x,2y⟩。等高线是以原点为中心的圆。

函数 f(x,y)=x2+y2f(x, y) = x^2 + y^2f(x,y)=x2+y2 的等高线图。灰色圆圈是 fff 值恒定的等高线。蓝色箭头表示在选定点处的梯度向量 ∇f=⟨2x,2y⟩\nabla f = \langle 2x, 2y \rangle∇f=⟨2x,2y⟩。请注意梯度向量如何向外指向,垂直于等高线,表示从原点 (0,0) 的最小值向外最陡峭增加的方向。

梯度在机器学习中的作用

在机器学习中,我们通常定义一个成本函数(或损失函数)来衡量模型表现的优劣。这个成本函数通常依赖于许多参数(权重和偏差)。训练模型涉及找到使该成本函数最小化的参数值。

由于负梯度 −∇f-\nabla f−∇f 指向最陡峭下降的方向,它提供了调整模型参数以降低成本的最有效方向。梯度下降等算法直接基于此原理:通过沿着成本函数梯度的反方向迈出小步,迭代更新参数。

因此,理解梯度向量对于理解许多机器学习模型的训练和优化方式很重要。它是指引我们穿过复杂、高维参数,走向更低成本点的指南针。我们将在下一章学习基于梯度的优化算法。

相关推荐

如何在字母圈找到属于自己的M,又如何维系感情?
电脑拍的视频存哪里?Win11系统视频存储位置怎么找?
幸运彩票APP下载365

电脑拍的视频存哪里?Win11系统视频存储位置怎么找?

📅 08-14 👁️ 3834
国债逆回购收益什么时候到账?周末算利息吗?
完美365体育官方网站

国债逆回购收益什么时候到账?周末算利息吗?

📅 10-22 👁️ 1774