PCA算法推导

一、PCA降维

1.PCA简介

PCA(主成分分析)是一种数据降维的方法,即用较少特征地数据表达较多特征地数据(数据压缩,PCA属于有损压缩)
用最大化数据投影后的的方差(让数据更分散)来推导PCA

PCA算法推导_第1张图片
PCA降维过程

由上述gif可以看出PCA降维实际上是对现有数据做了一个在新坐标系上做了一个投影。

2.前置知识

1)协方差矩阵

对于这样的一组数据

PCA算法推导_第2张图片

数据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)
那么协方差矩阵就等于:
PCA算法推导_第3张图片

2)矩阵的特征向量和特征值

以上,说明了矩阵的特征分解。

3)矩阵的奇异值分解(svd: singular value decomposition)

3.PCA推导

PCA的目标是找到一组新的正交基 {u1,u2,....uk}(从n维下降到k维),使得数据点在该正交基构成的平面上投影后,数据间的距离最大,即数据间的方差最大。如果数据在每个正交基上投影后的方差最大,那么同样满足在正交基所构成的平面上投影距离最大。

PCA算法推导_第4张图片

PCA算法推导_第5张图片

PCA算法推导_第6张图片

4.PCA的使用

  1. 初始化X,使得所有样本之间的特征值均值为0,同时应用feature scaling,缩放到-0.5~0.5 ;
  2. 计算X的协方差矩阵S;
  3. 对S进行特征分解,得到特征向量和特征值矩阵;
  4. 按照特征值从大到小排序,要降低为k维,那么取前k个特征值对应的特征向量,就是新的k个坐标轴
  5. 把X映射到新的坐标系中,完整降维操作;

参考:https://zhuanlan.zhihu.com/p/55297233

你可能感兴趣的:(PCA算法推导)