PCA主成分分析:从二维到高维

5星 · 超过95%的资源 4 下载量 201 浏览量 更新于2024-08-30 收藏 350KB PDF 举报
本文主要介绍了机器学习中的PCA(主成分分析法),包括如何求取数据的前n个主成分以及如何将高维数据映射到低维空间。 PCA是一种常用的数据降维方法,它通过线性变换将原始的高维数据转换成一组各维度线性无关的表示,称为主成分。这些主成分是按照数据方差大小排序的,第一个主成分具有最大的方差,后面的主成分依次减少,但保留了尽可能多的信息。 一、求数据的前n个主成分 在PCA中,求解主成分的过程可以分为以下步骤: 1. **数据预处理**:首先对数据进行中心化处理,即将数据减去其均值,使得数据集的每一维特征均值为0,这一步称为“ demeaning ”。 2. **计算协方差矩阵**:对于中心化后的数据,计算协方差矩阵,它描述了数据各维度之间的相关性。 3. **特征值分解**:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。特征向量对应于协方差矩阵的主轴,而特征值表示沿着这些主轴的数据方差。 4. **选择主成分**:按特征值大小排序,选取前n个最大特征值对应的特征向量,这些特征向量即为前n个主成分。 5. **数据投影**:将原始数据投影到由这n个特征向量构成的新坐标系中,得到降维后的数据。 例如,在二维空间中,求第一条主成分相当于找到一条直线,使得数据点投影到这条直线上的方差最大。在高维空间中,这个过程扩展为求解一系列正交的直线(或超平面),这些直线构成了新的坐标系统。 二、高维数据映射为低维数据 降维后,每个数据点可以用这些主成分的线性组合表示。假设我们有n个主成分,对于原始数据点X(i),我们可以通过以下方式获得其在低维空间的表示X'(i): 1. 计算原始数据点在第一主成分上的投影Xproject(i) = X(i)·w/∥X∥,其中w是第一主成分的单位向量,∥X∥是X的欧几里得范数。 2. 得到新分量X'(i) = X(i) - Xproject(i),即去除掉在第一主成分上的分量。 3. 对于更多主成分,重复此过程,直到得到所需的n个主成分。 在实际编程实现PCA时,通常会使用numpy库进行矩阵运算。如上文代码所示,`demean`函数用于数据的中心化,`deff`函数用于计算某一特征向量w对应的方差,而`df`函数可能是用于优化目的,寻找最大化方差的w。 总结来说,PCA通过线性变换降低了数据的维度,同时保留了数据的主要特征,常用于数据可视化、特征提取和预处理等场景。在机器学习中,PCA可以帮助减少模型复杂度,提高训练效率,同时避免过拟合。