线性代数直觉(四):找到特征向量

想想刚才发生了什么。我们有一个优化问题:"当 v 旋转时,v^T H v 的最大值和最小值是多少?" 这似乎需要用到微积分,检查所有无穷多个方向......

但事实证明,答案直接通过这个代数方程编码在矩阵本身中!特征值就是那些极端曲率。

更深层次的原因在于:当 v 是一个特征向量,一个特殊的方向时,H·v 不再是把 v 拉向其他方向,而是指向与 v 相同的方向,只是乘以了特征值 λ。

所以:v^T H v = v^T (λv) = λ(v^T v) = λ

因为对于单位向量,v^T v = 1。

所以在特征向量方向上,"曲率"恰好等于特征值。而这些方向恰好是曲率最大和最小的地方!


这不仅仅是我们用来做曲面的 2×2 Hessian 矩阵。这是任意维度上二次优化的基本结构。

当你训练一个包含数百万个参数的神经网络时,Hessian 矩阵就是一个百万乘百万的矩阵。在这个难以理解的高维空间中,你可以问自己:"哪个方向的曲率最陡?哪个方向最平坦?"

特征值会告诉你答案:最大的特征值代表曲率最陡的方向,最小的特征值代表最平坦的谷底。

这就是我们理解优化景观的方式。这就是我们判断梯度下降法是否有效、是否停滞或是否震荡的方式。 Hessian 矩阵的特征值,它们是理解学习几何的诊断工具。

如果你想了解大模型是如何被训练的,这已经接近核心了。Hessian 矩阵、特征值、高维空间中的曲率,这些正是塑造大模型的数学领域。


考试的时候,每个人都机械地计算特征值和特征向量,却不知道为什么。但现我们先明白了为什么,先把曲率形象化了,发现了极值,然后我们再学习计算,这其实是更好的顺序。

对于之前的扁碗的Hessian矩阵:H = \[2,1 1,4]

我们找到了特征值:λ₁ = 3 + √2 ≈ 4.414 和 λ₂ = 3 - √2 ≈ 1.586

为了求 λ₁ = 3 + √2 的特征向量,我们求解:

(H - λ₁I)v = 0

\[2-(3+√2), 1 \]\[1, 4-(3+√2) \]\] \[\[v₁\] \[v₂\]\] = \[\[0\] \[0\]

\[-1-√2, 1 \] \[1, 1-√2 \]\] \[\[v₁\] \[v₂\]\] = \[\[0\] \[0\]

从第一行开始:(-1-√2)v₁ + v₂ = 0

所以:v₂ = (1+√2)v₁

我们可以取 v₁ = 1,因此特征向量近似为 (1, 2.414),指向曲率最大的方向。

而根据程序画的正弦曲线,最高点出现在 θ = (4.3230-3.1416)/3.1416 ≈ 0.375 π 的附近。而 tan(0.375 π) ≈ 2.42。

相关推荐
风曦Kisaki8 小时前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes
硅谷秋水10 小时前
EgoSteer:一种基于第一人称视角视频、实现可控灵巧操作的全栈系统
深度学习·机器学习·语言模型·机器人·音视频
格林威10 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
AI街潜水的八角11 小时前
基于YOLO26交通标志检测系统1:交通标志检测数据集说明(含下载链接)
深度学习·神经网络
六边形战士DONK12 小时前
15-参数的点估计方法[矩估计,极大似然估计]
人工智能·机器学习·概率论
wgego14 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
killerbasd14 小时前
总结 8.04
考研
别动我齐刘海15 小时前
Day6 unitree_G1人形机器人GMR—— MotionInput
c语言·c++·人工智能·学习·机器学习·机器人·github
编码雪人16 小时前
非等间隔采样时间序列预测的图模型
深度学习·神经网络
AI科技星16 小时前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星