# 特征向量、谱分解与 PCA 问答

[[MCS/day8/00 学习指南|day8 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day8/阅读核验与疑问|阅读核验与疑问]] · 上一篇：[[MCS/day8/05 向量乘积、主元与行列式问答|向量乘积、主元与行列式问答]] · 下一篇：[[MCS/day8/07 消元、秩、LU 与条件数例题|消元、秩、LU 与条件数例题]]

> 来源：[[MCS/day8补充7|day8补充7]]。用途：问答。原有推导、追问与解答保留；阅读时请结合本日核验说明。

## 线性代数核心概念问答整理

---

### 1. 特征值可以为 0 吗？

**答**：可以。

- 特征值为 $0$ 意味着矩阵不可逆（行列式为 $0$），对应方向的向量被“压扁”到原点。
- 从定义看：$Ax = \lambda x$，若 $\lambda = 0$，则 $Ax = 0$，说明存在非零向量 $x$ 被映射到零向量。
- 从行列式看：特征值是 $\det(A - \lambda I) = 0$ 的根，所有特征值的乘积等于 $\det(A)$。只要有一个特征值为 $0$，行列式即为 $0$，矩阵必然不可逆（奇异矩阵）。
- 几何直觉：二维矩阵把平面压成一条直线甚至一个点，被压扁方向对应的特征值就是 $0$。
- 意义：$0$ 特征值说明该变换丢失了某个维度的信息，这也是 PCA 中“低方差方向可丢弃”的底层逻辑。

---

### 2. 特征向量一定要是单位向量吗？

**答**：不一定。

- 特征向量可以任意缩放，只要方向不变即可。
- 由定义 $Ax = \lambda x$，若 $x$ 是特征向量，则对任意非零标量 $k$，有 $A(kx) = k \cdot Ax = k \cdot \lambda x = \lambda(kx)$，所以 $kx$ 同样是特征向量。
- 特征向量的模长是自由的。手算时往往选整数形式（如取 $(1,1)$ 而非 $(1/\sqrt{2}, 1/\sqrt{2})$）让推导清爽。
- NumPy 的 `np.linalg.eig` 返回单位向量，是为了结果唯一、便于比较和正交化，是一种规范化输出，并非数学上的强制要求。
- 核心：方向才是特征向量的灵魂，长度只是为了方便而穿上的外衣。

---

### 3. 所有矩阵都有特征值吗？

**答**：在实数范围内，不是所有矩阵都有实特征值。

- 比如旋转 $90^\circ$ 的矩阵，特征值是虚数 $i$ 和 $-i$。但实对称矩阵一定有实特征值。
- 特征值来自解 $\det(A - \lambda I) = 0$，这是一个多项式方程。实数域里奇数次方程必有实根，但偶数次方程可能没有实根。
- 经典例子：二维旋转 $90^\circ$ 的矩阵 $\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}$，特征方程为 $\lambda^2 + 1 = 0$，解为 $\lambda = \pm i$，全是虚数。
- 几何含义：旋转变换不会把任何向量“留在原方向只缩放”，它总是把向量转走，所以不存在实特征方向。
- 重要例外：实对称矩阵（$A = A^T$）一定拥有实特征值，且特征向量两两正交。这正是协方差矩阵、拉普拉斯矩阵能放心做特征分解的理论保障。

---

### 4. 特征值分解和 SVD 有什么区别？

**答**：特征值分解只适用于方阵，而 SVD 适用于任意矩阵。SVD 可以看作特征值分解的推广。

- 特征值分解：要求 $A$ 必须是方阵，写成 $A = Q \Lambda Q^{-1}$，描述“一个线性变换在自己特征方向上的伸缩”，前提是特征方向和可逆性都存在。
- 现实问题：处理的矩阵常常不是方阵（如 $m \times n$ 的数据矩阵），特征值分解直接失效。
- SVD：把任意矩阵 $A$（$m \times n$）拆成 $A = U \Sigma V^T$，其中 $U$ 和 $V$ 是左右正交基，$\Sigma$ 是对角奇异值矩阵。不要求方阵、不要求可逆，对秩亏矩阵也成立。
- 深层联系：SVD 的奇异值其实是 $A^T A$ 和 $A A^T$ 特征值的平方根。可理解为“绕到 $A^T A$ 这个对称矩阵上做特征分解，再拆回原空间”。
- 直观比喻：特征值分解像给方阵拍“主轴照片”，SVD 像给任意形状的变换做“三视图正交投影”。前者优雅但有门槛，后者笨重却万能。

---

### 5. 为什么 PCA 要用协方差矩阵？

**答**：协方差矩阵是对称的，特征向量正交，可以找到一组正交基。而且协方差矩阵的特征值反映了数据在对应方向上的方差大小。

- PCA 的目标是“找一组正交方向、按方差大小排序”，协方差矩阵完美契合这个目标。
- 假设数据已中心化（均值为 $0$），协方差矩阵 $C = \frac{1}{n} X^T X$ 是实对称矩阵，因此一定有一组两两正交的单位特征向量，天然给出“互不冗余的正交基”，无需额外做 Gram-Schmidt 正交化。
- 关键性质：把数据投影到某个特征向量 $v$ 方向上，投影后的方差恰好等于对应的特征值 $\lambda_v$。所以“特征值越大，这个方向承载的信息（离散程度）越多”。
- PCA 流程：
  1. 对协方差矩阵做特征分解；
  2. 按特征值从大到小排序；
  3. 取前 $k$ 个特征向量拼成投影矩阵，将高维数据压到“保留最大方差”的低维子空间。
- 总结：协方差矩阵把“方差”这个目标巧妙地转化为“特征值大小”这个可计算的量，让几何直觉和代数求解严丝合缝地接在了一起。
