矩阵乘以向量?向量乘以向量?

这里有一个问题:v^T H v 到底是什么意思?为什么向量乘以矩阵,然后再乘以向量(的转置),就能得到方向曲率(二阶方向导数)?

好吧,我们来展开说。首先,矩阵乘以向量是什么意思?

当你进行 H·v 运算时,你实际上是对 H 的列进行线性组合,并由 v 的各个分量加权。结果是一个新向量,它告诉你 H 如何"变换"方向 v。

但我们不会就此止步,接下来我们进行 v^T · (H·v) 运算,它将变换后的向量投影回原始方向 v。

直观的理解是:H·v 告诉你"当你沿方向 v 移动时,梯度会如何变化?" 然后 v^T ·(该变化)会问"其中有多少变化是沿着方向 v 本身发生的?"


我们把 v^T 写在左边而不是 v 写在右边是有原因的。计算 H·v 时,我们得到一个向量,它是沿方向 v 移动时梯度的变化。到目前为止一切顺利。

现在,我们想知道:这个变化中有多少是沿我们移动方向的?我们要将这个"梯度变化向量"与方向 v 做点积。两个向量的点积可以写成 v^T · (某物) 或 (某物)^T · v,它们得出的数字相同。但按照惯例,我们将其写成 v^T · H · v,以显示对称性。

(H v)^T v = v^T H v

v^T 从技术上讲是一个 1×n 矩阵(行向量),当它与列向量 H·v 相乘时,我们得到一个 1×1 矩阵,它只是一个数字,一个标量。但更深层次的是,我们并非只是随机选择符号。v^T H v 这种形式揭示了一些美妙的东西,它是一个二次型。而二次型有一些特殊的性质......


H·v 告诉你当你沿方向 v 移动时,梯度是如何变化的。但这种变化可能出现在各种方向上,也许梯度一开始指向东北,最后指向西南,或者其他方向。

但我们关心的是方向 v 的曲率:梯度沿着我们行走的方向变化了多少?

如果你向东走,梯度向东越来越陡,那么你方向上的曲率就是正的,你上坡的速度越来越快。但如果梯度以垂直方向变化,比如你向东走时,梯度呈南北旋转的更多,这其实并不会影响(向东走的)你对路径陡峭程度的感觉。

点积 v^T · (H·v) 滤除了所有无关的方向变化,只保留了重要的部分:与行进方向一致的变化。

在一维空间中,只有两个方向:向前和向后,正向和负向。一切都很简单。但进入二维、三维、数百个维度时......方向突然变得如此丰富复杂。而Hessian矩阵正是捕捉曲率所有复杂性的数学对象。

相关推荐
Z21-X4 分钟前
云原生运维学习笔记:从云计算概念到服务器硬件的入门之旅
运维·笔记·学习·云原生
星川皆无恙5 分钟前
基于知识图谱的百科问答系统:Django + Neo4j 与实现
人工智能·python·机器学习·自然语言处理·django·知识图谱·neo4j
Raas1006 分钟前
MemT-1.0 接入设计指南:硬件核算、三方案选型与写入触发点
大数据·网络·人工智能·机器学习·数据挖掘·ai agent
滴啦嘟啦哒13 分钟前
【具身笔记】【Piper+PI0.5】一、基于键盘实现数据采集
笔记·vla·具身
叼烟扛炮25 分钟前
Linux 学习笔记(十六):进程的调度与优先级——谁先抢到 CPU?
linux·笔记·学习
衫水28 分钟前
Windows 端 OpenSSL 安装与自签证书生成笔记
windows·笔记
嘉行文39 分钟前
传统机器学习与深度学习的特点与选择
人工智能·深度学习·机器学习
咕泡科技40 分钟前
深度学习碾压机器学习?经典机器学习是否真的无用了?从LLM底层逻辑到工业落地全景解析
人工智能·深度学习·机器学习·llm·nlp
饼饼学习空间智能1 小时前
机器人规模化部署平台怎么选?Fleet、VDA 5050、多机器人调度与运营闭环解析
大数据·深度学习·机器学习
叼烟扛炮1 小时前
Linux 学习笔记(三):文件管理与文本查看
linux·笔记·学习