美文网首页
PCA怎么玩儿

PCA怎么玩儿

作者: cheerss | 来源:发表于2020-01-29 11:49 被阅读0次

本文的思路:先说明PCA的目的,然后达到目的思路,以及有了思路以后我们可以利用什么工具,最后把工具集成到思路中。

PCA要干嘛

PCA的名字叫做主要成分分析,顾名思义就是找出向量中的主要成分。那么什么才是主要成分?我认为这个主要的定义取决于你的目的,PCA的目的是数据降维的,我们对数据降维的基本要求就是,维度要降下来,但是数据之间依然要能相互区分。因此,降维就是要删掉大家共有的信息,留下各自独有的信息(这一点和信息论中出现越多的信息量越小的观点类似)。

举个例子:考虑以下一组二维点:(9, 1), (25, 1), (7, 1), (-6, 1)。如果让你选择删掉一个维度,应该删哪个呢?当然是第二个,因为第二个维度大家都一样,即使删掉第二个维度的数字各个点依然泾渭分明,有很大的区分度,但是如果删掉第一个维度,所有点的坐标就剩下个1,全都一样了,数据的信息也就丢失了。

如果情况变得更加复杂一点,如下图。数据点并非简单的沿着坐标轴变化很小,而是沿着F_2变化很小,沿着F_1
变化很大,所以不能简单地丢掉坐标中的某一维度,而需要用PCA来解决。通过PCA变换,将数据从2维降维到1维。此时我们称F_1是主要成分,F_2是次要成分。

当然,PCA可以处理的是任意N维的数据,将其降维到n(n<N)维空间,这里用N=2,n=1举例,其他高维的情况是类似的。

PCA应该怎么干

通过上述两个例子可以发现,主要成分的方向其实也就是方差最大的方向。所以我们的目的就是要找出方差最大的方向。

那就先求呗,先把所有点各个维度的方差都求出来得到协方差矩阵,这里因为是二维点。所以协方差矩阵就是2 \times 2的矩阵。

然后怎么知道它沿着哪个方向方差最大呢?这里想到了特征值和特征向量,因为特征值和特征向量的几何意义就是找出矩阵沿哪个方向(特征向量的方向)缩放了多少(特征值大小)。所以求出协方差矩阵的特征向量和特征值,最大的特征值对应的特征向量的方向就是主成分的方向。

工具

特征值和特征向量(也就是矩阵的相似对角化)

对于点的矩阵X的协方差矩阵A,有:

A \times (v_1, v_2) = (\lambda_1v_1,\lambda_2v_2),其中v_1等是A的特征向量,\lambda_1
等为特征值。这个等式也可以写成:

AV = V \Lambda ,其中V是所有特征向量组成的矩阵,\Lambda是对角阵,对角线是所有的特征值。

集成

在上述公式中,找出\Lambda中最大的特征值对应的特征向量就是投影方向(假设是v_1),则Y = Xv_1就是投影后的点沿着F_1
方向的坐标。

相关文章

  • PCA怎么玩儿

    本文的思路:先说明PCA的目的,然后达到目的思路,以及有了思路以后我们可以利用什么工具,最后把工具集成到思路中。 ...

  • 也说旅游(二)

    “ 谁?” “去哪儿?” “怎么去?” “怎么玩儿?” “玩儿什么?” “玩儿...

  • 【R】提取 PCA 结果并利用 ggplot2 进行可视化

    最近,师妹在利用 R 对 PCA 结果进行可视化时遇到了一些问题,她说不太明白 ggplot2 怎么用在 PCA ...

  • 2020-08-25--PCA降维01

    主要内容 PCA简介 使用梯度上升法解决PCA问题 1.PCA简介 PCA(Principal Component...

  • PCA降维

    参考:如何理解主元分析(PCA)?PCA的数学原理转自:python实现PCA ★ PCA思路: 我们的初始矩阵为...

  • 小白报到

    这个应用怎么玩儿?看我玩儿出花样!

  • PCA

    PCA PCA KPCA 代码详见:https://github.com/AresAnt/ML-DL PCA: P...

  • 12-机器学习练习与特征工程、评价指标

    一.使用PCA识别手写数字 PCA:Principal Component Analysis(主成分分析)PCA通...

  • PCA在R语言中的实现

    PCA 简介 PCA(Principal Component Analysis),即主成分分析。PCA是一种研究数...

  • 浅谈PCA降维原理

    PCA是什么 PCA(Principal Component Analysis)是一种常用的数据分析方法PCA通过...

网友评论

      本文标题:PCA怎么玩儿

      本文链接:https://www.haomeiwen.com/subject/noevthtx.html