在机器学习中,数据通常表示成向量形式输入到模型中进行训练。在对数据进行处理和分析时,会极大的消耗资源甚至产生维度灾难。所以需要进行降维,用一个低维度的向量表示高维度的特征。常见的降维方法有主成分分析、线性判别分析、等距映射、局部线性嵌入、拉普拉斯特征映射、局部保留投影等。
一、PCA最大方差理论
PCA是一种线性、非监督、全局的降维算法。
如何定义主成分?从这种定义出发如何设计目标函数使得降维达到提取主成分的目的?针对这个目标函数如何对PCA问题进行求解?PCA旨在找到数据中的主成分,利用这些主成分表征原始数据,从而达到降维的目的。主成分所在的轴称为主轴。在信号处理领域,认为信号具有较大的方差,噪声具有较小的方差,信号与噪声之比成为信噪比,信噪比越大则意味这数据质量越好。所以PCA的目标是最大化投影误差,也就是让数据在主轴上投影的方差最大。
根据线性代数相关知识可以发现,x投影后的方差就是协方差矩阵的特征值。找到最大方差也就是协方差矩阵的最大特征值,最佳投影方向就是最大特征值所对应的特征向量。次佳投影方向位于最佳投影方向的正交空间中,也就是第二大特征值对应的特征向量。
所以总结出PCA算法的计算流程为:
- 对数据样本进行中心化处理
- 求样本协方差矩阵
- 对协方差矩阵进行特征值分解,将特征值从大到小排列
- 取特征值前d大对应的特征向量
,通过以下映射将n维样本映射到d维
