一文看懂PCA中的协方差

摘要

记录的主要是降维算法PCA中的协方差,最近在学习PCA,对协方差这一块儿进行一个总结,不涉及复杂的数学运算,方便个人复习回顾,本文为个人理解,难免会有错误,欢迎大家评论指出。

1、什么是特征矩阵

特征矩阵一般是二维的,如果将其转化为DataFrame格式,则可以很容易的看出其形式,简单举个例子,如下表:
在这里插入图片描述

如上表所示,统计了共6位同学的语文、数学、英语、物理成绩,该特征矩阵的大小为(6,4),即6行4列,行数代表同学的个数,列数代表特征的个数。每一列都是一个特征。

那么怎么评估各个特征之间的相关性呢?不错,协方差就是来干这个的。

2、协方差与相关系数

协方差公式如下:
在这里插入图片描述
由上面公式(公式中第一行的小写x应该为大写,打错了)可以看出,协方差只能用来处理二维信息,即衡量两个变量的相关程度。这里的相关程度指的就是变化趋势,这种变化趋势是相对于各自的期望来说的,如果其中一个大于自身期望,另一个也大于自身期望,那么就说这两个特征的变化趋势相同,协方差就大于0,称为正相关;相反,如果一个大于自身期望,一个小于自身期望,那么这两个特征的变化趋势就相反,协方差就小于0,称为负相关。

注意:若X,Y相互独立,则E(XY) = E(X)E(Y) = 0,则协方差为0。但需要注意的是反过来不一定成立,也就是说,X,Y相互独立(线性无关)是协方差为0的充分不必要条件。

相关系数:协方差是描述X,Y相关程度的量,在同一个物理量纲下有一定的作用,但如果X,Y在不同的量纲下,则在数值上会表现出很大差异,因此引入相关系数,公式如下:
在这里插入图片描述
若ρx,y=0,则说明X与Y非线性相关;
由上述公式可以看出,ρx,y为0的充分必要条件是协方差为0。

3、协方差矩阵的性质

在这里插入图片描述

4、协方差矩阵

协方差只能处理二维的,因此引用协方差矩阵来对多个特征之间的相关性进行评估。

扫描二维码关注公众号,回复: 13114760 查看本文章

5、PCA的主要步骤

1、输入样本:设有样本矩阵X,大小为(m,n)。即有n个特征,共有m个样本。
在这里插入图片描述
我们将第一行单独取出来进行分析,那么这一行就代表一个样本,该样本中的每一列就代表该样本的每一个特征,列号可以用来表示特征的维度,共n维。
在这里插入图片描述
2、对样本矩阵进行中心化(取均值)
在这里插入图片描述
其中μi是样本矩阵维度 i 的均值:
在这里插入图片描述
3、计算样本的协方差矩阵
在这里插入图片描述
4、求出新特征矩阵

计算协方差矩阵的特征值并取出最大的前k个特征值所对应的特征向量,构成一个新的矩阵。这里求出所有的特征向量后,选取最大的前k个特征向量的原因是:大的特征值对应着占比例大的成分,也就是说求出前k大的特征向量就可以近似刻画出数据点中的信息。

6、PCA降维时创建新矩阵时涉及的知识点

在之前的博客中我们已经说过,在PCA在降维过程中,是对特征空间重新选择特征向量的,基于的是最大方差理论,方差越大,代表信息越多,方差按照大小依次排列,取得特征向量,有多少个特征向量就有多少个新维度,且不同维度之间的相关性为0,下面简要说明一下特征向量和特征值在降维过程中所起到的作用。

特征向量和特征值: 信息量保存能力最大的基向量一定是数据集的协方差矩阵的特征向量,并且这个特征向量保存的信息量就是它对应的特征值。矩阵就是刻画变换的,特征向量是变换方向,特征值是伸缩系数。

7、PCA降维过程的小实例

(1)对于一个训练集,100个sample,特征是10维,那么它可以建立一个100×10的矩阵,作为样本。求这个样本的协方差矩阵,得到一个10×10的协方差矩阵,然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个10×4的矩阵,这个矩阵就是我们要求的特征矩阵,100×10的样本矩阵乘以这个10×4的特征矩阵,就得到了一个100×4的新的降维之后的样本矩阵,每个sample的维数下降了。
(2)当给定一个测试的特征集之后,比如1×10维的特征,乘以上面得到的10×4的特征矩阵,便可以得到一个1×4的特征,用这个特征去分类。
(3)所以做PCA实际上是求得这个投影矩阵,用高维的特征乘以这个投影矩阵,便可以将高维特征的维数下降到指定的维数。

猜你喜欢

转载自blog.csdn.net/weixin_45671036/article/details/111606337
今日推荐