降维算法之PCA (主成分分析)
1 PCA简介
PCA(Principal components analysis) 译为 主成分分析,是最基本的一种无监督降维算法,简单的 PCA 可以理解是在空间上对多特征进行坐标系的重划分,并且保证新的特征之间不存在线性相关,以及损失的信息尽可能少。
2 可视化理解
在上图中,我们假设存在一个二维数据集,而PCA则是希望对空间坐标系进行重划分,那么我们可以假定绿线是我们重新定义的 X X X 轴,与之相垂直的直线可以定义为 Y Y Y 轴(图示中没有画出)。
此时我们的白点数据在新的 X X X 轴(绿线)上得到投影点为蓝点,目的是希望蓝点之间的方差最大化。在我们的直观理解中,这些投影后的点很能够反应数据降维前在空间上的关系,只不过损失了部分信息。
PCA的目标是找到我们口中的新的坐标轴(方向),以下的数学推导就是沿着它进行的。
3 PCA原理推导
PCA原理推导有两种思路,分别是最小投影距离与最大投影方差,本质上是相同的,这里我们只介绍最大投影法查推导。
以下推导中,均假设数据集有 n n n 个样本, m m m 个特征,且数据集矩阵为 D = [ X 1 , X 2 . . . X m ] D=[X_1,X_2...X_m] D=[X1,X2...Xm],其中 X i X_i Xi 代表所有样本第 i i i 个特征的列向量。第一个主成分的方向向量为 u u u 。
① 中心化处理
中心化处理是为了方差公式书写表达的方便,我们已经提前进行了中心化,投影方差可以直接计算投影距离的平方。
对 n n n 个样本的第 i i i 个特征列向量 X i X_i Xi 的数据序列 { x 1 , x 2 . . . x n } \{x_1,x_2...x_n\} {
x1,x2...xn},我们有
μ = 1 n ∑ i = 1 n x i \mu = \frac{1}{n}\sum_{i=1}^nx_i μ=n1<