之前我经常使用PCA,但是我发现我没有很懂PCA,这次重新学习机器学习,我想想彻彻底底地搞懂一下,网上也看了很多的资料,似乎对其的理解有了更加进一步的认识。我感觉需要从以下四块来认识PCA。
1. PCA是干什么? 就是说PCA解决了什么问题?
2.PCA的数学原理是什么?
3.PCA用python 什么包调用比较方便,理解每个参数的意义?
4.用PCA来实战一个例子?
以上是我的学习思路,PCA-Principal Component Analysis-主成分分析 也就是机器学习中的无监督学习
PCA干什么用的
这个干什么用,网上自然有很多的说明,主要就是降维,我以前一直不明白,降低纬度以后,每个纬度代表什么,其实不用这么死理解,需要换个思路,从主成分角度+协方差的角度去思考这个问题,我相当于是建立了一个新的N维坐标,并没有具体的含义,但是按照eigenValue 从大到小排序,使得前几个纬度可以解释大部分的方差变异。
有啥用,就是减少了数据量,方便后面计算,同时可以看到在前几个主成分上,所有样本的分布情况,这样可以看个分类。
#PCA的数学原理是什么?
这里涉及了矩阵的分解,SVD,之前有详细的推导,大家也可以看网上有很多的解释,我主要想说的,可以用当时我考研复习矩阵的时候的一个想法来理解,就是这个其实是矩阵本身的一个性质,所以叫无监督学习,自己学习,推导出自己的一个性质,自己搞自己的感觉,没有外力的加入。
看下面这个理解就很OK
https://www.cnblogs.com/sweetyu/p/5085798.html
https://blog.csdn.net/u012421852/article/details/80458340
https://zhuanlan.zhihu.com/p/37777074
#PCA用