目录
一、主成分分析的概念
主成分分析(PCA)是一种常用的数据降维方法,可以将高维数据转换为低维空间,同时保留原始数据中最具代表性的信息。在数学建模中,PCA可以应用于多个领域,例如金融、医学、自然语言处理等。
x∈R2⟶z∈R
在实际的数学建模中,降维操作是很常用的。
比如在图像处理中,如果要识别人脸,需要将每张图像表示为一个向量,每个元素代表图像中某个像素点的灰度值。由于每张图像的像素数量很大,可能成百上千万甚至更多,这会导致计算和存储成本非常高。
在这种情况下,可以使用PCA对这些向量进行降维,将每张图像表示为一个包含较少元素的向量,从而使得计算和存储成本大大降低。同时,PCA还能够从这些低维向量中提取出最具代表性的信息,以便于后续s的人脸识别任务。
二、主成分分析的步骤
1、数据预处理
中心化
X−Xˉ
2、求样本的协方差矩阵
m1X
其中协方差描述两个数据的相关性,接近1为正相关,接近-1为负相关,接近0为不相关。两个数据的协方差计算公式如下:
cov(X,Y)=
3、对协方差矩阵做特征值分解
4、选出最大的K个特征值对应的K个特征向量
5、将原始数据投影到选取的特征向量上
6、输出投影后的数据集
三、主成分分析PCA的简单实现
首先我们有一个二维数据长这样
我们需要将这个二维数据变为一维数据
代码如下:
1、首先载入数据查看我们数据的分布情况
对应上面的步骤和公式,将数据中心化
2、求协方差矩阵
3、求矩阵的特征值和特征向量
4、对特征值排序
5、取最大的top个特征值下标
最大的n个特征值对应的特征向量
6、特征空间的数据
四、手写体识别数字降维
引入sklearn中的手写数字识别
接下来部分代码如下