主成分分析(PCA)是统计学和线性代数中的一种方法,通过变化最大的相互正交方向来表示多变量数据。它将原始变量转换为称作主成分的线性组合,并按各主成分所解释的方差大小排序。仅保留前几个主成分即可实现降维。在机器学习中,普通主成分分析属于无监督学习方法,因为确定主成分方向时不使用目标标签。(arxiv.org)
几何解释与起源
主成分分析将观测值视为向量空间中的点。将各变量减去其均值后,第一主成分方向就是使观测点投影后的方差最大的轴。第二主成分方向在与第一方向垂直的约束下,使投影方差最大;后续方向也遵循同样的规则。得到的各主成分得分互不相关,但这通常并不意味着它们在统计上相互独立。(arxiv.org)
一种等价的解释是:寻找一个低维线性子空间,使中心化后的观测点到该子空间的垂直距离平方和最小。卡尔·皮尔逊于1901年提出了这种寻找最佳拟合直线和平面的表述。普通线性回归区分响应变量与预测变量,而这种几何表述在给定尺度下对各测量坐标一视同仁。(pca.narod.ru)
例如,对于一个细长的二维点云,第一主成分方向沿着它的长轴。投影到该轴上,比投影到其他任何单一方向都能保留更多的变异;与之垂直的第二方向则描述点云的宽度。(arxiv.org)
数学表述
设 (X) 为一个 (n\times p) 的中心化数据矩阵,每行对应一个观测,每列对应一个变量,其中 (n>1)。其样本协方差矩阵为
[ S=\frac{1}{n-1}X^{\mathsf T}X. ]
由于 (S) 是对称半正定矩阵,它具有一组标准正交的特征向量 (v_j),以及按 (\lambda_1\geq\cdots\geq\lambda_p) 排序的非负特征值。第一主成分方向由以下优化问题确定:
[ \max_{|v|_2=1}v^{\mathsf T}Sv. ]
其解是与 (\lambda_1) 对应的特征向量。后续方向则在与此前各方向正交的约束下,求解相应的优化问题。(arxiv.org)
令 (V_k=[v_1,\ldots,v_k]),则降维后的坐标(即得分)为 (T_k=XV_k)。这些得分的样本协方差矩阵为对角矩阵,对角元素为 (\lambda_1,\ldots,\lambda_k)。在中心化坐标下,重构结果为
[ \widehat X_k=XV_kV_k^{\mathsf T}. ]
加回原始各列的均值,即可将近似结果还原到原始坐标系中。在所有 (k) 维正交投影中,这一投影使重构误差的平方和最小。因此,方差最大化与以重构误差为损失函数的优化得到的是同一个解。(arxiv.org)
计算与解释
主成分分析可以直接通过奇异值分解计算:
[ X=U\Sigma V^{\mathsf T}. ]
右奇异向量给出主成分方向,(U\Sigma) 则给出相应的得分。若对应的奇异值为 (\sigma_j),则 (\lambda_j=\sigma_j^2/(n-1))。中心化数据最多有 (\min(n-1,p)) 个非零主成分。因此,奇异值分解将主成分分析与低秩矩阵近似联系起来,并提供了一种无需显式构造协方差矩阵的计算途径。(arxiv.org)
定义一个主成分的系数通常称为载荷,不过有些约定仅将特征向量乘以对应特征值的平方根所得的量称为载荷。得分描述观测,载荷则描述各变量的贡献。将一个方向的符号反转,会使其得分的符号也反转,但不会改变数据的表示。若存在重复特征值,同一特征子空间可以采用不同的标准正交基,因此其中的各个方向并不唯一。(arxiv.org)
尺度处理与主成分选择
中心化与尺度缩放是不同的操作。基于协方差的主成分分析保留变量的原始尺度,因此改变计量单位可能改变主成分方向。若将非恒定变量标准化为单位方差,则得到基于相关性的主成分分析。这可以避免数值尺度较大的变量自动占据主导地位,但也会将关注点从绝对变异转向相对于各变量自身离散程度的变异。(arxiv.org)
在总方差为正的前提下,第 (j) 个主成分解释的方差比例为
[ r_j=\frac{\lambda_j}{\sum_{\ell=1}^{p}\lambda_\ell}. ]
累积方差解释率衡量前 (k) 个主成分保留了多少变异。碎石图以主成分编号为横轴、特征值为纵轴,帮助识别特征值下降趋势开始趋于平缓的位置。无论是图中直观的“肘部”,还是固定的方差阈值,都不能在所有情况下确定合适的维数;如何选择取决于分析目标。(arxiv.org)
在评估预测性能时,均值、尺度和主成分方向都只能根据训练数据估计,再将同一个拟合好的变换应用于留出的观测数据。在交叉验证中,必须在每一折的训练部分内单独拟合预处理步骤;否则,评估数据中的信息可能造成数据泄漏(机器学习)。(scikit-learn.org)
应用、局限与变体
主成分分析可用于高维测量数据的可视化、压缩、降噪和探索性分析,这类数据包括基因表达数据。与特征选择不同,它构造的是变量的组合,而不是从原始测量变量中选取一个子集。其有效性取决于占主导地位的变异是否对应所关注的结构。方差大并不一定意味着对预测有用,而且普通主成分分析并不以最大化目标类别之间的分离程度为优化目标。(arxiv.org)
主成分分析捕捉的是线性结构,并且可能受到离群值的强烈影响。其主成分描述的是统计变异,不一定对应因果机制。相关方法对这些假设作了调整:核主成分分析使用核方法获得非线性表示;稀疏主成分分析促使大量系数为零;概率主成分分析则引入带有各向同性高斯噪声的潜变量模型。增量算法分批处理数据,而当完整分解的计算成本过高时,随机化分解可以近似求得前几个主成分。(arxiv.org)