昨天看Robust Principal Component Analysis时,想起了上学习学习的PCA,在这里参考Peter Harrington的《机器学习实战》整理了上学期学习的PCA算法法(原理+Python实现),欢迎小伙伴们交流。
1.PCA原理
PCA是线性代数里面的K-L变换,是一种在均方误差准则下失真最小的变换,即将原空间变换到特征向量空间内,数学可表示:
Ax=λx
特征向量表示不同频率和特征值表示其幅度。
具体操作:在PCA中,也就是将数据从原来的坐标系转换到到新的坐标系,新坐标系的选择由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选择的和第一个新坐标轴正交且具有最大方差的方向,一次重复该过程,重复次数为原始数据特征的数目,事实发现大部分方差都包含在最前面的几个新坐标轴中,因此,可以忽略余下的坐标轴,即实现了对数据的降维。
2.PCA特点
优点:降低数据的复杂性、识别重要的多个特征
缺点:可能损失有用信息
适用数据类型:数值型数据、
3.PCA实现