深入浅出主成分分析(PCA):从原理到推导的完全指南
编辑在数据科学和机器学习领域,我们经常面临“维度灾难”的挑战——数据点的特征维度过高,不仅导致计算复杂度急剧增加,还可能因为特征间的相关性而引入噪声,影响模型效果。然而,在许多高维数据中,真正承载主要信息的“有效维度”可能并不多。主成分分析(Principal Component Analysis, PCA)正是解决这一问题的经典利器。本文将带您从PCA的直观概念出发,一步步深入其数学核心,完整推导出如何通过最小化重建误差来找到最佳的降维投影方向,最终揭示其与协方差矩阵特征分解之间的深刻联系。
什么是降维与主成分分析(PCA)
对于一些数据点,其特征维度看起来很高,其中独立带来信息的维度可能并不多。例如在三维空间中的一条空间直线,它可以用一张二维平面无损的表示。上述例子类似于给定一个向量组,这个向量组中存在有冗余向量,即向量组中的向量之间是线性相关的。当向量组去除冗余向量后,可以降低计算复杂度和空间复杂度。此外,对于一些无法用低维的情况来表示高维的情况,其可能仅需要少数的特征/维度就能表示绝大部分的情况,对于计算资源有限等情况是非常有帮助的。
上述描述的就是降维(Dimensionality Reduction),其目标是将高维的数据点变换为低维空间数据点,并尽可能的减少信息的损失。
PCA的核心思想:最小化重建误差
若采用投影的方式将高维空间中的数据点投影到低维空间的数据点,则这个问题可以建模为一个有约束的优化问题:最小化总重建误差。采用该目标的线性降维方法被称为主成分分析(Principal Components Analysis,PCA)。令X = [\pmb x_1^\top; \cdots; \pmb x_m^\top] \in \mathbb{R}^{n \times m}, \pmb x_i \in \mathbb{R}^n, \pmb y_j \in \mathbb{R}^n, \|\pmb y_j\|_2 = 1,则有:
不可或缺的前提:数据中心化
该优化模型表示的是在互相正交的所有n维向量中,找到k(k \ll m)个总重建误差最小的那几个向量作为基向量。需要注意的是,在坐标系里,一个方向向量\pmb y_j是采用其终点坐标表示的,这里有一个隐藏前提:它的起点是在原点。在目标函数中\pmb x_i^\top \pmb y_j描述的是将向量\pmb x_i投影到起点在原点的向量\pmb y_j上。因此,应用PCA方法进行降维时,有一个隐藏前提:数据点X的质心被移动到了原点,即中心化了的数据。
从向量到矩阵:PCA的数学推导
为了方便,将上述优化问题转化为矩阵和向量语言进行描述。
目标函数的矩阵化
首先,数据点向由k个基向量张成的子空间的投影可以表示为:
其中
进而目标函数可以写为:
而这个表达式恰好是矩阵的 Frobenius范数的定义,因此可以将上式写为:
进而上述优化问题可以表述为:
其中I_k是一个k阶的单位矩阵。
利用迹(Trace)进行化简
根据F范数的性质,对于目标函数有下式:
根据约束条件,上述迹可以化简:
进而有:
由于两者均为对称矩阵,则上式可以展开如下:
由于决策变量为Y,常数\mathrm{tr}(X X^\top)不影响优化问题的解。此外,利用迹的循环性质,上述优化问题可以表述为:
谱分解与最终求解
令C = X^\top X,有C^\top = C,进而采用谱分解,存在单位正交矩阵Q,是得C = Q\Lambda Q^\top,进而上述优化问题可以转化为:
根据单位正交矩阵的性质,令Z = Q^\top Y,有:
该优化问题可以采用KKT条件进行求解,也可以采用放缩的方式来进行求解。具体如下:定义偏序关系\lambda_1 \ge \lambda_2 \ge \cdots,因此,应该把权重尽可能地分配给最大的那些 \lambda。
- 为了最大化第一项 \pmb z_1^\top \Lambda \pmb z_1,在\pmb z_1^\top \pmb z_1 = 1的约束下,应该让\pmb z_1的所有质量都集中在\lambda_1对应的分量上。所以,最优的\pmb z_1 就是[1, 0, \cdots, 0]^\top。
- 为了最大化第二项\pmb z_2^\top \Lambda \pmb z_2,同时要满足与\pmb z_1正交的约束,应该让\pmb z_2的所有质量都集中在下一个最大的\lambda_2对应的分量上。所以,最优的\pmb z_2就是[0, 1, 0,\cdots, 0]^\top。
- 以此类推,直到\pmb z_k。
所以,最优的矩阵Z是这样的一个n \times k矩阵:
它的前 k 行是一个 k \times k 的单位矩阵,其余行全是 0。由于Z = Q^\top Y,进而可以反解Y = QZ,即:
结论与直观理解
为了最小化重建误差,应该选择的投影基Y,是由原始数据协方差矩阵X^\top X的前k个最大特征值所对应的特征向量组成的矩阵。上述推导的直观理解就是最大化投影后的数据的离散程度(方差)。在数据分析中,信息就是差异或变化。若两个数据没有差异,则不会带来额外的信息。例如,“全班同学的身高都是170厘米”这句话所含的信息量,远小于“全班同学的平均身高是170厘米,其中最高的同学的身高是185厘米”。第二个例子中身高具有差异(方差),带来了额外的信息。PCA正是通过寻找能最大化保留这种差异性的投影方向,来实现最有效的信息压缩。
- 0
-
分享