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

想想刚才发生了什么。我们有一个优化问题:"当 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。

相关推荐
过尽漉雪千山16 小时前
Anaconda的虚拟环境下使用清华源镜像安装Pytorch
人工智能·pytorch·python·深度学习·机器学习
jarreyer16 小时前
AB测试相关知识
人工智能·机器学习·ab测试
四维碎片16 小时前
【Qt】QTimer 学习笔记总结
笔记·qt·学习
free-elcmacom16 小时前
机器学习入门<5>支持向量机形象教学:寻找最安全的“三八线”,人人都能懂的算法核心
人工智能·python·算法·机器学习·支持向量机
每天努力学编程16 小时前
磁盘分区扩容笔记
笔记
Mr_Hu40416 小时前
鸿蒙开发学习笔记-生命周期小记
笔记·学习·harmonyos·鸿蒙
极客BIM工作室17 小时前
AI导读AI论文: CAD-Assistant: Tool-Augmented VLLMs as Generic CAD Task Solvers
人工智能·机器学习
摇滚侠17 小时前
2025最新 SpringCloud 教程,Gateway-过滤器-基本使用,笔记58
笔记·spring cloud·gateway
阿恩.77017 小时前
2026年2月最新国际会议分享,含计算机/教育/工程技术/电力能源/数学~
人工智能·经验分享·笔记·计算机网络·数学建模·能源
CClaris17 小时前
PyTorch 损失函数与激活函数的正确组合
人工智能·pytorch·python·深度学习·机器学习