压缩算法--PCA主成分分析

参考原文

样本特征个数太多就会增加课题的复杂性,导致运算量大,计算速度慢等。当样本的某些特征之间存在相关性的时候,说明这些特征反映此课题的信息有一定的重叠,那就需要降维了,PCA就是做降维的一种算法。应用PCA目的是建立尽可能少的新特征,使得这些新特征是两两不相关的,而且这些新特征在反映课题的信息方面尽可能保持原有的信息。

PCA原理

1、协方差原理
  样本X和样本Y的协方差(Covariance):
这里写图片描述
  协方差为正时说明X和Y是正相关关系,协方差为负时X和Y是负相关关系,协方差为0时X和Y相互独立。Cov(X,X)就是X的方差(Variance).当样本是n维数据时,它们的协方差实际上是协方差矩阵(对称方阵),方阵的边长是Cn2。比如对于3维数据(x,y,z),计算它的协方差就是:
这里写图片描述
2、SVD分解原理
  若AX=λX,则称λ是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值λ。当A是n阶可逆矩阵时,A与P-1AP相似,相似矩阵具有相同的特征值。
  特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵Q(Q-1=QT),使得: 这里写图片描述
对A进行奇异值分解就能求出所有特征值和Q矩阵。A∗Q=Q∗D,D是由特征值组成的对角矩阵由特征值和特征向量的定义知,Q的列向量就是A的特征向量。


以上是理论基础= =
3、PCA原理及实现
  PCA主要通过把数据从高维映射到低维来降低特征维度。如下图所示,但映射的时候要保留尽量多的主要信息。
这里写图片描述

  • PCA的算法步骤如下:

背景:输入数据集x={x(1),x(2),x(3),…..,x(m)}、需要降到K维;

(1)对所有样本进行均值归一化,如下图所示:
这里写图片描述

P.S. x(1)指第一个样本,是nx1维的向量。这里的数据集x是nxm维的矩阵;

(2)计算协方差矩阵
这里写图片描述
2.1 对协方差矩阵进行奇异值分解:
这里写图片描述

P.S. 这里U是nxk维矩阵,其中第K列为第K个奇异值对应的特征向量;

2.2 在U中选取前K个特征值对应的特征向量u(1),u(2),u(3),…..,u(k),按列选的

P.S. 因为要降到K维,所以选取前k个列向量;

扫描二维码关注公众号,回复: 3202309 查看本文章

2.3 输出降维的投影特征矩阵Ureduce={u(1),u(2),u(3),…..,u(k)}

P.S. Ureduce是一个nxk维的矩阵

2.4 输出降维后的数据集z=UreduceTx

P.S. UreduceT是一个KxN维的矩阵,z是一个KxM的矩阵,其中第j列代表降维后的第j个样本

这就是PCA降维的大致步骤,但是在实际应用中,应该将数据降多少维呢?也就是k应该选多大呢?继续看= =
4、选择降维后的维度K(主成分的个数)
  如何选择主成分个数K呢?先来定义两个概念:
  这里写图片描述

P.S. x(i)代表降维之前的样本(是一个Rn空间的向量),x(i)aprox代表降维之后的样本(也是一个Rn空间的向量),那么||x(i)-x(i)aprox||代表原始点到映射点的距离,||x(i)aprox||2代表原始样本的方差。

选择不同的K值,然后用下面的式子不断计算,选取能够满足下列式子条件的最小K值即可。
这里写图片描述
其中t值可以由自己定,比如t值取0.01,则代表了该PCA算法保留了99%的主要信息。当你觉得误差需要更小,你可以把t值设的更小。
这里写图片描述
以上基本就是PCA的全过程了!!!
 
  注意1:虽然PCA有降维的效果,也许对避免过拟合有作用,但是最好不要用PCA去作用于过拟合,因为PCA在降维过程中,没有考虑标签Y,而是单单从样本分布上求取得,防止过拟合最好还是用正则!!!
  注意2:在训练集中找出PCA的主成分,(也就是得到了Ureduce矩阵),然后应用到测试集和交叉验证集中。而不是对所有数据集使用PCA然后再划分训练集,测试集和交叉验证集。

那么问题来了,数据可以通过PCA压缩,能不能回恢复原来的大小呢?

—————————当然可以————————
之前降维用的是z=UreduceTx (Ureduce是一个nxk维的矩阵)
反过来,X复原=Ureduce.z (Ureduce是一个nxk维的矩阵,z是一个KxM的矩阵)

总结:如果必须降维,那么通过训练集得到Ureduce矩阵;测试集过来了一个样本,用Ureduce的转置乘一下子,进行个降维处理,得到z;然后对z用LR等机器学习算法分类即可。

如果想从k维的z里复原到原来的n维空间,可以用Ureduce乘一下z,就复原了。。。
至此结束。。。

猜你喜欢

转载自blog.csdn.net/weixin_40499753/article/details/82621389