引言
这是我们“重构计划”的最后一天。我们翻越了秩的山丘,穿过了特征值的森林,终于来到了这座最高的山峰——奇异值分解 (Singular Value Decomposition, SVD)。
Gilbert Strang 曾说:“SVD 甚至比特征值分解更重要,它是线性代数的巅峰 (The Peak)。”
为什么? 因为特征值分解太挑剔了——它要求矩阵必须是方阵,甚至要是对称阵才能保证有好的性质。 但 SVD 是普世的。不论你是胖的、瘦的、奇异的、甚至不是方阵,SVD 都能把你看得清清楚楚。
今天,我们就用 SVD 这一把“万能钥匙”,解开线性代数最后的封印。
几何直觉:三步走的华尔兹
1. 任何矩阵都是“对角阵”
我们之前学过,如果 $\mathbf{A}$ 好(可对角化),那么 $\mathbf{A} = \mathbf{P} \mathbf{\Lambda} \mathbf{P}^{-1}$。这意味着在 $\mathbf{P}$ 这组基下,$\mathbf{A}$ 变成了纯伸缩。 但遗憾的是,输入基 $\mathbf{P}$ 和输出基 $\mathbf{P}$ 必须是一样的。
SVD 说:只要你允许我分别为输入空间和输出空间选两组不同的基,任何矩阵 $\mathbf{A}$ 都是对角阵!
$$ \mathbf{A} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^\mathsf{T} $$
2. 动作分解
想象一个向量 $\boldsymbol{x}$ 经过 $\mathbf{A}$ 的处理:$\mathbf{A}\boldsymbol{x}$。SVD 把这个过程拆解成了三步标准的舞蹈:
- $\mathbf{V}^\mathsf{T}$ (Rotation):在输入空间 $\mathbb{R}^n$ 里进行一次旋转(或反射)。这步是为了把输入向量对齐到特定的轴上。
- $\mathbf{\Sigma}$ (Stretching):沿着坐标轴进行伸缩。奇异值 $\sigma_i$ 就是伸缩系数。有的方向拉长,有的方向压缩,有的直接压扁为 0。
- $\mathbf{U}$ (Rotation):在输出空间 $\mathbb{R}^m$ 里再进行一次旋转。把伸缩后的结果摆正。
直觉隐喻:
矩阵 $\mathbf{A}$ 就像一个棱镜。 一束白光(杂乱的向量)射进去,SVD 告诉我们,这个棱镜内部其实是由两个旋转镜片和一个透镜组构成的。它把光分解成了最纯粹的单色光(奇异向量)。
核心定理:代数视角的解构
1. 寻找最佳的正交基
我们需要找到两组正交单位基:
- 输入空间的基:$\boldsymbol{v}_1, \dots, \boldsymbol{v}_n$ ($\mathbf{V}$ 的列)
- 输出空间的基:$\boldsymbol{u}_1, \dots, \boldsymbol{u}_m$ ($\mathbf{U}$ 的列)
使得 $\mathbf{A}$ 把 $\boldsymbol{v}_i$ 映射到 $\boldsymbol{u}_i$ 的方向上,且长度变为 $\sigma_i$: $$ \mathbf{A} \boldsymbol{v}_i = \sigma_i \boldsymbol{u}_i $$
写成矩阵形式就是 $\mathbf{A}\mathbf{V} = \mathbf{U}\mathbf{\Sigma}$,即 $\mathbf{A} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^\mathsf{T}$。
2. 怎么求?(化归为特征值问题)
这看起来很难,但我们有两个核武器:$\mathbf{A}^\mathsf{T}\mathbf{A}$ 和 $\mathbf{A}\mathbf{A}^\mathsf{T}$。这两个都是实对称半正定矩阵,性质好得不得了。
求 $\mathbf{V}$: $$ \mathbf{A}^\mathsf{T}\mathbf{A} = (\mathbf{V}\mathbf{\Sigma}^\mathsf{T}\mathbf{U}^\mathsf{T}) (\mathbf{U}\mathbf{\Sigma}\mathbf{V}^\mathsf{T}) = \mathbf{V} (\mathbf{\Sigma}^\mathsf{T}\mathbf{\Sigma}) \mathbf{V}^\mathsf{T} = \mathbf{V} \mathbf{\Sigma}^2 \mathbf{V}^\mathsf{T} $$ 看!$\mathbf{V}$ 就是 $\mathbf{A}^\mathsf{T}\mathbf{A}$ 的特征向量矩阵,$\sigma_i^2$ 是对应的特征值。
求 $\mathbf{U}$: 同理,$\mathbf{A}\mathbf{A}^\mathsf{T} = \mathbf{U} \mathbf{\Sigma}^2 \mathbf{U}^\mathsf{T}$。$\mathbf{U}$ 是 $\mathbf{A}\mathbf{A}^\mathsf{T}$ 的特征向量矩阵。
求 $\sigma_i$: $\sigma_i = \sqrt{\lambda_i(\mathbf{A}^\mathsf{T}\mathbf{A})}$。注意要从大到小排列。
SVD 的威力:低秩逼近与极分解
1. 信息的提纯
SVD 展开式可以写成秩 1 矩阵的加权和: $$ \mathbf{A} = \sigma_1 \boldsymbol{u}_1 \boldsymbol{v}_1^\mathsf{T} + \sigma_2 \boldsymbol{u}_2 \boldsymbol{v}_2^\mathsf{T} + \dots + \sigma_r \boldsymbol{u}_r \boldsymbol{v}_r^\mathsf{T} $$
这就是我们在 Day 1 提到的“数据压缩”的终极形态。 如果 $\sigma_1$ 很大,而 $\sigma_{100}$ 很小,我们完全可以丢掉后面 99 项,只保留第一项。 这就是图像压缩、降噪、推荐系统的核心原理——只保留主要的能量,过滤掉噪声。
2. 极分解 (Polar Decomposition)
在力学中,任何变形都可以分解为“旋转”和“拉伸”。 $$ \mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^\mathsf{T} = (\mathbf{U}\mathbf{V}^\mathsf{T}) (\mathbf{V}\mathbf{\Sigma}\mathbf{V}^\mathsf{T}) = \mathbf{Q} \mathbf{H} $$
- $\mathbf{Q} = \mathbf{U}\mathbf{V}^\mathsf{T}$ 是正交矩阵(代表旋转)。
- $\mathbf{H} = \mathbf{V}\mathbf{\Sigma}\mathbf{V}^\mathsf{T}$ 是正定/半正定矩阵(代表纯拉伸)。 这也是 SVD 给我们的馈赠。
✍️ 课后实战:手算 SVD
- (基础计算) 求矩阵 $\mathbf{A} = \begin{pmatrix} 1 & 1 \ \ 0 & 0 \end{pmatrix}$ 的 SVD 分解。
点击查看解析 / Click to Reveal
【解】
- 计算 $\mathbf{A}^\mathsf{T}\mathbf{A}$: $$ \mathbf{A}^\mathsf{T}\mathbf{A} = \begin{pmatrix} 1 & 0 \ \ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 & 1 \ \ 0 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 1 \ \ 1 & 1 \end{pmatrix} $$
- 求特征值与特征向量: $|\lambda \mathbf{E} - \mathbf{A}^\mathsf{T}\mathbf{A}| = \lambda(\lambda-2) = 0$。 $\lambda_1 = 2 \implies \sigma_1 = \sqrt{2}$。对应单位特征向量 $\boldsymbol{v}_1 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \ \ 1 \end{pmatrix}$。 $\lambda_2 = 0 \implies \sigma_2 = 0$。对应单位特征向量 $\boldsymbol{v}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} -1 \ \ 1 \end{pmatrix}$。 故 $\mathbf{V} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & -1 \ \ 1 & 1 \end{pmatrix}$。
- 求 $\mathbf{U}$: 利用 $\boldsymbol{u}_i = \frac{1}{\sigma_i} \mathbf{A} \boldsymbol{v}_i$(对非零奇异值)。 $$ \boldsymbol{u}_1 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \ \ 0 & 0 \end{pmatrix} \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \ \ 1 \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 2 \ \ 0 \end{pmatrix} = \begin{pmatrix} 1 \ \ 0 \end{pmatrix} $$ 对于 $\boldsymbol{u}_2$,需找一个与 $\boldsymbol{u}_1$ 正交的单位向量。显然 $\boldsymbol{u}_2 = \begin{pmatrix} 0 \ \ 1 \end{pmatrix}$。 故 $\mathbf{U} = \begin{pmatrix} 1 & 0 \ \ 0 & 1 \end{pmatrix}$。
- 组装: $$ \mathbf{A} = \begin{pmatrix} 1 & 0 \ \ 0 & 1 \end{pmatrix} \begin{pmatrix} \sqrt{2} & 0 \ \ 0 & 0 \end{pmatrix} \begin{pmatrix} 1/\sqrt{2} & 1/\sqrt{2} \ \ -1/\sqrt{2} & 1/\sqrt{2} \end{pmatrix} $$
- (概念思考) 证明:若 $\mathbf{A}$ 是正规矩阵($\mathbf{A}^\mathsf{T}\mathbf{A} = \mathbf{A}\mathbf{A}^\mathsf{T}$),则其奇异值等于其特征值的模。
点击查看解析 / Click to Reveal
终章:写在最后
7 天的旅程结束了。 我们从 $3 \times 3$ 的数字方阵出发,见证了它变成空间的运动,看到了子空间的缠绕,剖析了特征值的灵魂,最终在 SVD 的棱镜下看到了它最纯粹的光谱。
线性代数不再是枯燥的计算,它是描述这个宇宙最底层逻辑的语言。 希望这套“直觉重构”的方法论,能成为你未来探索机器学习、量子物理或任何复杂系统的罗盘。
旅程终点,亦是起点。Keep Exploring.