1、PCA降维的目的
(1)降低维度,减小计算复杂性
(2)减少冗余的特征
2、降维的原理
Z=X*U,X是m*n的矩阵,U是n*k的矩阵,Z是m*k的矩阵,就得到X降维后的降维矩阵Z。具体来说,将一组n维向量降为k维,其目标是选择k个单位正交基,使得原始数据变换到这组基上后,各字段(特征而非样本)两两间协方差为0,而字段的方差则尽可能大。
3、降维矩阵的求解
设原始数据X对应的协方差矩阵为C,Z=X*U为X对U做基变换后的数据。设Z的协方差矩阵为D,
因为U为基向量,所以,最终问题转换为:
引入拉格朗日,得到式子:
所以x投影后的方差即为协方差矩阵的特征值,最佳投影方向就是最大特征值对应的特征向量,次佳为第二大特征值对应的特征向量。
4、PCA算法流程
(1)计算训练集X的协方差矩阵C,
(2)求出C的特征值和特征向量
(3)特征值按照数值降序排列,特征向量按照特征值的顺序依次排列
(4)取前k个向量组成U
(5)Z=XU为降维后的矩阵