主成分分析(学习笔记)

本文详细介绍了主成分分析(PCA)的基本原理与实现步骤。PCA是一种用于数据降维的重要技术,通过对协方差矩阵进行特征分解,提取出数据集中的主成分,进而去除冗余信息。文中还解释了如何通过去除最小特征值来降低数据集的维数,同时尽量减少信息损失。

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

主成分分析:principal component analysis(PCA)由卡尔皮尔逊于1901年提出,是一种分析,简化数据的技术,主要用于降低数据的维数,并且在这个过程中,

保持数据集中的对方差贡献最大的特征

具体操作:首先对数据集的协方差矩阵进行特征分解,得到数据集的主成分(特征向量)相对应的权值(特征值)。我们要在降低数据维数的过程中,使数据集的信息丢失尽可能的小,这等价于在原数据集中除掉最小的特征值所对应的成分,从而对方差的影响尽可能的小。

接下来,闲言少叙,直接上简明的数学过程:

假设我们有一个数据集:X1, X2, ………Xk, 每一个样本为n维的列向量(a,b,c,d,....,n),每一行(维度)都代表了一个特征。

现在利用PCA的方法使其降低到m个维度。


1. 去中心化



即数据集的每一个样本都减去样本均值,这样做之后数据每一个维度的均值都变为了0。


2. 计算去中心化后的数据集的协方差矩阵


这里除以k-1的原因呢,这里暂且借用看到的一句话:

是因为这样能使我们以较小的样本集更好的逼近总体的标准差,即统计上所谓的“无偏估计。https://blog.youkuaiyun.com/shenziheng1/article/details/52955687


3. 计算矩阵C的特征值以及特征向量


其中S为对角线矩阵,对角线上所对应的元素为特征值;V矩阵每一列为对应特征值的特征向量。

注意!!!

因为C是对称矩阵,所以得到的不同的特征值所对应的特征向量都是相互正交的。


4. 挑选主导的特征值,完成数据降维

从n个特征值中挑选最大的m个,将对应的特征向量组成矩阵M(n×m维),有



其中原数据集A为n×k矩阵,得到的降低维度后的新数据集A’为m×k矩阵。



总结

从我个人理解来看,PCA的本质就是通过计算特征值来去除多维数据内部相关性的过程

在实际当中我们面对的数据可以达到成千上万维,有些数据相关性很高,直接处理他们会产生大量的重复性计算。首先计算协方差,了解数据不同特征之间的相关性;再通过计算协方差矩阵的特征值并选取m<n组尽可能大的不同的值对应的特征向量。这样我们便可以除掉一些互相关联也就是说会有重复的信息,保留下来的特征独立并且还能很好的表现原始数据。同时从另一个角度看,对数据特征方差影响较小,构建起的新数据集还能够有效地降低维度。总体讲,是一个协方差矩阵维度不断减小且对角线元素不断增大,非对角线元素不断减小甚至为0的过程。


参考资料:

1. https://en.wikipedia.org/wiki/Principal_component_analysis

2. https://blog.youkuaiyun.com/dfdfdsfdfdfdf/article/details/53166769 (一篇关于特征值分解的博客)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值