惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
H
Help Net Security
Recorded Future
Recorded Future
The Register - Security
The Register - Security
F
Full Disclosure
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
爱范儿
爱范儿
Security Archives - TechRepublic
Security Archives - TechRepublic
Simon Willison's Weblog
Simon Willison's Weblog
Cisco Talos Blog
Cisco Talos Blog
I
InfoQ
T
Tenable Blog
T
Tor Project blog
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
NISL@THU
NISL@THU
Google DeepMind News
Google DeepMind News
博客园 - 叶小钗
B
Blog
V
V2EX
Jina AI
Jina AI
L
LangChain Blog
月光博客
月光博客
W
WeLiveSecurity
U
Unit 42
AWS News Blog
AWS News Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 聂微东
V
Visual Studio Blog
A
Arctic Wolf
T
Tailwind CSS Blog
The Cloudflare Blog
SecWiki News
SecWiki News
S
SegmentFault 最新的问题
Hacker News - Newest:
Hacker News - Newest: "LLM"
宝玉的分享
宝玉的分享
MyScale Blog
MyScale Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Securelist
www.infosecurity-magazine.com
www.infosecurity-magazine.com
腾讯CDC
雷峰网
雷峰网

博客园 - 立体风

当AI构建自身 nana gui库的回调函数 Nana c++ gui库的对话框函数 -- 理解 nana 的运行机制 介绍 MSVC 的编译命令/ Zc CMake 变量 ${CMAKE_CURRENT_BINARY_DIR} 学习 nana c++ 库 (一) AutoHotkey v2 的源码学习路线 Visual Studio 中行号右边的黄色竖条 大O表示法推导 allocate 中为什么有两个L vs的cl.exe 编译器 c++20 基本配置 IT高频词 address Python Install Manager (PIM,官方安装管理器)简介 debian 中 contrib 软件仓库 debian 版本号及 apt 命令对软件的区分 sysctl的历史及常用命令 极限运算的法则 TeX 的 ctex 宏包的基本用法 XeLaTeX 的基本用法 XeLaTeX 介绍 三角函数的余弦定理的证明 向量点积的几何定义的证明 方向导数公式的证明 仿射函数的定义及用途 凸集的定义及证明 在 LaTeX 公式中处理英文单词 梯度下降法 (Gradient Descent)的数学原理。 梯度下降法简介 向量形式表达最小二乘法 线性回归模型的核心数学表达式 risidual 音标和本义 coefficients的音标及本义(线性模型)
为什么梯度向量 ∇f 指向函数值增长最快的方向
立体风 · 2025-09-08 · via 博客园 - 立体风

这是梯度的核心,梯度向量指向函数值增长最快的方向。

1. 概念回顾:方向导数

首先,我们需要理解方向导数。方向导数衡量的是函数在特定方向上的变化率。

对于一个多元函数 \(f(\mathbf{x})\),我们想知道它在点 \(\mathbf{x}\) 沿着一个单位向量 \(\mathbf{u}\)(即 \(|\mathbf{u}| = 1\))方向上的变化率。这个变化率就是方向导数,记为 \(D_\mathbf{u}f(\mathbf{x})\)

方向导数的计算公式是:

\[D_\mathbf{u}f(\mathbf{x}) = \nabla f(\mathbf{x}) \cdot \mathbf{u} \]

这个公式是证明的关键。它告诉我们,任意方向上的变化率等于梯度向量与该方向单位向量的点积

2. 证明过程

我们要证明的是:当 \(\mathbf{u}\) 的方向与 \(\nabla f(\mathbf{x})\) 的方向相同时,\(D_\mathbf{u}f(\mathbf{x})\) 的值最大。

根据点积的定义,两个向量的点积等于它们模的乘积再乘以它们之间夹角的余弦:

\[\mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos\theta \]

所以,我们可以将方向导数公式写成:

\[D_\mathbf{u}f(\mathbf{x}) = |\nabla f(\mathbf{x})| |\mathbf{u}| \cos\theta \]

其中,\(\theta\) 是梯度向量 \(\nabla f(\mathbf{x})\) 和方向向量 \(\mathbf{u}\) 之间的夹角。

因为 \(\mathbf{u}\) 是一个单位向量,所以 \(|\mathbf{u}| = 1\)
公式简化为:

\[D_\mathbf{u}f(\mathbf{x}) = |\nabla f(\mathbf{x})| \cos\theta \]

现在我们来分析这个表达式。\(\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)的数学原理。