梯度学习日记

一、什么是梯度?

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

对于二元函数 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. 联系机器学习:梯度下降是深度学习的基础,理解梯度有助于理解优化算法
相关推荐
米奇妙啊妙2 小时前
agent 学习 -模拟AI调用工具
人工智能·学习
试剂界的爱马仕2 小时前
AI学习实现:如何给基金实时估值?
大数据·人工智能·科技·学习·机器学习
2301_792674862 小时前
java学习day31(redis)
java·redis·学习
xuhaoyu_cpp_java2 小时前
MyBatis学习(一)
java·经验分享·笔记·学习·mybatis
geneculture3 小时前
本真信息观:基于序位守恒的融智学理论框架——人类认知第二次大飞跃的基础
人工智能·算法·机器学习·数据挖掘·融智学的重要应用·哲学与科学统一性·融智时代(杂志)
我是无敌小恐龙3 小时前
Java SE 零基础入门 Day05 类与对象核心详解(封装+构造方法+内存+变量)
java·开发语言·人工智能·python·机器学习·计算机视觉·数据挖掘
Mr数据杨3 小时前
少样本规则推理模型与未知任务自适应应用
机器学习·数据分析·kaggle
Mr数据杨3 小时前
抽象推理智能系统方案设计与技术评审应用
机器学习·数据分析·kaggle
爱上好庆祝3 小时前
学习js的第三天
前端·css·人工智能·学习·计算机外设·js