BackIcon主成分分析 PCA

2026年3月25日

主成分分析 PCA

本文目的:证明通过奇异值分解(SVD)找到的变换矩阵 VV,可以完美地把原本有相关性的高维数据 XX,转换成完全不相关的低维数据 CC

起点与目标

  • 输入数据: 我们有一个 m×nm \times n 的矩阵 XX(代表 mm 个样本,nn 个特征),并且已经去中心化(均值为 0)。
  • 原始协方差: 因为均值为 0,数据 XX 的协方差矩阵可以表示为 Var[x]=1m1XX\text{Var}[x] = \frac{1}{m-1}X^\top X。这个矩阵通常不是对角阵,意味着原始特征之间存在线性相关性。
  • 目标: 找到一个新的表示 CC。我们希望 CC 的各个特征之间是完全独立、线性无关的。在数学上,这就等价于要求 CC 的协方差矩阵 Var[c]\text{Var}[c] 必须是一个对角矩阵(非对角线元素全为 0 的矩阵)。

引入奇异值分解 (SVD)

为了找到这个变换,引入矩阵的奇异值分解(SVD)。任何一个矩阵 XX 都可以被分解为三个矩阵的乘积:

X=UΣVX = U\Sigma V^\top

这三个矩阵各具性质,如下:

  • UUVV 都是正交矩阵。正交矩阵的最重要性质就是:它们自己的转置乘以自己等于单位矩阵 II。所以:UU=IU^\top U = IVV=IV^\top V = I
  • Σ\Sigma 是一个对角矩阵(对角线上是奇异值,其余都是 0)。既然是对角阵,那么它的转置等于它本身 Σ=Σ\Sigma^\top = \Sigma,且它与自己相乘就是对角线元素的平方 Σ2\Sigma^2

计算原始协方差

现在,把 SVD 的公式代入到原始的 XXX^\top X 中,。根据矩阵转置的规则 (AB)=BA(AB)^\top = B^\top A^\top

XX=(UΣV)(UΣV)X^\top X = (U\Sigma V^\top)^\top (U\Sigma V^\top) XX=(VΣU)(UΣV)X^\top X = (V^{\top\top} \Sigma^\top U^\top) (U\Sigma V^\top) XX=VΣUUΣVX^\top X = V \Sigma^\top U^\top U \Sigma V^\top

继续:

  1. 因为 UU 是正交阵,所以中间的 UU=IU^\top U = I(被消去了)。
  2. 因为 Σ\Sigma 是对角阵,所以 Σ=Σ\Sigma^\top = \Sigma

公式简化为: XX=VΣIΣV=VΣ2VX^\top X = V \Sigma I \Sigma V^\top = V \Sigma^2 V^\top

结论XX 的协方差可以表示为 Var[x]=1m1VΣ2V\text{Var}[x] = \frac{1}{m-1} V\Sigma^2 V^\top。(这个协方差)

证明 CC 的协方差是对角阵 (最后一段)

证明C协方差是对角阵就完成了降维工作

证明:如果用 VV 作为变换矩阵,把 XX 投影成 CC(即 C=XVC = XV),新数据 CC 的协方差矩阵是对角阵

我们来计算 CC 的协方差: Var[c]=1m1CC\text{Var}[c] = \frac{1}{m-1}C^\top C

C=XVC = XV 代入进去:

CC=(XV)(XV)C^\top C = (XV)^\top (XV) CC=VXXVC^\top C = V^\top X^\top X V

注意到中间出现了 XXX^\top X!我们在上一步已经算出来 XX=VΣ2VX^\top X = V\Sigma^2 V^\top 了,直接把它替换进去: CC=V(VΣ2V)VC^\top C = V^\top (V\Sigma^2 V^\top) V

再次利用正交矩阵的性质(VV=IV^\top V = I),首尾两端都被消去了:

CC=(VV)Σ2(VV)C^\top C = (V^\top V) \Sigma^2 (V^\top V) CC=IΣ2I=Σ2C^\top C = I \cdot \Sigma^2 \cdot I = \Sigma^2

最终结论: Var[c]=1m1Σ2\text{Var}[c] = \frac{1}{m-1}\Sigma^2

结论

因为 Σ\Sigma 是一个对角矩阵,那么它的平方 Σ2\Sigma^2 毫无疑问也是一个对角矩阵。 这就完美证明了:如果我们用 SVD 分解出来的右奇异向量矩阵 VV 对原始数据进行线性变换(C=XVC=XV),得到的新数据 CC 的协方差矩阵是对角的。也就是说,CC 中的各个元素彼此之间是线性无关的。PCA成功实现


最核心的技巧就是利用正交矩阵的性质(UU=I,VV=IU^\top U = I, V^\top V = I)来消除复杂的项

推荐阅读: 奇异值和奇异矩阵

0