简述PCA的计算过程
输入:数据集X={x1,x2,...,xn},需降到k维
① 去中心化(去均值,即每个特征减去各自的均值)
② 计算协方差矩阵1/nX*X^T(1/n不影响特征向量)
③ 用特征值分解方法/SVD奇异值分解求解②协方差矩阵的特征值与特征向量
④ 对特征值从大到小排序,选前k个。将其对应的k个特征向量分别作为行向量组成特征向量矩阵P
⑤ 将数据转换到k个特征向量构建的新空间中,即Y=PX
使用SVD时:左奇异矩阵可用于对行数据的压缩,右奇异矩阵可以用于对列(即特征的维度)的压缩。因此,用SVD分解协方差矩阵实现PCA可以得到两个方向的PCA降维(即行和列),通常只使用左奇异值。
一些形象的解释:
去中心化(即把坐标原点放在数据中心,不然虽然点的相对位置不变,但坐标绝对值不同,导致很难量化点的分散程度。很难找到把点"分散的最开"的方向)
说到“分散程度”,就容易想到方差。
PCA是什么?答:找坐标系
找到数据分布最分散的方向(即方差最大),作为主成分(新的坐标轴)
主要思想:将n维特征映射到k维上,这k维是全新的正交特征也叫主成分。
本质:向量换基