一、PCA降维
1.PCA简介
PCA(主成分分析)是一种数据降维的方法,即用较少特征地数据表达较多特征地数据(数据压缩,PCA属于有损压缩)。
用最大化数据投影后的的方差(让数据更分散)来推导PCA
由上述gif可以看出PCA降维实际上是对现有数据做了一个在新坐标系上做了一个投影。
2.前置知识
1)协方差矩阵
对于这样的一组数据
数据x与y之间的协方差定义为:
Cov(x,y)=E[(x-E(x))(y-E(y))]=E(xy)-E(x)E(y)
(所以对于x=y的分布,cov(x,y)=var(x)=E(x2)-[E(x)]2)
如果我事先使得数据的E(x),E(y),E(z)=0,则cov(x,y)=E(xy)
那么协方差矩阵就等于:
2)矩阵的特征向量和特征值
以上,说明了矩阵的特征分解。
3)矩阵的奇异值分解(svd: singular value decomposition)
3.PCA推导
PCA的目标是找到一组新的正交基 {u1,u2,....uk}(从n维下降到k维),使得数据点在该正交基构成的平面上投影后,数据间的距离最大,即数据间的方差最大。如果数据在每个正交基上投影后的方差最大,那么同样满足在正交基所构成的平面上投影距离最大。
4.PCA的使用
- 初始化X,使得所有样本之间的特征值均值为0,同时应用feature scaling,缩放到-0.5~0.5 ;
- 计算X的协方差矩阵S;
- 对S进行特征分解,得到特征向量和特征值矩阵;
- 按照特征值从大到小排序,要降低为k维,那么取前k个特征值对应的特征向量,就是新的k个坐标轴
- 把X映射到新的坐标系中,完整降维操作;