矩阵应用:PCA-Principal Component Analysis

本文详细介绍了主成分分析(PCA)算法的实现步骤,包括数据预处理、协方差矩阵计算及特征值分解等内容,并探讨了如何通过选取关键特征来降低数据维度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方差

s2=∑ni=1(Xi-E(X))2/(n-1)

协方差

cov(X,Y)=∑ni=1(Xi-E(X))(Yi-E(Y))/(n-1)

协方差矩阵

Cn*n=(Cij,Cij=cov(Dimi,Dimj))。

 

PCA步骤:

第一步:获得数据。

第二步:对于每一维的数据,用平均值除之。使得每一维的和为0。

第三步:之后,计算协方差矩阵C(对称矩阵)。

第四步:计算协方差矩阵的特征向量和特征值。其中特征向量为单位化的。

principle component 即为数据的最大的特征值所对应的特征向量。

将矩阵按照特征值从大到小排列。还可以提出一些过关紧要的特征值的特征向量。

如果这样做的话,那么将失去一些信息。比如原数据有n维,只取前p个特征值的特征向量。

那么最后的数据集将会是p维的。

最终我们想获得的是一个称之为feature vector的矩阵(注意,他其实是矩阵)。

FeatureVector=(eigvctr1,eigvctr2,....eigvctrp)。也就是,将选择的特征向量按照列排成一个矩阵。

第五步:FinalData=RowFeatureVector*RowDataAdjust.

RowFeatureVector是 FeatureVector的转置。RowDataAdjust是源数据矩阵减去平均值之后的转置,也就是每一列为一个数据。

 

FinalData是最后的数据集,每一列为一个数据。

 

PCA中使用的矩阵对角化相关的定理

不是所有的矩阵都能够对角化的

 

n阶矩阵可对角化(即与对角矩阵相似P-1AP=B)的充分必要条件是:A的每个特征值对应的特征向量线性无关的最大个数等于该特征值的重数

 

但是实对称矩阵一定可以对角化

 

对于任意一个n阶实对称矩阵A,存在n阶正交矩阵T,使得

T-1AT=diag(a1,a2,...,an),a1,a2,...,an为特征值。

而求T的方法,即为,将所有的特征向量当做列向量,合成一个n*n矩阵。

那么就有T-1AT=diag(a1,a2,。。。,an)。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值