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

本文主要介绍了机器学习中的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可以帮助减少模型复杂度,提高训练效率,同时避免过拟合。
2747 浏览量
34923 浏览量
291 浏览量
188 浏览量
383 浏览量
138 浏览量
304 浏览量

weixin_38502183
- 粉丝: 11
最新资源
- Vue.js波纹效果组件:Vue-Touch-Ripple使用教程
- VHDL与Verilog代码转换实用工具介绍
- 探索Android AppCompat库:兼容性支持与Java编程
- 探索Swift中的WBLoadingIndicatorView动画封装技术
- dwz后台实例:全面展示dwz控件使用方法
- FoodCMS: 一站式食品信息和搜索解决方案
- 光立方制作教程:雨滴特效与呼吸灯效果
- mybatisTool高效代码生成工具包发布
- Android Graphics 绘图技巧与实践解析
- 1998版GMP自检评定标准的回顾与方法
- 阻容参数快速计算工具-硬件设计计算器
- 基于Java和MySQL的通讯录管理系统开发教程
- 基于JSP和JavaBean的学生选课系统实现
- 全面的数字电路基础大学课件介绍
- WagtailClassSetter停更:Hallo.js编辑器类设置器使用指南
- PCB线路板电镀槽尺寸核算方法详解