Skip to content

第 5 章:矩阵、特征向量与换坐标:看懂正交对角化 ​

返回目录

你之前学 Transformer 时已经接触过矩阵乘法、转置和梯度,现在正好可以把线性代数中的几个核心概念重新串起来。

我们重点解释这个公式:

\boxed{H=Q\Lambda Q^T}

它叫做实对称矩阵的正交对角化(Orthogonal Diagonalization),也是谱定理(Spectral Theorem)的重要结论。

理解它需要依次掌握:矩阵乘法、转置、特征值、特征向量、正交矩阵,以及对角化。

一、先回顾:矩阵到底是什么? ​

最重要的理解是:矩阵可以表示一个线性变换。

例如:

A=
\begin{bmatrix}
2&0\\
0&3
\end{bmatrix}

对于一个二维向量:

\mathbf x=
\begin{bmatrix}
x\\y
\end{bmatrix}

矩阵乘法得到:

A\mathbf x=
\begin{bmatrix}
2x\\3y
\end{bmatrix}

也就是说,这个矩阵将向量的横坐标放大 2 倍,纵坐标放大 3 倍。

但一般的矩阵并不是这么简单。

例如:

B=
\begin{bmatrix}
3&1\\
1&3
\end{bmatrix}

我们得到:

B\mathbf x=
\begin{bmatrix}
3x+y\\
x+3y
\end{bmatrix}

现在两个坐标相互混合了。

那么问题来了:

有没有办法换一个坐标系,让矩阵 B 也变成像 A 那样简单的对角矩阵?

答案就是特征值分解。

二、什么是特征值和特征向量? ​

英文分别是:

  • Eigenvalue:特征值
  • Eigenvector:特征向量

对于矩阵 B,如果存在非零向量 \mathbf v,使得:

\boxed{B\mathbf v=\lambda\mathbf v}

那么:

  • \mathbf v 是特征向量。
  • \lambda 是对应的特征值。

这个公式的几何含义非常重要:

矩阵变换后,这个特殊向量的方向没有发生改变(允许反向),只是长度被缩放了 |\lambda| 倍。

例如刚才的矩阵:

B=
\begin{bmatrix}
3&1\\
1&3
\end{bmatrix}

我们尝试向量:

\mathbf v_1=\begin{bmatrix}1\\1\end{bmatrix}

计算:

B\mathbf v_1
=
\begin{bmatrix}
3&1\\
1&3
\end{bmatrix}
\begin{bmatrix}1\\1\end{bmatrix}
=
\begin{bmatrix}4\\4\end{bmatrix}

因此:

\boxed{B\mathbf v_1=4\mathbf v_1}

这意味着 (1,1) 方向上的向量经过变换后,仍然沿这个方向,但长度变为 4 倍。

再尝试:

\mathbf v_2=\begin{bmatrix}-1\\1\end{bmatrix}

得到:

B\mathbf v_2=
\begin{bmatrix}-2\\2\end{bmatrix}
=2\mathbf v_2

所以:

\boxed{B\mathbf v_2=2\mathbf v_2}

我们已经找到了两组特征值和特征向量:

特征值对应的特征向量作用
\lambda_1=4(1,1)沿此方向放大 4 倍
\lambda_2=2(-1,1)沿此方向放大 2 倍

三、特征值到底怎么计算出来? ​

刚才是直接尝试,现在用标准方法。

由:

B\mathbf v=\lambda\mathbf v

移项:

(B-\lambda I)\mathbf v=0

这里 I 是单位矩阵:

I=
\begin{bmatrix}1&0\\0&1\end{bmatrix}

因为我们希望找到非零向量 \mathbf v,所以系数矩阵必须不可逆,即:

\boxed{\det(B-\lambda I)=0}

这叫特征方程(Characteristic Equation)。

代入:

\det
\begin{bmatrix}
3-\lambda&1\\
1&3-\lambda
\end{bmatrix}=0

回顾一下,二阶行列式的计算是:

\det\begin{bmatrix}a&b\\c&d\end{bmatrix}=ad-bc

因此:

(3-\lambda)^2-1=0

整理得到:

\lambda^2-6\lambda+8=0
(\lambda-4)(\lambda-2)=0

所以:

\boxed{\lambda_1=4,\quad\lambda_2=2}

然后分别将 \lambda=4 和 \lambda=2 代入 (B-\lambda I)\mathbf v=0,就能求出对应的特征向量。


四、什么是正交矩阵 Q? ​

现在回到我们真正想理解的公式。

首先,把两个特征向量进行归一化,也就是让它们的长度变成 1。

因为:

\left\|\begin{bmatrix}1\\1\end{bmatrix}\right\|=\sqrt2

所以第一个单位特征向量为:

\mathbf q_1=\frac1{\sqrt2}
\begin{bmatrix}1\\1\end{bmatrix}

第二个为:

\mathbf q_2=\frac1{\sqrt2}
\begin{bmatrix}-1\\1\end{bmatrix}

你可以验证它们相互垂直:

\mathbf q_1^T\mathbf q_2
=
\frac12(-1+1)=0

现在把它们作为矩阵的两列:

\boxed{
Q=
\begin{bmatrix}
\vert&\vert\\
\mathbf q_1&\mathbf q_2\\
\vert&\vert
\end{bmatrix}
=
\frac1{\sqrt2}
\begin{bmatrix}
1&-1\\
1&1
\end{bmatrix}
}

这种列向量相互垂直、长度均为 1 的方阵,叫作正交矩阵(Orthogonal Matrix)。

