机器学习—主成分分析PCA

185 阅读2分钟

前言:维归约

维归约的目的

  • 避免维灾难
  • 减少算法消耗的时间和空间
  • 便于数据可视化
  • 删除不相关特征并降低噪声

怎么去实现维归约? 主成分分析就是其中的一种方式。

PCA: Principle Componet Analysis

现在有一矩阵,如果我们想使用一维数据来表示这些数据,但有希望尽量保留原始的信息,我们应该怎么办?

一种直观的看法是:希望投影后的投影值尽量的分散开来。这种分散程度,在数学上可以用方差来表示。很自然就可以联系起,方差越大,特征所带的信息量就越多。

对于二维转一维的问题来说,找到那个使得方差最大的方向就可以了。不过对于更高维,还有更多问题需要解决。

与之前相同,我们找到一个方向,使得投影后的方差最大,这样就完成了第一个方向的选择,接下来,我们要继续选择第二个投影方向。从直观上说,为了让两个字段尽可能表示更多的原始信息,我们是不希望他们之间存在(线性)相关性的,因为相关性就意味着两个字段不是完全独立,是存在重复表示的信息的。

所以引入协方差

image.png

协方差为0,就表示两个字段完全独立。

由此,我们就得到了降维问题的优化目标:

将一组N维向量降为K维,其目标是选择K个单位(模为1)正交基,使得原始数据变换到这组基上后,各字段两两之间的协方差为0,而字段的方差则尽可能的大。

image.png

image.png

总结

  • 降低维度,要注意使得方差最大协方差为0
  • 协方差矩阵就表示了协方差
  • 优化目标为:找到一个矩阵P,满足PCPT^T是一个对角矩阵,而且对角元素从大到小依次排列,那么P的前K行就是要寻找的基。用P的前K行注册的矩阵乘以X就使得X从N维降到了K维。(C是X的协方差矩阵)