什么是主成分分析

如题所述

第1个回答  2023-06-27

主成分分析是一种线性降维算法,也是一种常用的数据预处理方法。

主成分分析法的目标:

是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。绝大多数情况下,我们希望获得两个主成分因子:分别是从数据差异性最大和次大的方向提取出来的,称为PC1(Principal Component 1) 和 PC2(Principal Component 2)。

Scores.xlsx (文末获取文件链接) 包含了约70名学生的全科考试成绩。其中每名学生是一个独立的样本,每门学科的成绩都是一个数据维度(共有13门成绩)。目的是通过分析学生的考试成绩来判断学生的类别(理科、文科生,和体育、艺术特长生)。


特征提取(或称特征抽取)一般做两方面的工作:

1、对原始数据进行某种变换。

2、在变换的过程中使不同的类别(或不同样本)具有相对较好的区分性。

PCA与LDA的局限性:

PCA的局限性:

PCA可以很好的解除线性相关,但是对于高阶相关性就没有办法了,对于存在高阶相关性的数据,可以考虑Kernel PCA,通过Kernel函数将非线性相关转为线性相关。

另外,PCA假设数据各主特征是分布在正交方向上,如果在非正交方向上存在几个方差较大的方向,PCA的效果就大打折扣了。

各个主成分特征是原始特征的线性组合,其含义具有一定的模糊性,不如原始样本特征的解释性强。方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。

LDA的局限性:

传统的线性鉴别分析和主成分分析均只作用于对一维数据即矢量数据进行特证抽取,由此带来诸多不便。假如我们要处理的数据是200×200大小的图像矩阵,那应用这两个方法之前,我们必须把每一个图像转换为一个40000维的矢量。

在此基础上,主成分分析对应的协方差矩阵为一个40000×40000的矩阵,这是一个恐怖的数字,无论是计算协方差矩阵还是计算协方差矩阵的特征向量都将耗费巨大的计算资源。面对上述图像矩阵时,线性鉴别分析也存在一样的难题,而且过之而不及。

线性鉴别分析中类间散布矩阵与类内散布矩阵的大小均为40000×40000,而且还需要计算类内散布矩阵的逆矩阵,计算量的巨大可想而知。

相似回答