主成分分析笔记

主成分分析是指在尽量减少失真的前提下,将高维数据压缩成低微的方式。

减少失真是指最大化压缩后数据的方差。

记 P P P矩阵为 n × m n\times m n×m( n n n行 m m m列)的矩阵,表示一共有 m m m组数据,每组数据有 n n n个维度。

欲将此数据集降为 k k k维,即求 k × m k\times m k×m的矩阵 A A A。

思路是获得一种针对 n n n维的变换方法,将 n n n位列向量转为 k k k位列向量。然后对全部 m m m组数据分别应用此变换,这样就得到答案。

变换方法是使用形如 A = X P A=XP A=XP的算式。问题变为求 k × n k\times n k×n矩阵 X X X。

引入协方差的概念。

协方差 是刻画两个列向量 X = { x 1 , x 2 , ... , x n } T , Y = { y 1 , y 2 , ... , y n } T X=\{x_1,x_2,\dots,x_n\}^\text{T},Y=\{y_1,y_2,\dots,y_n\}^\text{T} X={x1,x2,...,xn}T,Y={y1,y2,...,yn}T的相异程度。对于同一行来说,两个列向量在此行的数值相差越大,就会使协方差越大。
C o v ( X , Y ) = ∑ i = 1 n ( x i − x ^ ) ( y i − y ^ ) Cov(X,Y)=\sum_{i=1}^{n}{(x_i-\hat{x})(y_i-\hat{y})} Cov(X,Y)=i=1∑n(xi−x^)(yi−y^)

接下来的部分需要线性代数理论进行推导,在此只给出结论。

对于数据集的 n n n个维度来说,方差越大,说明数据之间的差异越大,说明越能区分不同数据,说明此维度越重要,越应该被保留。可以用协方差刻画差异。

本例中将关于 n n n维的所有协方差写成一个 n n n阶方阵 Q Q Q,其中 Q i , j Q_{i,j} Qi,j表示 C o v ( P i , P j ) Cov(P_i,P_j) Cov(Pi,Pj), P i P_i Pi表示 P P P的第 i i i行,也就是所有数据的第 i i i个维度。

至此便直接给出计算方法。

  1. 计算 Q Q Q;
  2. 求 Q Q Q的 n n n个特征值及其对应的特征(行)向量,将它们按照特征值从大到小的顺序排列,组成新的方阵 R R R;
  3. 取 R R R的前 k k k行,即 k × n k\times n k×n的矩阵 X X X;
  4. A = X P A=XP A=XP。
相关推荐
明志数科4 小时前
具身智能数据供给的分层:分布式采集与入厂采集的工程边界分析
人工智能·机器学习·机器人
傻啦嘿哟5 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
罗西的思考6 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu6 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
搞科研的小刘选手7 小时前
【计算机方向 | IEEE出版 | 杭州站】第七届机器学习与计算机应用国际学术会议(ICMLCA 2026)
机器学习·学术会议·计算机应用·会议推荐·浙江工业大学
L@ncor7 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程
知潮网7 小时前
被嫌弃的五仁月饼,一吨千元在养猪场翻了身
笔记
2601_960631237 小时前
中药前处理及提取的工艺环节与技术要点
笔记
2601_965384267 小时前
口腔黏膜清洁中的几何约束与流体动力学边界层问题分析
经验分享·笔记
科研online8 小时前
用可解释机器学习XGBoost+SHAP发SCI期刊的优势?
人工智能·机器学习·学习方法