主成分分析学习笔记

本文详细介绍了主成分分析(PCA)在数据处理中的应用,包括数据降维、可视化和压缩,同时对比了基于协方差矩阵的特征值分解和奇异值分解(SVD)的计算方法。通过标准化、特征值计算和矩阵操作,揭示了如何利用这两种技术实现高效的数据维度削减。
摘要由CSDN通过智能技术生成

1 主成分分析的应用

主要用在数据降维、高维数据的探索与可视化、数据压缩、数据预处理。

PCA的本质是找到某一个投影方向,使得数据在投影方向的方差最大。

2 基于协方差矩阵的特征值分解

(1) 对特征值进行归一化

设第j个特征的均值为\mu j,标准差为\sigma j,则第j个特征标准化公式为x_{j} = \frac{x_{j} - \mu_{j}}{\sigma_{j}},注意x_{j}是列向量

(2) 计算协方差矩阵

\sum =\frac{1}{m-1}\sum_{i=1}^{m}X^{T}X

(3) 计算协方差矩阵的特征值和特征向量,可以用numpy库函数直接求解

eigenvalues, eigenvectors = np.linalg.eig(sigma) 

(4) 取特征值由高到低排序的前k个特征值对应的特征向量组成特征矩阵Ureduce,并利用如下公式计算降维后数据Z

3 基于数据矩阵的奇异值分解

除了用特征值分解外,还可以用奇异值分解计算,计算速度更快,步骤如下:

(1) 对特征值进行归一化

(2)对数据进行SVD分解

u, s, vT = np.linalg.svd(X,full_matrices=0) 
  • X的大小为(M,N)
  • 总共有三个返回值u,s,v
  • u大小为(M,M),s大小为(M,N),v大小为(N,N)

(3)计算降维后的数据Z,只需要用到vT矩阵

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值