一、什么是梯度?
梯度是一个向量,由函数对各变量的偏导数组成。
对于二元函数 f(x,y)f(x, y)f(x,y),梯度定义为:
∇f=(∂f∂x,∂f∂y)\nabla f = \left(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right)∇f=(∂x∂f,∂y∂f)
或写成:
gradf=fxi⃗+fyj⃗\text{grad} f = f_x \vec{i} + f_y \vec{j}gradf=fxi +fyj
对于三元函数 f(x,y,z)f(x, y, z)f(x,y,z),梯度为:
∇f=(∂f∂x,∂f∂y,∂f∂z)\nabla f = \left(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}, \frac{\partial f}{\partial z}\right)∇f=(∂x∂f,∂y∂f,∂z∂f)
二、梯度的符号
梯度常用符号 ∇\nabla∇(读作 "nabla" 或 "del")表示,这是一个向量微分算子:
∇=(∂∂x,∂∂y,∂∂z)\nabla = \left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)∇=(∂x∂,∂y∂,∂z∂)
三、梯度的几何意义
梯度有两个重要性质:
1. 方向意义
梯度向量指向函数增长最快的方向。
想象你站在山坡上,梯度指向"最陡峭上升"的方向。
2. 大小意义
梯度的模(长度)表示函数在该方向的变化率(最大变化速度):
∣∇f∣=(∂f∂x)2+(∂f∂y)2|\nabla f| = \sqrt{\left(\frac{\partial f}{\partial x}\right)^2 + \left(\frac{\partial f}{\partial y}\right)^2}∣∇f∣=(∂x∂f)2+(∂y∂f)2
四、梯度与方向导数的关系
方向导数 是函数沿任意方向的变化率。设方向向量 l⃗=(cosα,cosβ)\vec{l} = (\cos\alpha, \cos\beta)l =(cosα,cosβ):
∂f∂l=∇f⋅l⃗\frac{\partial f}{\partial l} = \nabla f \cdot \vec{l}∂l∂f=∇f⋅l
即:方向导数 = 梯度投影到该方向上。
结论:
- 沿梯度方向,方向导数最大(函数增长最快)
- 沿梯度反方向,方向导数最小(函数下降最快)
- 沿梯度垂直方向,方向导数为零(函数不变)
五、如何计算梯度?
步骤:
- 对函数分别求各变量的偏导数
- 将偏导数组合成向量
六、典型例题
例1 :求 f(x,y)=x2+y2f(x, y) = x^2 + y^2f(x,y)=x2+y2 的梯度
分别求偏导数:
- ∂f∂x=2x\frac{\partial f}{\partial x} = 2x∂x∂f=2x
- ∂f∂y=2y\frac{\partial f}{\partial y} = 2y∂y∂f=2y
梯度为:
∇f=(2x,2y)\nabla f = (2x, 2y)∇f=(2x,2y)
在点 (1,1)(1, 1)(1,1) 处:
∇f(1,1)=(2,2)\nabla f(1, 1) = (2, 2)∇f(1,1)=(2,2)
例2 :求 f(x,y)=x2yf(x, y) = x^2 yf(x,y)=x2y 的梯度
分别求偏导数:
- ∂f∂x=2xy\frac{\partial f}{\partial x} = 2xy∂x∂f=2xy
- ∂f∂y=x2\frac{\partial f}{\partial y} = x^2∂y∂f=x2
梯度为:
∇f=(2xy,x2)\nabla f = (2xy, x^2)∇f=(2xy,x2)
例3 :求 f(x,y,z)=x2+y2+z2f(x, y, z) = x^2 + y^2 + z^2f(x,y,z)=x2+y2+z2 的梯度
分别求偏导数:
- ∂f∂x=2x\frac{\partial f}{\partial x} = 2x∂x∂f=2x
- ∂f∂y=2y\frac{\partial f}{\partial y} = 2y∂y∂f=2y
- ∂f∂z=2z\frac{\partial f}{\partial z} = 2z∂z∂f=2z
梯度为:
∇f=(2x,2y,2z)\nabla f = (2x, 2y, 2z)∇f=(2x,2y,2z)
例4 :求 f(x,y)=ex+yf(x, y) = e^{x+y}f(x,y)=ex+y 的梯度
分别求偏导数:
- ∂f∂x=ex+y\frac{\partial f}{\partial x} = e^{x+y}∂x∂f=ex+y
- ∂f∂y=ex+y\frac{\partial f}{\partial y} = e^{x+y}∂y∂f=ex+y
梯度为:
∇f=(ex+y,ex+y)\nabla f = (e^{x+y}, e^{x+y})∇f=(ex+y,ex+y)
七、梯度的应用
1. 梯度下降法(机器学习)
在优化问题中,沿着梯度反方向迭代,可以找到函数的最小值点。
2. 求极值点
梯度为零的点可能是极值点:
∇f=0⇒∂f∂x=0,∂f∂y=0\nabla f = 0 \Rightarrow \frac{\partial f}{\partial x} = 0, \frac{\partial f}{\partial y} = 0∇f=0⇒∂x∂f=0,∂y∂f=0
3. 求最大增长率方向
梯度方向就是函数增长最快的方向。
八、练习题目
题目一
设 f(x,y)=x2−y2+2xyf(x, y) = x^2 - y^2 + 2xyf(x,y)=x2−y2+2xy,求梯度 ∇f\nabla f∇f,并计算在点 (1,2)(1, 2)(1,2) 处的梯度。
题目二
设 f(x,y)=ln(x2+y2)f(x, y) = \ln(x^2 + y^2)f(x,y)=ln(x2+y2),求梯度 ∇f\nabla f∇f,并求使梯度为零的点。
九、答案
题目一答案
第一步 :求偏导数
∂f∂x=2x+2y\frac{\partial f}{\partial x} = 2x + 2y∂x∂f=2x+2y
∂f∂y=−2y+2x\frac{\partial f}{\partial y} = -2y + 2x∂y∂f=−2y+2x
第二步 :写出梯度
∇f=(2x+2y,2x−2y)\nabla f = (2x + 2y, 2x - 2y)∇f=(2x+2y,2x−2y)
第三步 :计算 (1,2)(1, 2)(1,2) 处的梯度
∇f(1,2)=(2⋅1+2⋅2,2⋅1−2⋅2)=(6,−2)\nabla f(1, 2) = (2 \cdot 1 + 2 \cdot 2, 2 \cdot 1 - 2 \cdot 2) = (6, -2)∇f(1,2)=(2⋅1+2⋅2,2⋅1−2⋅2)=(6,−2)
题目二答案
第一步 :求偏导数
∂f∂x=2xx2+y2\frac{\partial f}{\partial x} = \frac{2x}{x^2 + y^2}∂x∂f=x2+y22x
∂f∂y=2yx2+y2\frac{\partial f}{\partial y} = \frac{2y}{x^2 + y^2}∂y∂f=x2+y22y
第二步 :写出梯度
∇f=(2xx2+y2,2yx2+y2)\nabla f = \left(\frac{2x}{x^2 + y^2}, \frac{2y}{x^2 + y^2}\right)∇f=(x2+y22x,x2+y22y)
第三步:求梯度为零的点
令 ∂f∂x=0\frac{\partial f}{\partial x} = 0∂x∂f=0 和 ∂f∂y=0\frac{\partial f}{\partial y} = 0∂y∂f=0:
2xx2+y2=0⇒x=0\frac{2x}{x^2 + y^2} = 0 \Rightarrow x = 0x2+y22x=0⇒x=0
2yx2+y2=0⇒y=0\frac{2y}{x^2 + y^2} = 0 \Rightarrow y = 0x2+y22y=0⇒y=0
但是 x2+y2≠0x^2 + y^2 \neq 0x2+y2=0(函数定义域),所以 (0,0)(0, 0)(0,0) 不在定义域内。
结论:该函数不存在使梯度为零的点。
十、补充:梯度模长与方向导数的关系
常见误区
梯度的模长不等于方向导数,但它们有密切关系。
关系公式
方向导数的计算公式:
∂f∂l=∣∇f∣⋅cosθ\frac{\partial f}{\partial l} = |\nabla f| \cdot \cos\theta∂l∂f=∣∇f∣⋅cosθ
其中 θ\thetaθ 是方向向量与梯度方向的夹角。
结论
梯度的模长是方向导数的最大值
| 夹角 θ\thetaθ | cosθ\cos\thetacosθ | 方向导数 |
|---|---|---|
| 000(沿梯度方向) | 111 | $ |
| π\piπ(沿梯度反方向) | −1-1−1 | $- |
| π2\frac{\pi}{2}2π(垂直梯度) | 000 | 000(不变) |
| 其他角度 | 0<cosθ<10 < \cos\theta < 10<cosθ<1 | $< |
核心区别
- 梯度的模长:一个固定数值,表示最大变化率
- 方向导数:取决于你选择的方向,是变化的数值
只有当你沿着梯度方向走时,方向导数才等于梯度的模长。沿其他方向走,方向导数都比梯度的模长小。
举例说明
设 f(x,y)=x2+y2f(x, y) = x^2 + y^2f(x,y)=x2+y2,在点 (1,1)(1, 1)(1,1) 处:
- 梯度 :∇f=(2,2)\nabla f = (2, 2)∇f=(2,2)
- 梯度的模长 :∣∇f∣=22≈2.83|\nabla f| = 2\sqrt{2} \approx 2.83∣∇f∣=22 ≈2.83
现在计算不同方向的方向导数:
| 方向 | 方向向量 | 方向导数 |
|---|---|---|
| 沿梯度方向 | (12,12)(\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})(2 1,2 1) | 222\sqrt{2}22 (等于模长) |
| 向东 | (1,0)(1, 0)(1,0) | 222(小于模长) |
| 向北 | (0,1)(0, 1)(0,1) | 222(小于模长) |
| 垂直梯度 | (−12,12)(-\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})(−2 1,2 1) | 000(最小) |
概念对比表
| 概念 | 本质 | 作用 |
|---|---|---|
| 梯度 ∇f\nabla f∇f | 向量 | 指向增长最快方向 |
| 梯度的模长 | 数值 | 表示最大变化率的大小 |
| 方向向量 l⃗\vec{l}l | 单位向量 | 指定某个方向 |
| 方向导数 ∂f∂l\frac{\partial f}{\partial l}∂l∂f | 数值 | 某方向的变化率 |
一句话总结
梯度的模长 = 最大方向导数
方向导数只有在沿梯度方向时才等于梯度的模长,其他方向都小于它。
学习建议
- 梯度是偏导数的组合:先掌握偏导数计算,再组合成向量
- 理解几何意义:梯度指向上升最快方向,模表示变化率大小
- 记住关键公式:方向导数 = 梯度 · 方向向量
- 联系机器学习:梯度下降是深度学习的基础,理解梯度有助于理解优化算法