主成分分析算法是常用的线性降维方法,它的目标是是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留较多的原数据点的特性。
PCA降维的目的,就是为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征具有最大投影信息的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。
主要步骤
(1)去除平均值
(2)计算协方差矩阵
(3)计算协方差矩阵的特征值和特征向量
(4)将特征值排序
(5)保留前N个最大的特征值对应的特征向量
(6)将原始特征转换到上面得到的N个特征向量构建的新空间中(最后两步,实现了特征压缩)
案例
第一步:对所有的特征进行中心化:去均值
求每一个特征的平均值,然后对于所有的样本,每一个特征都减去自身的均值
第二步:求协方差矩阵C
第三步:求协方差矩阵C的特征值和相对应的特征向量
## 将原始特征投影到选取的特征向量上,得到降维后的新K维特征
PCA的优缺点
优点
(1):以方差衡量信息的无监督学习,不受样本标签限制
(2):由于协方差矩阵对称,因此k个特征向量之间两两正交,也就是各主成分之间正交,正交就肯定线性不相关,可消除原始数据成分间的相互影响
(3):可减少指标选择的工作量
缺点
(1):主成分解释其含义往往具有一定的模糊性,不如原始样本完整
(2):贡献率小的主成分往往可能含有对样本差异的重要信息,也就是可能对于区分样本的类别(标签)更有用
(3):特征值矩阵的正交向量空间是否唯一有待讨论
参考文章(28条消息) PCA:详细解释主成分分析_lanyuelvyun的博客-CSDN博客