一、理论
1.1 什么是PCA?
PCA(Principal Component Analysis,主成分分析)是一种无监督学习的降维方法。它基于一个简单的前提:一个高维数据集可能包含许多冗余或相关的特征,而这些特征可能并不都包含有价值的信息。PCA的目标是通过线性变换找到数据的主要成分,即数据的最大方差方向,并将数据投影到这些主要成分上,从而在保持数据的主要特性的同时降低数据的维度。
1.2 PCA的理论推导
1.2.1 从方差最大化角度理解PCA
设原始数据集为 X ∈ R m × n X \in \mathbb{R}^{m \times n} X∈Rm×n,其中 m m m是样本数, n n n是特征数(维度)。PCA的目标是将数据投影到一个新的低维空间,使得投影后的数据方差最大化。
假设投影方向为 w ∈ R n \mathbf{w} \in \mathbb{R}^{n} w∈Rn,且为单位向量( ∣ ∣ w ∣ ∣ = 1 ||\mathbf{w}|| = 1 ∣∣w∣∣=1)。投影后的数据为 Y = X w Y = X\mathbf{w} Y=Xw。为了最大化投影后的方差,我们需要解决以下优化问题:
max w Var ( Y ) = max w 1 m ∑ i = 1 m ( Y i − Y ˉ ) 2 = max w 1 m ∣ ∣ X w − Y ˉ 1 ∣ ∣ 2 \max_{\mathbf{w}} \quad \text{Var}(Y) = \max_{\mathbf{w}} \quad \frac{1}{m} \sum_{i=1}^{m} (Y_i - \bar{Y})^2 = \max_{\mathbf{w}} \quad \frac{1}{m} ||X\mathbf{w} - \bar{Y}\mathbf{1}||^2 wmaxVar(Y)=wmaxm1i=1∑m(Yi−Yˉ)2=wmaxm1∣∣Xw−Yˉ1∣∣2
其中, Y ˉ \bar{Y} Yˉ是投影后数据的均值, 1 \mathbf{1} 1是长度为 m m m的全1向量。由于我们已经假设数据是中心化的(即每个特征的均值为0),所以 Y ˉ = 0 \bar{Y} = 0 Yˉ=0,优化问题简化为:
max w Var ( Y ) = max w 1 m ∣ ∣ X w ∣ ∣ 2 = max w w T ( 1 m X T X ) w s.t. ∣ ∣ w ∣ ∣ = 1 \max_{\mathbf{w}} \quad \text{Var}(Y) = \max_{\mathbf{w}} \quad \frac{1}{m} ||X\mathbf{w}||^2 = \max_{\mathbf{w}} \quad \mathbf{w}^T \left( \frac{1}{m} X^T X \right) \mathbf{w} \quad \text{s.t.} \quad ||\mathbf{w}|| = 1