PCA主成分分析:从二维到高维
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
本文主要介绍了机器学习中的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可以帮助减少模型复杂度,提高训练效率,同时避免过拟合。
2719 浏览量
34870 浏览量
278 浏览量
186 浏览量
375 浏览量
135 浏览量
298 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38502183
- 粉丝: 11
最新资源
- Eclipse插件Findbugs 2.0.3版使用教程
- C#编程实现电脑闲置时气泡效果演示
- 干部招聘录取系统V2的MFC程序结构与功能介绍
- 开源wifi管理工具:简易操作,轻松切换与密码查询
- flv.js-1.4.2:Bilibili版原生FLV播放器解析
- 2019年最新ijkplayer so库支持多架构与解决音频问题
- 澳大利亚房地产数据整理与分析技巧实操
- STC单片机掉电保存实验详细介绍与开发步骤
- Unity与Android对接微信SDK的实践案例
- Web开发课程设计:在线相册管理系统实现与文档
- Android-PullToRefresh功能组件免费下载
- MATLAB偏度峰度分析工具-binoskekur开发介绍
- 简易指南:使用Python安装并运行rboost工具
- 全面掌握Python:学习手册第三版详解
- 传奇DB命令中文使用指南
- EVE多功能信息查询器v3.8:绝地反击版