如何理解pca

您所在的位置:网站首页 pca的loading图的含义 如何理解pca

如何理解pca

2024-07-02 15:34| 来源: 网络整理| 查看: 265

看了一些介绍pca的博客,但是大部分的描述和分析或者需要较高的数学基础,或者并不连续,一些关键的问题并没有阐述清楚,下面以自问自答的方式解释pca。

 

1,为什么协方差矩阵是一个对称矩阵?它有什么意义?

对称矩阵的原因:可以从特征归一化后的矩阵A,A乘A的转置证明;也可以从协方差矩阵的定义得知。 协方差矩阵很有意义,除了直观的反映了不同变量的方差和协方差外,也可以反映线性随机变量函数的方差。假设随机变量函数可以写成随机变量组成的行向量乘以系数列向量,那该函数的方差就等于协方差矩阵对应系数列向量的瑞丽熵。为了更好的说明这段话的含义,进行了以下实验。为了绘图和说理方便,在实验中假设样本的特征维度为2维,那么每个训练样本就代表一个二维的散点。

下面的三张图分别表示:特征归一化(减去均值后)的二维散点图、利用协方差矩阵计算不同方向的方差大小,其中粗体的红色和蓝色线分别代表最大方差方向和最小方差方向,也就是两个单位特征向量的方向、最后一张图将散点和特征向量代表的方向绘制在一张图中。

 

 

2,为什么要计算协方差矩阵的特征值和特征向量?

不同特征向量,从某种意义上可以看成一组正交的归一化的系数向量(为什么正交呢,因为协方差矩阵是对称矩阵,可以用xi的转置乘以xj证明特征向量正交) 为什么一定要用特征向量矩阵呢,一组正交基不行么?事实上,最大特征值的特征向量对应的瑞丽熵(当特征向量归一化后,最大瑞丽熵就等于最大特征值)是最大的,等于最大特征值,等于在特征向量系数组成的随机变量函数的方差。因此,我们选用特征向量这组归一化正交基。

3,为什么要用特征向量矩阵乘以原数据矩阵,意义何在?

对数据矩阵来说,假设有N组数据,每组数据有M个随机变量M*N。假设选取了k个M大小的特征向量组成矩阵k*M,每一个特征向量乘以原数据矩阵,都会得到1*N行向量。这个行向量的每个分量实际上就是原数据矩阵的每一列向量在特征向量上的投影长度,所以1*N实际上是一个投影长度的行向量。为什么要投影到特征向量上,计算投影长度呢?参考问题2,实际上,特征向量的方向就是方差依次最大的方向,而投影长度可以反映数据列向量在这个方向上的值,从而保留了最大的方差分量。通过乘以特征向量矩阵,将原数据矩阵列向量的维数变成了k。由于k个线性无关的特征向量不能直接线性表示数据列向量(当k小于M时),因此存在信息丢失。

4,如何提高pca的效果呢?

很可惜的是我并没有查阅一些论文,但是从上面的分析中,可以提出一些想法。例如,计算协方差矩阵时,不同随机变量的权重可以不同;当数据过大时,即N太大时,可以从原样本中随机抽样出n个数据,进行相同的处理;  

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3