在前两篇中,我们建立了向量级(Art. 1A 向量空间几何 :内积、投影、秩、零空间)和矩阵级(Art. 1B 矩阵结构几何 :二次型、正定性、协方差、迹、行列式)的几何语言。我们看到协方差矩阵、Gram 矩阵、图 Laplacian 都是对称半正定矩阵,它们的二次型画出椭球,迹凝缩了总方差。这些结构的背后有一个统一的分析工具——特征分解 (Eigendecomposition)。它回答一个根本问题:有没有一组坐标轴,让矩阵在新坐标下变成最简单的逐方向缩放?
为什么特征分解是”万物之基”?因为它揭示了线性变换的本质结构 ——一个矩阵到底在做什么。SVD 是特征分解对非方阵的推广;PCA 是对协方差矩阵的特征分解;PageRank 求的是转移矩阵的特征向量;甚至 SSM/Mamba 的高效计算也依赖于状态矩阵的对角化。理解了特征分解,后续所有矩阵方法的数学基础就建立起来了。
直觉:矩阵乘法就是线性变换
从变换的视角看矩阵
在 Art. 1a 向量空间几何 中,我们介绍了 A x = y A\mathbf{x} = \mathbf{y} A x = y 的三个视角:行视角(每个输出是行与 x \mathbf{x} x 的内积)、列视角(y \mathbf{y} y 是列向量的线性组合)、映射视角(A A A 是一个线性函数)。本文从映射视角出发,深入探索 A A A 作为变换到底做了什么几何操作 。
一个方阵 A ∈ R n × n A \in \mathbb{R}^{n \times n} A ∈ R n × n 把同一空间 R n \mathbb{R}^n R n 中的向量 x \mathbf{x} x 映射为新向量 y = A x \mathbf{y} = A\mathbf{x} y = A x 。不同的矩阵对应不同的几何效果:旋转、拉伸、反射、剪切、投影——或者它们的组合。一般来说,A x A\mathbf{x} A x 同时改变了 x \mathbf{x} x 的方向 和长度 。
但是,在所有可能的输入方向中,有没有一些特殊方向 ——变换 A A A 只改变向量的长度,而完全不改变其方向?
特征向量:不变方向
答案是:对于大多数矩阵,这样的特殊方向确实存在。沿着这些方向的向量,经过变换后仍然指向同一方向(或反向)——唯一的变化是被拉伸或压缩了一个倍数。
这就是特征向量和特征值的几何含义:
特征向量 (eigenvector)q \mathbf{q} q :变换 A A A 的”不变方向”——A A A 作用在 q \mathbf{q} q 上,结果仍然在 q \mathbf{q} q 的方向上
特征值 (eigenvalue)λ \lambda λ :沿该方向的拉伸倍数
用下面的交互可视化来建立直觉。蓝色虚线圆是变换前的单位圆,紫色实线是变换后的形状。粗线标出的就是特征向量方向——注意它们是变换前后保持方向不变 的方向。
缩放+剪切 对称矩阵 各向异性缩放 反射 旋转 45° 投影到直线
A = [2.00, 1.00; 1.00, 2.00] 对称矩阵:实特征值、正交特征向量
x y λ1=3.00 λ2=1.00 变换前(单位圆) 变换后 Ax 特征向量方向(不变方向)
试试不同的矩阵:
对称矩阵 [ 2 1 1 2 ] \begin{bmatrix}2&1\\1&2\end{bmatrix} [ 2 1 1 2 ] :两个正交的特征向量,单位圆变成轴对齐的椭圆
反射矩阵 [ 0 1 1 0 ] \begin{bmatrix}0&1\\1&0\end{bmatrix} [ 0 1 1 0 ] :特征值 + 1 +1 + 1 (沿 y = x y=x y = x 不动)和 − 1 -1 − 1 (沿 y = − x y=-x y = − x 反向)
旋转矩阵 :没有实特征向量!每个方向都被旋转了,没有”不变方向”(特征值是复数)
投影矩阵 :特征值是 1(投影方向,保持不变)和 0(被压到零)
这些例子建立了一个核心直觉:特征分解就是找到一个矩阵的”天然坐标系”——在这个坐标系下,变换变成了最简单的形式:逐方向独立缩放。
特征值方程:严格定义
定义
特征值方程:逐项理解 Aq = λq 矩阵 A 作用在向量 q 上 → 新向量 原向量 q 乘标量 λ → 同方向,缩放 |λ| 倍 等号含义:A 在方向 q 上的作用 = 简单缩放 要求 q ≠ 0(零向量对任何 A 和 λ 都满足等式,不携带 A 的信息)
设 A ∈ R n × n A \in \mathbb{R}^{n \times n} A ∈ R n × n 是一个 n × n n \times n n × n 的方阵。如果存在非零向量 q ∈ R n \mathbf{q} \in \mathbb{R}^n q ∈ R n (q ≠ 0 \mathbf{q} \neq \mathbf{0} q = 0 )和标量 λ ∈ R \lambda \in \mathbb{R} λ ∈ R (或 λ ∈ C \lambda \in \mathbb{C} λ ∈ C ),满足:
A q = λ q A\mathbf{q} = \lambda \mathbf{q} A q = λ q
则称 λ \lambda λ 为 A A A 的一个特征值 (eigenvalue),q \mathbf{q} q 为对应的特征向量 (eigenvector)。
逐项理解这个等式:
左边 A q A\mathbf{q} A q :矩阵 A A A 作为线性变换作用在向量 q \mathbf{q} q 上,产生一个新向量
右边 λ q \lambda \mathbf{q} λ q :原向量 q \mathbf{q} q 乘以标量 λ \lambda λ ——方向不变(或反向,如果 λ < 0 \lambda < 0 λ < 0 ),长度缩放 ∣ λ ∣ |\lambda| ∣ λ ∣ 倍
等号 的含义:变换 A A A 把 q \mathbf{q} q 映射到它自身的标量倍——A A A 在这个方向上的作用等价于简单的缩放
为什么要求 q ≠ 0 \mathbf{q} \neq \mathbf{0} q = 0 ? 因为零向量 0 \mathbf{0} 0 对任何 A A A 和任何 λ \lambda λ 都满足 A 0 = λ 0 = 0 A\mathbf{0} = \lambda \mathbf{0} = \mathbf{0} A 0 = λ 0 = 0 ——它不携带任何关于 A A A 的信息。我们关心的是那些非平凡的 不变方向。
特征值的含义
特征值 λ 的几何效果 λ > 1 拉伸 q λq 0 < λ < 1 压缩 q λq λ = 1 不变 q λq λ = 0 压到零 q λ < 0 反转+缩放 q λq 灰色虚线 = 原始特征向量 q,彩色实线 = 变换后 λq
特征值 λ \lambda λ 的大小和符号都有明确的几何意义:
λ \lambda λ 的值几何效果 λ > 1 \lambda > 1 λ > 1 沿该方向拉伸 0 < λ < 1 0 < \lambda < 1 0 < λ < 1 沿该方向压缩 λ = 1 \lambda = 1 λ = 1 该方向完全不变 λ = 0 \lambda = 0 λ = 0 该方向被压到零(降维) λ < 0 \lambda < 0 λ < 0 方向反转,并按 $ λ ∈ C \lambda \in \mathbb{C} λ ∈ C 涉及旋转(如纯旋转矩阵)
如何求特征值:特征多项式
从特征值方程到特征多项式 Aq = λq 特征值方程 改写 (A − λI)q = 0 齐次方程 q≠0 det(A − λI) = 0 特征方程 p(λ) = λⁿ − tr(A)λⁿ⁻¹ + ··· n 次特征多项式 → n 个根 2×2 快捷公式: λ² − tr(A)·λ + det(A) = 0 Σλᵢ = tr(A),Πλᵢ = det(A) Δ = tr²−4det:Δ>0 两个实根 | Δ=0 重根 | Δ<0 共轭复根
将特征值方程改写:
A q = λ q ⟹ A q − λ q = 0 ⟹ ( A − λ I ) q = 0 A\mathbf{q} = \lambda \mathbf{q} \implies A\mathbf{q} - \lambda \mathbf{q} = \mathbf{0} \implies (A - \lambda I)\mathbf{q} = \mathbf{0} A q = λ q ⟹ A q − λ q = 0 ⟹ ( A − λ I ) q = 0
其中 I I I 是 n × n n \times n n × n 单位矩阵。这是一个关于 q \mathbf{q} q 的齐次线性方程组。它有非零解 q ≠ 0 \mathbf{q} \neq \mathbf{0} q = 0 的条件是系数矩阵 ( A − λ I ) (A - \lambda I) ( A − λ I ) 不可逆 ,即行列式为零:
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0
这个等式称为 A A A 的特征方程 (characteristic equation)。展开 det ( A − λ I ) \det(A - \lambda I) det ( A − λ I ) ,得到一个关于 λ \lambda λ 的 n n n 次多项式——称为特征多项式 (characteristic polynomial):
p ( λ ) = det ( A − λ I ) = ( − 1 ) n λ n + ⋯ p(\lambda) = \det(A - \lambda I) = (-1)^n \lambda^n + \cdots p ( λ ) = det ( A − λ I ) = ( − 1 ) n λ n + ⋯
由代数基本定理(Fundamental Theorem of Algebra),n n n 次多项式在复数域上恰好有 n n n 个根(计入重数),所以 n × n n \times n n × n 矩阵恰好有 n n n 个特征值(计入重数,可能是复数)。
2×2 情形
对 A = [ a b c d ] A = \begin{bmatrix}a & b \\ c & d\end{bmatrix} A = [ a c b d ] ,特征方程为:
det [ a − λ b c d − λ ] = ( a − λ ) ( d − λ ) − b c = 0 \det\begin{bmatrix}a - \lambda & b \\ c & d - \lambda\end{bmatrix} = (a-\lambda)(d-\lambda) - bc = 0 det [ a − λ c b d − λ ] = ( a − λ ) ( d − λ ) − b c = 0
展开得到:
λ 2 − ( a + d ) λ + ( a d − b c ) = 0 \lambda^2 - (a+d)\lambda + (ad - bc) = 0 λ 2 − ( a + d ) λ + ( a d − b c ) = 0
即:
λ 2 − tr ( A ) λ + det ( A ) = 0 \lambda^2 - \text{tr}(A)\,\lambda + \det(A) = 0 λ 2 − tr ( A ) λ + det ( A ) = 0
其中 tr ( A ) = a + d \text{tr}(A) = a + d tr ( A ) = a + d 是矩阵的迹 (trace,对角元素之和),det ( A ) = a d − b c \det(A) = ad - bc det ( A ) = a d − b c 是行列式。这是一个一元二次方程,用求根公式:
λ = tr ( A ) ± tr ( A ) 2 − 4 det ( A ) 2 \lambda = \frac{\text{tr}(A) \pm \sqrt{\text{tr}(A)^2 - 4\det(A)}}{2} λ = 2 tr ( A ) ± tr ( A ) 2 − 4 d e t ( A )
判别式 Δ = tr ( A ) 2 − 4 det ( A ) \Delta = \text{tr}(A)^2 - 4\det(A) Δ = tr ( A ) 2 − 4 det ( A ) 决定了特征值的性质:
Δ > 0 \Delta > 0 Δ > 0 :两个不同的实特征值
Δ = 0 \Delta = 0 Δ = 0 :一个重复的实特征值(重数为 2)
Δ < 0 \Delta < 0 Δ < 0 :两个共轭复特征值
一个有用的事实 :对任意 n × n n \times n n × n 矩阵 A A A ,所有特征值之和等于迹,所有特征值之积等于行列式:
∑ i = 1 n λ i = tr ( A ) , ∏ i = 1 n λ i = det ( A ) \sum_{i=1}^{n} \lambda_i = \text{tr}(A), \qquad \prod_{i=1}^{n} \lambda_i = \det(A) ∑ i = 1 n λ i = tr ( A ) , ∏ i = 1 n λ i = det ( A )
这是因为特征多项式的系数可以用 Vieta 公式与根联系起来。(见 Strang, Introduction to Linear Algebra , Chapter 6)
求特征向量
找到特征值 λ i \lambda_i λ i 后,对应的特征向量通过求解齐次方程组得到:
( A − λ i I ) q = 0 (A - \lambda_i I)\mathbf{q} = \mathbf{0} ( A − λ i I ) q = 0
这个方程的解空间——( A − λ i I ) (A - \lambda_i I) ( A − λ i I ) 的零空间——称为 λ i \lambda_i λ i 对应的特征空间 (eigenspace)。特征空间的维度(即零空间的维度)称为 λ i \lambda_i λ i 的几何重数 (geometric multiplicity),它不超过 λ i \lambda_i λ i 在特征多项式中的重数(代数重数 ,algebraic multiplicity)。
数值例子:手算 2×2 特征分解
数值例子:A = [4,1; 2,3] 的完整分解 原矩阵 [4,1; 2,3] 特征方程 λ²−7λ+10 = 0 特征值 λ₁=5, λ₂=2 特征向量 q₁=[1,1] q₂=[1,−2] A = QΛQ⁻¹ [4,1;2,3] = [1,1;1,−2] · [5,0;0,2] · [2/3,1/3;1/3,−1/3] ✓ λ₁+λ₂ = 7 = tr(A) ✓ λ₁·λ₂ = 10 = det(A) 迹 = 特征值之和,行列式 = 特征值之积(Vieta 公式)
让我们对一个具体的矩阵做完整的特征分解。取:
A = [ 4 1 2 3 ] A = \begin{bmatrix}4 & 1 \\ 2 & 3\end{bmatrix} A = [ 4 2 1 3 ]
第一步:求特征值
计算特征方程:
det ( A − λ I ) = det [ 4 − λ 1 2 3 − λ ] = ( 4 − λ ) ( 3 − λ ) − 1 ⋅ 2 = 0 \det(A - \lambda I) = \det\begin{bmatrix}4-\lambda & 1 \\ 2 & 3-\lambda\end{bmatrix} = (4-\lambda)(3-\lambda) - 1 \cdot 2 = 0 det ( A − λ I ) = det [ 4 − λ 2 1 3 − λ ] = ( 4 − λ ) ( 3 − λ ) − 1 ⋅ 2 = 0
展开:
λ 2 − 7 λ + 12 − 2 = 0 ⟹ λ 2 − 7 λ + 10 = 0 \lambda^2 - 7\lambda + 12 - 2 = 0 \implies \lambda^2 - 7\lambda + 10 = 0 λ 2 − 7 λ + 12 − 2 = 0 ⟹ λ 2 − 7 λ + 10 = 0
验证:tr ( A ) = 4 + 3 = 7 \text{tr}(A) = 4 + 3 = 7 tr ( A ) = 4 + 3 = 7 ,det ( A ) = 12 − 2 = 10 \det(A) = 12 - 2 = 10 det ( A ) = 12 − 2 = 10 ,与方程 λ 2 − 7 λ + 10 = 0 \lambda^2 - 7\lambda + 10 = 0 λ 2 − 7 λ + 10 = 0 一致。
求解:( λ − 5 ) ( λ − 2 ) = 0 (\lambda - 5)(\lambda - 2) = 0 ( λ − 5 ) ( λ − 2 ) = 0 ,得到:
λ 1 = 5 , λ 2 = 2 \lambda_1 = 5, \quad \lambda_2 = 2 λ 1 = 5 , λ 2 = 2
验证:λ 1 + λ 2 = 7 = tr ( A ) \lambda_1 + \lambda_2 = 7 = \text{tr}(A) λ 1 + λ 2 = 7 = tr ( A ) ✓,λ 1 ⋅ λ 2 = 10 = det ( A ) \lambda_1 \cdot \lambda_2 = 10 = \det(A) λ 1 ⋅ λ 2 = 10 = det ( A ) ✓
第二步:求特征向量
对 λ 1 = 5 \lambda_1 = 5 λ 1 = 5 :
( A − 5 I ) q 1 = [ − 1 1 2 − 2 ] q 1 = 0 (A - 5I)\mathbf{q}_1 = \begin{bmatrix}-1 & 1 \\ 2 & -2\end{bmatrix}\mathbf{q}_1 = \mathbf{0} ( A − 5 I ) q 1 = [ − 1 2 1 − 2 ] q 1 = 0
第一行给出 − q 11 + q 12 = 0 -q_{11} + q_{12} = 0 − q 11 + q 12 = 0 ,即 q 12 = q 11 q_{12} = q_{11} q 12 = q 11 。取 q 11 = 1 q_{11} = 1 q 11 = 1 :
q 1 = [ 1 1 ] \mathbf{q}_1 = \begin{bmatrix}1 \\ 1\end{bmatrix} q 1 = [ 1 1 ]
验证:A q 1 = [ 4 1 2 3 ] [ 1 1 ] = [ 5 5 ] = 5 [ 1 1 ] = λ 1 q 1 A\mathbf{q}_1 = \begin{bmatrix}4 & 1 \\ 2 & 3\end{bmatrix}\begin{bmatrix}1 \\ 1\end{bmatrix} = \begin{bmatrix}5 \\ 5\end{bmatrix} = 5\begin{bmatrix}1 \\ 1\end{bmatrix} = \lambda_1 \mathbf{q}_1 A q 1 = [ 4 2 1 3 ] [ 1 1 ] = [ 5 5 ] = 5 [ 1 1 ] = λ 1 q 1 ✓
对 λ 2 = 2 \lambda_2 = 2 λ 2 = 2 :
( A − 2 I ) q 2 = [ 2 1 2 1 ] q 2 = 0 (A - 2I)\mathbf{q}_2 = \begin{bmatrix}2 & 1 \\ 2 & 1\end{bmatrix}\mathbf{q}_2 = \mathbf{0} ( A − 2 I ) q 2 = [ 2 2 1 1 ] q 2 = 0
第一行给出 2 q 21 + q 22 = 0 2q_{21} + q_{22} = 0 2 q 21 + q 22 = 0 ,即 q 22 = − 2 q 21 q_{22} = -2q_{21} q 22 = − 2 q 21 。取 q 21 = 1 q_{21} = 1 q 21 = 1 :
q 2 = [ 1 − 2 ] \mathbf{q}_2 = \begin{bmatrix}1 \\ -2\end{bmatrix} q 2 = [ 1 − 2 ]
验证:A q 2 = [ 4 1 2 3 ] [ 1 − 2 ] = [ 2 − 4 ] = 2 [ 1 − 2 ] = λ 2 q 2 A\mathbf{q}_2 = \begin{bmatrix}4 & 1 \\ 2 & 3\end{bmatrix}\begin{bmatrix}1 \\ -2\end{bmatrix} = \begin{bmatrix}2 \\ -4\end{bmatrix} = 2\begin{bmatrix}1 \\ -2\end{bmatrix} = \lambda_2 \mathbf{q}_2 A q 2 = [ 4 2 1 3 ] [ 1 − 2 ] = [ 2 − 4 ] = 2 [ 1 − 2 ] = λ 2 q 2 ✓
第三步:组装分解
将两个特征向量作为列组成矩阵 Q Q Q ,特征值排列成对角矩阵 Λ \Lambda Λ :
Q = [ 1 1 1 − 2 ] , Λ = [ 5 0 0 2 ] Q = \begin{bmatrix}1 & 1 \\ 1 & -2\end{bmatrix}, \quad \Lambda = \begin{bmatrix}5 & 0 \\ 0 & 2\end{bmatrix} Q = [ 1 1 1 − 2 ] , Λ = [ 5 0 0 2 ]
验证 A Q = Q Λ AQ = Q\Lambda A Q = Q Λ :
A Q = [ 4 1 2 3 ] [ 1 1 1 − 2 ] = [ 5 2 5 − 4 ] AQ = \begin{bmatrix}4 & 1 \\ 2 & 3\end{bmatrix}\begin{bmatrix}1 & 1 \\ 1 & -2\end{bmatrix} = \begin{bmatrix}5 & 2 \\ 5 & -4\end{bmatrix} A Q = [ 4 2 1 3 ] [ 1 1 1 − 2 ] = [ 5 5 2 − 4 ]
Q Λ = [ 1 1 1 − 2 ] [ 5 0 0 2 ] = [ 5 2 5 − 4 ] Q\Lambda = \begin{bmatrix}1 & 1 \\ 1 & -2\end{bmatrix}\begin{bmatrix}5 & 0 \\ 0 & 2\end{bmatrix} = \begin{bmatrix}5 & 2 \\ 5 & -4\end{bmatrix} Q Λ = [ 1 1 1 − 2 ] [ 5 0 0 2 ] = [ 5 5 2 − 4 ]
A Q = Q Λ AQ = Q\Lambda A Q = Q Λ ✓,因此 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 。
计算 Q − 1 Q^{-1} Q − 1 (对 2 × 2 2 \times 2 2 × 2 矩阵,[ a b c d ] − 1 = 1 a d − b c [ d − b − c a ] \begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1} = \frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix} [ a c b d ] − 1 = a d − b c 1 [ d − c − b a ] ):
Q − 1 = 1 1 ⋅ ( − 2 ) − 1 ⋅ 1 [ − 2 − 1 − 1 1 ] = 1 − 3 [ − 2 − 1 − 1 1 ] = [ 2 / 3 1 / 3 1 / 3 − 1 / 3 ] Q^{-1} = \frac{1}{1 \cdot(-2) - 1 \cdot 1}\begin{bmatrix}-2 & -1 \\ -1 & 1\end{bmatrix} = \frac{1}{-3}\begin{bmatrix}-2 & -1 \\ -1 & 1\end{bmatrix} = \begin{bmatrix}2/3 & 1/3 \\ 1/3 & -1/3\end{bmatrix} Q − 1 = 1 ⋅ ( − 2 ) − 1 ⋅ 1 1 [ − 2 − 1 − 1 1 ] = − 3 1 [ − 2 − 1 − 1 1 ] = [ 2/3 1/3 1/3 − 1/3 ]
最终的特征分解:
A = [ 1 1 1 − 2 ] [ 5 0 0 2 ] [ 2 / 3 1 / 3 1 / 3 − 1 / 3 ] A = \begin{bmatrix}1 & 1 \\ 1 & -2\end{bmatrix}\begin{bmatrix}5 & 0 \\ 0 & 2\end{bmatrix}\begin{bmatrix}2/3 & 1/3 \\ 1/3 & -1/3\end{bmatrix} A = [ 1 1 1 − 2 ] [ 5 0 0 2 ] [ 2/3 1/3 1/3 − 1/3 ]
读者练习 :试试对对称矩阵 B = [ 3 1 1 3 ] B = \begin{bmatrix}3 & 1 \\ 1 & 3\end{bmatrix} B = [ 3 1 1 3 ] 做同样的分解。你会发现特征向量自然正交——这正是下一节谱定理的核心内容。(提示:λ 1 = 4 , λ 2 = 2 \lambda_1 = 4, \lambda_2 = 2 λ 1 = 4 , λ 2 = 2 ;q 1 = [ 1 1 ] , q 2 = [ 1 − 1 ] \mathbf{q}_1 = \begin{bmatrix}1\\1\end{bmatrix}, \mathbf{q}_2 = \begin{bmatrix}1\\-1\end{bmatrix} q 1 = [ 1 1 ] , q 2 = [ 1 − 1 ] ,注意 q 1 T q 2 = 0 \mathbf{q}_1^T \mathbf{q}_2 = 0 q 1 T q 2 = 0 。)
对角化:A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1
形式陈述
设 A ∈ R n × n A \in \mathbb{R}^{n \times n} A ∈ R n × n 有 n n n 个线性无关的特征向量 q 1 , q 2 , … , q n \mathbf{q}_1, \mathbf{q}_2, \ldots, \mathbf{q}_n q 1 , q 2 , … , q n ,对应特征值 λ 1 , λ 2 , … , λ n \lambda_1, \lambda_2, \ldots, \lambda_n λ 1 , λ 2 , … , λ n 。定义:
Q = [ q 1 q 2 ⋯ q n ] ∈ R n × n , Λ = diag ( λ 1 , λ 2 , … , λ n ) ∈ R n × n Q = \begin{bmatrix}\mathbf{q}_1 & \mathbf{q}_2 & \cdots & \mathbf{q}_n\end{bmatrix} \in \mathbb{R}^{n \times n}, \quad \Lambda = \text{diag}(\lambda_1, \lambda_2, \ldots, \lambda_n) \in \mathbb{R}^{n \times n} Q = [ q 1 q 2 ⋯ q n ] ∈ R n × n , Λ = diag ( λ 1 , λ 2 , … , λ n ) ∈ R n × n
其中 Q Q Q 的列是特征向量,Λ \Lambda Λ 是特征值构成的对角矩阵。因为 q 1 , … , q n \mathbf{q}_1, \ldots, \mathbf{q}_n q 1 , … , q n 线性无关,Q Q Q 可逆,我们有:
特征分解 = 对角化
A = Q Λ Q − 1 ⟺ Λ = Q − 1 A Q A = Q\Lambda Q^{-1} \quad \Longleftrightarrow \quad \Lambda = Q^{-1}AQ A = Q Λ Q − 1 ⟺ Λ = Q − 1 A Q
Q Q Q 的列 = 特征向量,Λ \Lambda Λ = 特征值对角矩阵。幂运算:A n = Q Λ n Q − 1 A^n = Q\Lambda^n Q^{-1} A n = Q Λ n Q − 1 。
这就是 A A A 的特征分解 (eigendecomposition),也称为对角化 (diagonalization)。
推导过程 :逐列写出 A q i = λ i q i A\mathbf{q}_i = \lambda_i \mathbf{q}_i A q i = λ i q i ,合并为矩阵形式:
A [ q 1 ⋯ q n ] = [ λ 1 q 1 ⋯ λ n q n ] = [ q 1 ⋯ q n ] [ λ 1 ⋱ λ n ] A \begin{bmatrix}\mathbf{q}_1 & \cdots & \mathbf{q}_n\end{bmatrix} = \begin{bmatrix}\lambda_1\mathbf{q}_1 & \cdots & \lambda_n\mathbf{q}_n\end{bmatrix} = \begin{bmatrix}\mathbf{q}_1 & \cdots & \mathbf{q}_n\end{bmatrix}\begin{bmatrix}\lambda_1 & & \\ & \ddots & \\ & & \lambda_n\end{bmatrix} A [ q 1 ⋯ q n ] = [ λ 1 q 1 ⋯ λ n q n ] = [ q 1 ⋯ q n ] λ 1 ⋱ λ n
即 A Q = Q Λ AQ = Q\Lambda A Q = Q Λ 。因为 Q Q Q 可逆,右乘 Q − 1 Q^{-1} Q − 1 得到 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 ,或等价地左乘 Q − 1 Q^{-1} Q − 1 得到 Λ = Q − 1 A Q \Lambda = Q^{-1}AQ Λ = Q − 1 A Q 。
什么时候可以对角化?
什么时候可以对角化? A ∈ ℝⁿˣⁿ 方阵 n 个不同的特征值? 是 ✓ 一定可对角化 否(有重复特征值) 每个 λ: 几何重数 = 代数重数? 是 ✓ 可对角化 否 ✗ 不可对角化 特别地:A = Aᵀ(对称) → 总是可正交对角化
不是所有方阵都能对角化。A A A 可对角化的充要条件 是:A A A 拥有 n n n 个线性无关的特征向量。
充分条件 (更容易验证):如果 A A A 有 n n n 个不同的 特征值,则 A A A 一定可以对角化。
这是因为对应不同特征值的特征向量一定线性无关(见 Strang, Introduction to Linear Algebra , Chapter 6, Theorem 6.1)。
不可对角化的例子 :
A = [ 1 1 0 1 ] A = \begin{bmatrix}1 & 1 \\ 0 & 1\end{bmatrix} A = [ 1 0 1 1 ]
特征多项式为 ( 1 − λ ) 2 = 0 (1-\lambda)^2 = 0 ( 1 − λ ) 2 = 0 ,唯一特征值 λ = 1 \lambda = 1 λ = 1 (代数重数 2)。但 ( A − I ) q = [ 0 1 0 0 ] q = 0 (A - I)\mathbf{q} = \begin{bmatrix}0&1\\0&0\end{bmatrix}\mathbf{q} = \mathbf{0} ( A − I ) q = [ 0 0 1 0 ] q = 0 的解空间只有一维——只有 q = [ 1 0 ] \mathbf{q} = \begin{bmatrix}1\\0\end{bmatrix} q = [ 1 0 ] 方向的向量。几何重数(1)小于代数重数(2),找不到 2 个线性无关的特征向量,因此不可对角化。这类矩阵需要用 Jordan 标准形 来处理,但这超出了本路径的范围。
Jordan 标准形速览 :任何方阵都能分解为 A = P J P − 1 A = PJP^{-1} A = P J P − 1 ,其中 J J J 由 Jordan 块 J k ( λ ) = [ λ 1 λ ⋱ ⋱ 1 λ ] J_k(\lambda) = \begin{bmatrix}\lambda & 1 & & \\ & \lambda & \ddots & \\ & & \ddots & 1 \\ & & & \lambda\end{bmatrix} J k ( λ ) = λ 1 λ ⋱ ⋱ 1 λ 拼成。可对角化矩阵是所有 Jordan 块都为 1 × 1 1 \times 1 1 × 1 的特殊情况。Jordan 块中超对角线上的 1 使得 e J k ( λ ) t e^{J_k(\lambda)t} e J k ( λ ) t 出现 t m e λ t t^m e^{\lambda t} t m e λ t 混合项——即使系统最终衰减(Re ( λ ) < 0 \text{Re}(\lambda) < 0 Re ( λ ) < 0 ),初期也会因多项式因子 t m t^m t m 产生瞬态增长,这在控制理论中很重要。ML 实践中很少遇到不可对角化的矩阵:对称/半正定矩阵必定可对角化,而一般矩阵恰好不可对角化是概率为零的事件。此外 Jordan 形在数值上极不稳定(微小扰动就会改变 Jordan 结构),所以实际算法几乎不使用它。
对角化的意义:基变换视角
特征分解 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 有一个深刻的几何解读。将 A x A\mathbf{x} A x 的计算分解为三步:
A x = Q ( Λ ( Q − 1 x ) ) A\mathbf{x} = Q(\Lambda(Q^{-1}\mathbf{x})) A x = Q ( Λ ( Q − 1 x ))
Q − 1 x Q^{-1}\mathbf{x} Q − 1 x :将向量 x \mathbf{x} x 从标准基转换到特征基 (eigenbasis)。在特征基下,x \mathbf{x} x 的坐标变成了它在各特征向量方向上的分量。
Λ ( ⋅ ) \Lambda(\cdot) Λ ( ⋅ ) :在特征基下,矩阵变成了对角的 ——每个分量独立乘以对应的特征值。这就是”逐方向独立缩放”。
Q ( ⋅ ) Q(\cdot) Q ( ⋅ ) :将结果从特征基转换回标准基。
核心洞察 :对角化的本质是找到正确的坐标系 。在标准基下,A A A 可能是一个复杂的变换(既拉伸又旋转)。但在特征基下,A A A 退化为最简单的操作——每个方向独立缩放。Q Q Q 和 Q − 1 Q^{-1} Q − 1 只是在两个坐标系之间来回翻译。
对角化 A = QΛQ⁻¹ 的几何含义 在特征基下,变换退化为逐方向独立缩放 Q⁻¹x ① 换到特征基 标准基 → 特征基 Λ(·) ② 逐方向缩放 各分量 ×λᵢ Q(·) ③ 换回标准基 特征基 → 标准基 x Ax Aⁿ = QΛⁿQ⁻¹ → 矩阵幂变成标量幂
这个视角直接解释了为什么对角化对计算如此有用。
对角化的威力:A n = Q Λ n Q − 1 A^n = Q\Lambda^n Q^{-1} A n = Q Λ n Q − 1
对角化的威力:Aⁿ = QΛⁿQ⁻¹ 朴素方法 A × A × ··· × A (n 次 O(n³)) vs 对角化方法 Q · diag(λ₁ⁿ,...,λₙⁿ) · Q⁻¹ 应用: 马尔可夫链稳态 |λᵢ|<1 → 0 Fibonacci 闭合公式 φⁿ/√5 系统稳定性 |λ_max| < 1? 矩阵函数也简化:f(A) = Q·diag(f(λ₁),...,f(λₙ))·Q⁻¹ (如 eᴬ, SSM/Mamba 的核心)
如果 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 ,那么:
A 2 = ( Q Λ Q − 1 ) ( Q Λ Q − 1 ) = Q Λ ( Q − 1 Q ) ⏟ I Λ Q − 1 = Q Λ 2 Q − 1 A^2 = (Q\Lambda Q^{-1})(Q\Lambda Q^{-1}) = Q\Lambda \underbrace{(Q^{-1}Q)}_{I}\Lambda Q^{-1} = Q\Lambda^2 Q^{-1} A 2 = ( Q Λ Q − 1 ) ( Q Λ Q − 1 ) = Q Λ I ( Q − 1 Q ) Λ Q − 1 = Q Λ 2 Q − 1
归纳可得:
A n = Q Λ n Q − 1 A^n = Q\Lambda^n Q^{-1} A n = Q Λ n Q − 1
而 Λ n = diag ( λ 1 n , λ 2 n , … , λ n n ) \Lambda^n = \text{diag}(\lambda_1^n, \lambda_2^n, \ldots, \lambda_n^n) Λ n = diag ( λ 1 n , λ 2 n , … , λ n n ) ——对角矩阵的幂就是逐元素取幂。
这把 O ( n 3 ) O(n^3) O ( n 3 ) (每次矩阵乘法)× n n n 次的 A n A^n A n 计算,简化为一次分解加 n n n 次标量幂运算。实际应用:
马尔可夫链的长期行为 :转移矩阵 P P P 的稳态分布是 lim n → ∞ P n \lim_{n\to\infty} P^n lim n → ∞ P n 的列向量,对角化让你直接看到哪些分量衰减(∣ λ i ∣ < 1 |\lambda_i| < 1 ∣ λ i ∣ < 1 )、哪些保持(∣ λ i ∣ = 1 |\lambda_i| = 1 ∣ λ i ∣ = 1 )
递推关系 :Fibonacci 数列可以写成矩阵幂的形式 [ F n + 1 F n ] = [ 1 1 1 0 ] n [ 1 0 ] \begin{bmatrix}F_{n+1}\\F_n\end{bmatrix} = \begin{bmatrix}1&1\\1&0\end{bmatrix}^n \begin{bmatrix}1\\0\end{bmatrix} [ F n + 1 F n ] = [ 1 1 1 0 ] n [ 1 0 ] ,对角化直接给出闭合公式
动态系统的稳定性分析 :x t + 1 = A x t \mathbf{x}_{t+1} = A\mathbf{x}_t x t + 1 = A x t 是否收敛,完全取决于 A A A 的特征值是否小于 1
同样地,矩阵函数也可以通过对角化来简化。如果 f f f 是一个可以用幂级数定义的函数(如 e A , sin ( A ) , log ( A ) e^A, \sin(A), \log(A) e A , sin ( A ) , log ( A ) ),那么:
f ( A ) = Q ⋅ f ( Λ ) ⋅ Q − 1 = Q ⋅ diag ( f ( λ 1 ) , … , f ( λ n ) ) ⋅ Q − 1 f(A) = Q \cdot f(\Lambda) \cdot Q^{-1} = Q \cdot \text{diag}(f(\lambda_1), \ldots, f(\lambda_n)) \cdot Q^{-1} f ( A ) = Q ⋅ f ( Λ ) ⋅ Q − 1 = Q ⋅ diag ( f ( λ 1 ) , … , f ( λ n )) ⋅ Q − 1
矩阵指数 e A = Q diag ( e λ 1 , … , e λ n ) Q − 1 e^A = Q\,\text{diag}(e^{\lambda_1}, \ldots, e^{\lambda_n})\,Q^{-1} e A = Q diag ( e λ 1 , … , e λ n ) Q − 1 在连续时间线性系统(Part 2, Art. 17)和 SSM/Mamba(Part 3, Art. 26)中至关重要。
谱定理:对称矩阵的特殊地位
为什么要单独讨论对称矩阵?
在一般情况下,特征分解有几个不太令人满意的地方:
特征值可能是复数 (如旋转矩阵)
特征向量不一定正交 (如上面数值例子中的 q 1 = [ 1 1 ] \mathbf{q}_1 = \begin{bmatrix}1\\1\end{bmatrix} q 1 = [ 1 1 ] 和 q 2 = [ 1 − 2 ] \mathbf{q}_2 = \begin{bmatrix}1\\-2\end{bmatrix} q 2 = [ 1 − 2 ] ,它们不正交)
Q − 1 Q^{-1} Q − 1 的计算可能数值不稳定 (当特征向量接近线性相关时)
但如果 A A A 是对称矩阵 (symmetric matrix,即 A = A T A = A^T A = A T ),这些问题都消失了。对称矩阵是 ML 中最常见的矩阵类型之一——协方差矩阵 X T X X^TX X T X 、Gram 矩阵 K i j = k ( x i , x j ) K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j) K ij = k ( x i , x j ) 、图 Laplacian L = D − A G L = D - A_G L = D − A G ,都是对称的。
谱定理(Spectral Theorem)
谱定理:A = Aᵀ(对称)⟹ 三个保证 条件:A = Aᵀ(实对称) 1 实特征值 λᵢ ∈ ℝ 不会出现复数特征值 2 正交特征向量 qᵢᵀqⱼ = 0 (i≠j) 不同特征值的特征向量互相正交 3 正交对角化 A = QΛQᵀ Q⁻¹ = Qᵀ(转置即逆) 对比一般矩阵:A = QΛQ⁻¹(需算逆) vs 对称:A = QΛQᵀ(转置即可) ML 中常见对称矩阵:协方差矩阵 XᵀX、Gram 矩阵 K、图 Laplacian L = D−A "谱"(spectrum) = 矩阵的所有特征值的集合
谱定理 :实对称矩阵 A = A T A = A^T A = A T 满足:
所有特征值都是实数
不同特征值对应的特征向量彼此正交
可用正交矩阵对角化:A = Q Λ Q T A = Q\Lambda Q^T A = Q Λ Q T
A = Q Λ Q T = ∑ i = 1 n λ i q i q i T A = Q\Lambda Q^T = \sum_{i=1}^{n} \lambda_i \mathbf{q}_i \mathbf{q}_i^T A = Q Λ Q T = ∑ i = 1 n λ i q i q i T
其中 Q Q Q 的列是 A A A 的单位正交特征向量,Λ = diag ( λ 1 , … , λ n ) \Lambda = \text{diag}(\lambda_1, \ldots, \lambda_n) Λ = diag ( λ 1 , … , λ n ) 是实特征值组成的对角矩阵。
(谱定理的名称来自”谱”(spectrum)——矩阵的所有特征值的集合。关于谱定理的详细证明可参考 Strang 的 MIT 18.06 课程或 Axler 的 Linear Algebra Done Right 。)
关键差异 :一般矩阵的特征分解是 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 ,需要计算 Q − 1 Q^{-1} Q − 1 。对称矩阵的特征分解是 A = Q Λ Q T A = Q\Lambda Q^T A = Q Λ Q T ——Q − 1 Q^{-1} Q − 1 就是 Q T Q^T Q T ,一个转置即可,既简洁又数值稳定。
为什么实特征值?(证明思路)
设 A q = λ q A\mathbf{q} = \lambda \mathbf{q} A q = λ q ,q ≠ 0 \mathbf{q} \neq \mathbf{0} q = 0 。两边取共轭转置(对实矩阵,共轭转置 = 转置):
q ‾ T A T = λ ‾ q ‾ T \overline{\mathbf{q}}^T A^T = \overline{\lambda} \, \overline{\mathbf{q}}^T q T A T = λ q T
因为 A = A T A = A^T A = A T (对称),所以 q ‾ T A = λ ‾ q ‾ T \overline{\mathbf{q}}^T A = \overline{\lambda} \, \overline{\mathbf{q}}^T q T A = λ q T 。右乘 q \mathbf{q} q :
q ‾ T A q = λ ‾ q ‾ T q \overline{\mathbf{q}}^T A \mathbf{q} = \overline{\lambda} \, \overline{\mathbf{q}}^T \mathbf{q} q T A q = λ q T q
而从原始方程左乘 q ‾ T \overline{\mathbf{q}}^T q T :
q ‾ T A q = λ q ‾ T q \overline{\mathbf{q}}^T A \mathbf{q} = \lambda \, \overline{\mathbf{q}}^T \mathbf{q} q T A q = λ q T q
比较两式:λ q ‾ T q = λ ‾ q ‾ T q \lambda \, \overline{\mathbf{q}}^T \mathbf{q} = \overline{\lambda} \, \overline{\mathbf{q}}^T \mathbf{q} λ q T q = λ q T q 。由于 q ‾ T q = ∥ q ∥ 2 > 0 \overline{\mathbf{q}}^T \mathbf{q} = \|\mathbf{q}\|^2 > 0 q T q = ∥ q ∥ 2 > 0 (q ≠ 0 \mathbf{q} \neq \mathbf{0} q = 0 ),所以 λ = λ ‾ \lambda = \overline{\lambda} λ = λ ,即 λ \lambda λ 是实数。■ \blacksquare ■
为什么正交特征向量?
设 A q 1 = λ 1 q 1 A\mathbf{q}_1 = \lambda_1 \mathbf{q}_1 A q 1 = λ 1 q 1 和 A q 2 = λ 2 q 2 A\mathbf{q}_2 = \lambda_2 \mathbf{q}_2 A q 2 = λ 2 q 2 ,其中 λ 1 ≠ λ 2 \lambda_1 \neq \lambda_2 λ 1 = λ 2 。计算 q 1 T ( A q 2 ) \mathbf{q}_1^T (A\mathbf{q}_2) q 1 T ( A q 2 ) :
q 1 T ( A q 2 ) = q 1 T ( λ 2 q 2 ) = λ 2 ( q 1 T q 2 ) \mathbf{q}_1^T (A\mathbf{q}_2) = \mathbf{q}_1^T (\lambda_2 \mathbf{q}_2) = \lambda_2 (\mathbf{q}_1^T \mathbf{q}_2) q 1 T ( A q 2 ) = q 1 T ( λ 2 q 2 ) = λ 2 ( q 1 T q 2 )
另一方面,利用 A T = A A^T = A A T = A :
q 1 T ( A q 2 ) = ( A T q 1 ) T q 2 = ( A q 1 ) T q 2 = ( λ 1 q 1 ) T q 2 = λ 1 ( q 1 T q 2 ) \mathbf{q}_1^T (A\mathbf{q}_2) = (A^T\mathbf{q}_1)^T \mathbf{q}_2 = (A\mathbf{q}_1)^T \mathbf{q}_2 = (\lambda_1\mathbf{q}_1)^T \mathbf{q}_2 = \lambda_1 (\mathbf{q}_1^T \mathbf{q}_2) q 1 T ( A q 2 ) = ( A T q 1 ) T q 2 = ( A q 1 ) T q 2 = ( λ 1 q 1 ) T q 2 = λ 1 ( q 1 T q 2 )
比较两个结果:λ 1 ( q 1 T q 2 ) = λ 2 ( q 1 T q 2 ) \lambda_1 (\mathbf{q}_1^T \mathbf{q}_2) = \lambda_2 (\mathbf{q}_1^T \mathbf{q}_2) λ 1 ( q 1 T q 2 ) = λ 2 ( q 1 T q 2 ) 。因为 λ 1 ≠ λ 2 \lambda_1 \neq \lambda_2 λ 1 = λ 2 ,必须有 q 1 T q 2 = 0 \mathbf{q}_1^T \mathbf{q}_2 = 0 q 1 T q 2 = 0 ——两个特征向量正交。■ \blacksquare ■
谱分解形式
谱定理给出了一个特别优美的表达——将矩阵写成秩一矩阵的加权和:
A = Q Λ Q T = ∑ i = 1 n λ i q i q i T A = Q\Lambda Q^T = \sum_{i=1}^{n} \lambda_i \mathbf{q}_i \mathbf{q}_i^T A = Q Λ Q T = ∑ i = 1 n λ i q i q i T
其中每个 q i q i T \mathbf{q}_i \mathbf{q}_i^T q i q i T 是一个秩一投影矩阵 (将任意向量投影到 q i \mathbf{q}_i q i 方向上)。
逐项理解:
q i q i T ∈ R n × n \mathbf{q}_i \mathbf{q}_i^T \in \mathbb{R}^{n \times n} q i q i T ∈ R n × n :一个秩一矩阵,作用在任意向量 x \mathbf{x} x 上时,提取 x \mathbf{x} x 在 q i \mathbf{q}_i q i 方向上的分量:( q i q i T ) x = q i ( q i T x ) (\mathbf{q}_i \mathbf{q}_i^T)\mathbf{x} = \mathbf{q}_i(\mathbf{q}_i^T \mathbf{x}) ( q i q i T ) x = q i ( q i T x )
λ i \lambda_i λ i :该方向的权重/重要性
求和:A A A 是 n n n 个方向上独立缩放的叠加
谱分解:秩一投影的加权和 A = Σᵢ λᵢ qᵢqᵢᵀ A = λ₁ · q₁q₁ᵀ 秩 1 + λ₂ · q₂q₂ᵀ 秩 1 + ··· λₙ · qₙqₙᵀ 秩 1 qᵢqᵢᵀ 是投影矩阵,λᵢ 是该方向的权重(重要性)
这种”展开为秩一项之和”的思想,正是 SVD(A = ∑ i σ i u i v i T A = \sum_i \sigma_i \mathbf{u}_i \mathbf{v}_i^T A = ∑ i σ i u i v i T )的前身。
正定矩阵:特征值全部为正
正定矩阵:xᵀAx = Σλᵢyᵢ² 正定 (λ₁=4, λ₂=1.5) q₁ q₂ xᵀAx > 0 对所有 x≠0 在特征基下 xᵀAx = Σλᵢyᵢ² y = Qᵀx 不定 (λ₁=2, λ₂=−1) xᵀAx 可正可负(鞍点) ML 常见正定矩阵:协方差矩阵、Kernel 矩阵、损失函数的 Hessian(局部最小值处)
在谱定理的基础上,如果进一步要求所有特征值为正(λ i > 0 \lambda_i > 0 λ i > 0 ),就得到了正定矩阵 (positive definite matrix)。
定义 :实对称矩阵 A A A 是正定的,当且仅当对所有非零向量 x ≠ 0 \mathbf{x} \neq \mathbf{0} x = 0 :
x T A x > 0 \mathbf{x}^T A \mathbf{x} > 0 x T A x > 0
为什么限定”实对称”? 二次型 x T A x \mathbf{x}^TA\mathbf{x} x T A x 对任意方阵都可以写出来,但它只”看得到”A A A 的对称部分——反对称部分的贡献恒为零(Art. 1B 矩阵结构几何 中有详细证明)。所以讨论正定性时,不失一般性只考虑对称矩阵。更关键的是,下面的等价条件”正定 ⟺ \iff ⟺ 所有特征值为正”依赖于谱定理:只有对称矩阵的特征值才保证是实数 ——“特征值为正”对复数特征值没有意义。
正定性的特征值等价条件
A 正定 ⟺ 所有特征值 > 0 A 半正定 ⟺ 所有特征值 ≥ 0 A \text{ 正定} \iff \text{所有特征值} > 0 \qquad A \text{ 半正定} \iff \text{所有特征值} \geq 0 A 正定 ⟺ 所有特征值 > 0 A 半正定 ⟺ 所有特征值 ≥ 0
正定 → 可逆(无零特征值 → 满秩)。
为什么等价?因为 x T A x = x T ( Q Λ Q T ) x = ( Q T x ) T Λ ( Q T x ) \mathbf{x}^T A \mathbf{x} = \mathbf{x}^T (Q\Lambda Q^T) \mathbf{x} = (Q^T\mathbf{x})^T \Lambda (Q^T\mathbf{x}) x T A x = x T ( Q Λ Q T ) x = ( Q T x ) T Λ ( Q T x ) 。令 y = Q T x \mathbf{y} = Q^T\mathbf{x} y = Q T x (Q Q Q 正交,所以 x ≠ 0 ⟺ y ≠ 0 \mathbf{x} \neq \mathbf{0} \iff \mathbf{y} \neq \mathbf{0} x = 0 ⟺ y = 0 ),得到:
x T A x = ∑ i = 1 n λ i y i 2 \mathbf{x}^T A \mathbf{x} = \sum_{i=1}^{n} \lambda_i y_i^2 x T A x = ∑ i = 1 n λ i y i 2
如果所有 λ i > 0 \lambda_i > 0 λ i > 0 ,则这个和对任何非零 y \mathbf{y} y 都是正的。反之,如果某个 λ j ≤ 0 \lambda_j \leq 0 λ j ≤ 0 ,取 y \mathbf{y} y 只在第 j j j 个分量非零,就可以让这个和非正。
正定矩阵在 ML 中无处不在:
协方差矩阵 C = 1 n − 1 X T X C = \frac{1}{n-1}X^TX C = n − 1 1 X T X :半正定(λ i ≥ 0 \lambda_i \geq 0 λ i ≥ 0 ),如果数据满秩则正定。为什么?v T C v = 1 n − 1 ∥ X v ∥ 2 ≥ 0 \mathbf{v}^TC\mathbf{v} = \frac{1}{n-1}\|X\mathbf{v}\|^2 \geq 0 v T C v = n − 1 1 ∥ X v ∥ 2 ≥ 0 ——方差不能为负。这是 B T B B^TB B T B 形式保证半正定的直接应用(Art. 1B 矩阵结构几何 §4 详细推导)。
Hessian 矩阵 :正定 = 严格局部最小值。为什么?在驻点处 Taylor 展开的一阶项消失,函数行为由二次型 1 2 Δ x T H Δ x \frac{1}{2}\Delta\mathbf{x}^T H \Delta\mathbf{x} 2 1 Δ x T H Δ x 决定——H H H 正定意味着所有方向曲率为正,驻点是碗底(Art. 5 矩阵微积分 §3 详细推导)。
Kernel 矩阵 K i j = k ( x i , x j ) K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j) K ij = k ( x i , x j ) :正半定性保证它可以被解释为内积。为什么?Mercer 定理证明:K K K 半正定 ⟺ \iff ⟺ 存在特征映射 ϕ \phi ϕ 使得 K i j = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ K_{ij} = \langle\phi(\mathbf{x}_i), \phi(\mathbf{x}_j)\rangle K ij = ⟨ ϕ ( x i ) , ϕ ( x j )⟩ ,即 K = Φ Φ T K = \Phi\Phi^T K = Φ Φ T (Art. 20 Kernel 详细推导)。
为什么特征分解是后续一切的基础
特征分解:后续一切的基础 特征分解 A = QΛQ⁻¹ SVD (Art. 3) AᵀA 的特征分解 → 奇异值 PCA (Art. 6) 协方差矩阵的特征向量 = 主成分 PageRank (Art. 18) 转移矩阵的 λ=1 特征向量 SSM/Mamba (Art. 26) 状态矩阵对角化 → 并行卷积 "在特征基下,变换变成逐方向独立缩放"——这个洞察贯穿全部 26 篇
特征分解不仅是一种计算技巧,更是理解线性代数和 ML 的概念基础 。让我们梳理它与后续话题的具体联系。
→ SVD(Art. 3)
特征分解要求 A A A 是方阵。但数据矩阵通常是长方形的(m ≠ n m \neq n m = n )。一个巧妙的绕道:即使 A ∈ R m × n A \in \mathbb{R}^{m \times n} A ∈ R m × n 不是方阵,A T A ∈ R n × n A^T A \in \mathbb{R}^{n \times n} A T A ∈ R n × n 和 A A T ∈ R m × m AA^T \in \mathbb{R}^{m \times m} A A T ∈ R m × m 都是对称半正定方阵 。对它们做特征分解:
A T A = V Σ 2 V T , A A T = U Σ 2 U T A^T A = V \Sigma^2 V^T, \quad AA^T = U \Sigma^2 U^T A T A = V Σ 2 V T , A A T = U Σ 2 U T
这就自然导出了 A = U Σ V T A = U\Sigma V^T A = U Σ V T ——奇异值分解(SVD)。SVD 的奇异值 σ i \sigma_i σ i 是 A T A A^TA A T A 特征值的平方根,右奇异向量是 A T A A^TA A T A 的特征向量,左奇异向量是 A A T AA^T A A T 的特征向量。SVD 本质上是两次特征分解。
→ PCA(Art. 6)
PCA 的目标是找到数据方差最大的方向。对中心化数据矩阵 X X X ,协方差矩阵 C = 1 n − 1 X T X C = \frac{1}{n-1}X^TX C = n − 1 1 X T X 是对称半正定的。C C C 的特征分解 C = Q Λ Q T C = Q\Lambda Q^T C = Q Λ Q T 直接给出主成分:特征向量就是主成分方向,特征值就是各方向的方差大小。(见 Shlens, A Tutorial on Principal Component Analysis , 2014)
网页转移矩阵 P P P 的稳态分布是满足 P π = π P\boldsymbol{\pi} = \boldsymbol{\pi} P π = π 的特征向量——对应特征值 λ = 1 \lambda = 1 λ = 1 的特征向量。PageRank 算法的本质就是幂迭代法(power iteration):反复乘以 P P P ,收敛到主特征向量。
→ SSM/Mamba(Art. 26)
状态空间模型(SSM)的核心是状态转移方程 h t + 1 = A ˉ h t + B ˉ x t \mathbf{h}_{t+1} = \bar{A}\mathbf{h}_t + \bar{B}\mathbf{x}_t h t + 1 = A ˉ h t + B ˉ x t 。Mamba 的关键加速来自将 A ˉ \bar{A} A ˉ 约束为对角矩阵 ——这是对角化的极端形式,Q = I Q = I Q = I 。在对角基下,各状态分量独立演化,使得卷积形式的并行计算成为可能。
总结与展望
本文建立了整条路径的第一件核心工具——特征分解:
特征向量是线性变换的不变方向 ,特征值是对应的缩放倍数
特征分解 A = Q Λ Q − 1 A = Q\Lambda Q^{-1} A = Q Λ Q − 1 在特征基下将矩阵简化为对角形式
谱定理保证对称矩阵 有实特征值和正交特征向量,分解形式简化为 A = Q Λ Q T A = Q\Lambda Q^T A = Q Λ Q T
对角化让矩阵幂和矩阵函数 变得平凡:A n = Q Λ n Q − 1 A^n = Q\Lambda^n Q^{-1} A n = Q Λ n Q − 1
谱分解 A = ∑ i λ i q i q i T A = \sum_i \lambda_i \mathbf{q}_i \mathbf{q}_i^T A = ∑ i λ i q i q i T 将矩阵表示为秩一成分的加权和
但特征分解有一个根本限制:它只适用于方阵 。现实中的数据矩阵——用户-物品评分表(10万 × 5万)、词-文档矩阵(3万 × 100万)、图像批次(1000 × 784)——几乎都是长方形的。我们需要一个能处理任意形状 矩阵的分解工具。
下一篇,我们将学习奇异值分解(SVD) ——它把特征分解的核心思想推广到 m × n m \times n m × n 的任意矩阵,成为 ML 中使用最广泛的矩阵工具。