理论-降维PCA(主成分分析)

以下内容笔记出自‘跟着迪哥学python数据分析与机器学习实战’,外加个人整理添加,仅供个人复习使用。


前面有进行线性判别分析的总结,LDA是有监督降维,而主成分分析是无监督降维,使用场景更多。

如果以相同的思想,即投影后数据点的类间与类内距离来衡量投影效果,主成分分析由于没有标签,无法分析类间与类内距离,此时,主成分分析的思想是方差,即看哪些特征的方差更大。

基本概念

  1. 向量表示:
    在这里插入图片描述
    图中向量可以表示为(3,2),也可以表示为线性组合
    在这里插入图片描述
    其中,(1,0)和(0,1)称为二维空间中的一组基。
  2. 基变换
    常见坐标系是正交的,即内积为0,两两相互垂直,并且线性无关。(如果不垂直,那么会线性相关,即能够用一个表示另一个,此时基就会失去意义,因此基的出发点就是正交!)
    基变换是将一个向量从一组基变换到另一组基中,例如:将向量(3,2)通过新坐标系的两个基,映射到为新的位置
    在这里插入图片描述
  3. 方差与协方差
    方差相当于特征辨识度,值越大越好。协方差为不同特征之间的相关程度,协方差计算:
    在这里插入图片描述
    如果两个变量的变化趋势相同,协方差值会增大,表示正相关。

PCA优化目标

依托于上面的概念,主成分分析的降维目标就是:找到一组基,使得变换后的特征方差越大越好

同样是找投影方向,我们已经知道,找到一个投影方向后,多个特征在这个投影方向上相当于是降为一个。但一般情况下不降到一维,需要找第二个投影方向。方差第二大的方向理论上应该与第一个方向非常接近,甚至重合,才能保证方差最大。但这样可能会导致方向之间线性相关(即不是相互垂直正交的),所以在寻找方差最大的同时,还要使各个投影方向正交,即协方差为0。

因此,此时我们要找的基,一方面要尽可能使投影后方差最大,另一方面要在其正交方向上继续寻找方差第二大的方向。
在这里插入图片描述
如上图为X的协方差矩阵,主对角线元素为各个特征的方差(均值为0时),非主对角线上元素恰好是特征之间的协方差。按照目标函数的要求,首先应该使得方差越大越好,且确保协方差为0,即需要对协方差矩阵进行对角化处理。

已知从一个n行n列的实对称阵中一定可以找到n个单位正交特征向量E=(e1,e2,…,en),完成对角化操作。
在这里插入图片描述
目标:将一组N维向量降维K维,选择K个单位正交基,使原始数据变换到这组基上之后,,各字段两两协方差为0,且各字段本身的方差尽可能大。当得到其协方差矩阵后,进行对角化操作。

对角线上的元素就是矩阵的特征值,与线性判别分析类似。
流程:

  1. 数据预处理,数值型数据;
  2. 计算样本数据的协方差矩阵;
  3. 求解协方差矩阵的特征值和特征向量;
  4. 将特征值按从大到小排列,选择其中较大的K个,然后将其对应的K个特征向量组成投影矩阵;
  5. 将样本点投影计算,完成降维。

猜你喜欢

转载自blog.csdn.net/qq_43165880/article/details/108550916