PCA(Principal Component Analysis)是无监督的降维算法,它的核心思想是:希望找到一个超平面,把所有样本投影到该超平面;并且该超平面应该具有以下性质:
- 最近重构性
- 样本点到这个超平面的距离足够近。
- 最大可分性
- 样本点在这个超平面上的投影能尽可能分开。
最近重构性和最大可分性都是为了降低信息损失,以免降维之后信息损失太多。
PCA算法的执行步骤:
- 对数据进行去中心化
- 假定数据投影到了一个新的坐标系
- 计算每条数据在新的坐标系下的坐标
- 求解优化问题
- 优化最近重构性的目标函数
- 基于欧式距离构造优化函数。
- 优化最大可分性的目标函数
- 基于方差最大构造目标函数
- 实际上以上两种优化问题的目标函数一致
- 计算样本协方差矩阵
- 对协方差矩阵做特征值分解
- 取最大的个特征值所对应的特征向量
- 输出投影矩阵
- 优化最近重构性的目标函数
- 投影矩阵与样本均值相乘就可以把数据投影到低维空间中。
PCA中的选取方法:
- 从重构性的角度进行选取
为重构性设置一个阈值,例如
其中,为特征值;根据该公式确定的值。
- 在值不同的低维空间中对k近邻分类器(或其它开销较小的学习器)进行交叉验证来选取较好的值。
降维舍弃部分信息的作用:
- 使样本采样密度增大
- 具有去噪的效果,特征值小的特征向量往往与噪声有关。
降维的效果:
- 特征发生变化,造成可解释性不强。
- 对数据进行去噪。