梯度学习日记

一、什么是梯度?

梯度是一个向量,由函数对各变量的偏导数组成。

对于二元函数 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. 对函数分别求各变量的偏导数
  2. 将偏导数组合成向量

六、典型例题

例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 数值 某方向的变化率

一句话总结

梯度的模长 = 最大方向导数

方向导数只有在沿梯度方向时才等于梯度的模长,其他方向都小于它。


学习建议

  1. 梯度是偏导数的组合:先掌握偏导数计算,再组合成向量
  2. 理解几何意义:梯度指向上升最快方向,模表示变化率大小
  3. 记住关键公式:方向导数 = 梯度 · 方向向量
  4. 联系机器学习:梯度下降是深度学习的基础,理解梯度有助于理解优化算法
相关推荐
曦月逸霜21 小时前
啥是RAG 它能干什么?
人工智能·python·机器学习
CSND7401 天前
YOLO resume断点续训(不能用官方的权重,是自己训练一半生成的last.pt)
深度学习·yolo·机器学习
·醉挽清风·1 天前
学习笔记—MySQL—库表操作
笔记·学习·mysql
AI医影跨模态组学1 天前
J Clin Oncol(IF=43.4)美国Cedars-Sinai医学中心等团队:基于计算组织学人工智能的晚期胰腺癌化疗选择预测性生物标志物的开发与验证
人工智能·机器学习·论文·医学·医学影像·影像组学
温九味闻醉1 天前
关于腾讯广告算法大赛2025项目分析3-重读
人工智能·机器学习
白小沫1 天前
TortoiseSVN是什么?
学习
weixin_451431561 天前
【学习笔记】微博视频页面ajax请求与响应数据分析
笔记·学习·音视频
清辞8531 天前
尾盘选股法程序开发学习初期
学习
Century_Dragon1 天前
让实训“活”起来——信息化综合实训考核平台助力汽车专业教学
学习
nashane1 天前
HarmonyOS 6学习:PanGesture手势驱动月亮半圆轨迹“滚动”术
学习·harmonyos 5