降维
所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。那么为什么我们需要对数据降维?
- 数据维度太高,样本量稀疏,给机器学习算法带来巨大的时间性能花费。
- 有些特征之间存在相关关系,增加了分析难度,所以用更少数量的不相关的特征代替。
接下来介绍一下常用降维方法。
同时对降维性能的评估,一般比较降维前后学习器和性能,进一步如果降维到了二维或者三维,则可以通过可视化技术 来直观判断。
PCA
如果我们要把原数据投影到一个低维空间,怎么衡量我们投影后的数据好坏呢?
我们要认识到数据的方差代表着数据集的区分度,也就是蕴含‘信息’的程度,那么这就可以得到PCA的第一种推导方式,最大化方差。以下过程都假设新坐标为正交基。样本再w下坐标即为
方差最大化
协方差矩阵可以写为
其对角线分别对应各个变量的方差,而第 i 行 j 列和 j 行 i 列元素相同,表示 i 和 j 两个变量的协方差。如果投影后数据的协方差矩阵除对角线外的其它元素化为 0,并且在对角线上将元素按大小从上到下排列(变量方差尽可能大),这样我们就达到了优化目的。
而新的协方差矩阵和旧协方差矩阵关系如下
那么要找的 投影矩阵P 是能让原始协方差矩阵对角化的 P。换句话说,优化目标变成了寻找一个矩阵 P,满足 P C P T PCP^T PCPT 是一个对角矩阵,并且对角元素按从大到小依次排列,那么 P 的前 K 行就是要寻找的基,用 P 的前 K 行组成的矩阵乘以 X 就使得 X 从 N 维降到了 K 维并满足上述优化条件。
又因为协方差矩阵是实对称矩阵,拥有如下性质
- 实对称矩阵不同特征值对应的特征向量必然正交。
- 设特征值 λ \lambda λ 个数为 r,则必然存在 r 个线性无关的特征向量对应于 λ \lambda λ ,因此可以将这 r 个特征向量单位正交化
所以