正交矩阵具有一个非常重要的性质:

\boxed{Q^TQ=QQ^T=I}

因此:

\boxed{Q^{-1}=Q^T}

其中:

  • Q^T:转置,即交换行和列。
  • Q^{-1}:逆矩阵,即能够撤销原矩阵变换的矩阵。

这两者通常并不相同,只有正交矩阵等特殊情况,才可以直接用转置代替逆矩阵。

几何上,我们这个 Q 对应平面内的逆时针旋转 45°,而 Q^T 对应顺时针旋转 45°。

五、终于推导 H = QΛQᵀ ​

为了和之前的 Hessian 公式保持一致,现在将 B 重新记作 H。

我们知道:

H\mathbf q_1=4\mathbf q_1
H\mathbf q_2=2\mathbf q_2

把两条等式合并:

H
\begin{bmatrix}
\vert&\vert\\
\mathbf q_1&\mathbf q_2\\
\vert&\vert
\end{bmatrix}
=
\begin{bmatrix}
\vert&\vert\\
4\mathbf q_1&2\mathbf q_2\\
\vert&\vert
\end{bmatrix}

右侧也可以写成矩阵乘法:

HQ=
Q
\begin{bmatrix}
4&0\\
0&2
\end{bmatrix}

令:

\Lambda=
\begin{bmatrix}
4&0\\
0&2
\end{bmatrix}

那么:

\boxed{HQ=Q\Lambda}

在等式两边右乘 Q^T:

HQQ^T=Q\Lambda Q^T

由于:

QQ^T=I

因此:

\boxed{H=Q\Lambda Q^T}

这就是特征值分解的来源!

这里的三个矩阵分别代表:

矩阵数学含义
Q各列是单位特征向量
\Lambda对角线上排列对应的特征值
Q^TQ 的逆矩阵

注意:这个 Q 只是线性代数中的符号,与 Transformer Attention 中的 Query 矩阵 Q 没有特殊关系。

六、从几何上理解这三个矩阵的作用 ​

这可能是最值得理解的部分。

H\mathbf x=Q\Lambda Q^T\mathbf x

因为矩阵乘法从右往左作用,所以整个变换可以拆成三步:

第一步:Q^T\mathbf x

将向量转换到由特征向量构成的新坐标系

第二步:\Lambda(Q^T\mathbf x)

沿两个新坐标轴,分别放大 4 倍和 2 倍

第三步:Q\Lambda Q^T\mathbf x

将变换后的向量重新表示在原来的坐标系中

换句话说,原来复杂的矩阵:

H=
\begin{bmatrix}
3&1\\
1&3
\end{bmatrix}

在特征向量构成的新坐标系中,就变成了:

\boxed{
\Lambda=
\begin{bmatrix}
4&0\\
0&2
\end{bmatrix}
}

对角化的本质,就是找到一个特殊的坐标系,让原本复杂的线性变换变成沿各坐标轴独立的缩放。

七、为什么 Hessian 一定可以这样分解? ​

严格来说,不是所有矩阵都可以进行这种正交对角化。

但实对称矩阵可以。这是实对称矩阵谱定理:

每个实对称矩阵都存在一组正交归一的特征向量,它们构成整个空间的一组基。因此,该矩阵可以被正交对角化。

Hessian 矩阵为:

H=
\begin{bmatrix}
f_{xx}&f_{xy}\\
f_{yx}&f_{yy}
\end{bmatrix}

只要函数二阶偏导连续,根据混合偏导数相等定理(Clairaut's Theorem):

f_{xy}=f_{yx}

于是:

H^T=H

因此 Hessian 是实对称矩阵,可以使用谱定理得到:

\boxed{H=Q\Lambda Q^T}

顺便补充一个小证明:为什么不同特征值对应的特征向量垂直?

设:

H\mathbf v_1=\lambda_1\mathbf v_1,\qquad
H\mathbf v_2=\lambda_2\mathbf v_2

因为 H^T=H,所以:

\mathbf v_1^TH\mathbf v_2
=
(H\mathbf v_1)^T\mathbf v_2

代入特征值关系:

\lambda_2\mathbf v_1^T\mathbf v_2
=
\lambda_1\mathbf v_1^T\mathbf v_2

于是:

(\lambda_2-\lambda_1)\mathbf v_1^T\mathbf v_2=0

只要 \lambda_1\ne\lambda_2,就得到:

\boxed{\mathbf v_1^T\mathbf v_2=0}

即两个特征向量相互垂直。对于重复特征值的情况,也可以在对应的特征子空间内选取正交归一基。


图 2 · 特征基把交叉项化成独立平方项q₁q₂H = [[3,1],[1,3]]λ₁ = 4,λ₂ = 2f = 2u₁² + u₂²短轴方向的二阶变化率更大。Qᵀ 取坐标;Q 将坐标变回。
第 13 章贯穿例子的精确等高线,常值为 1、2.5、4.5。两条彩色直线是单位特征向量方向;几何图形采用等比例坐标。

补充:零特征值与顺序 ​

当 \lambda=0 时,非零特征向量被映到零向量;此时不能说像向量仍有原方向。统一的陈述是其一维张成空间在变换下不变。

Q^Tx 是旧坐标到特征基坐标,Qu 是特征基坐标到旧坐标。列向量与对角元素必须配对,同时交换它们不改变 Q\Lambda Q^T。若有重特征值,同一特征子空间中的正交基并不唯一。

保留每一次追问,认真走完每一步证明。