主成分分析法Principal component analysis (PCA)介绍

1.简介

Principal component analysis (PCA) is a statistical procedure that uses an orthogonal transformation to convert a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called principal components.
从本质上来讲,主成分分析法是一种空间映射的方法,将在常规正交坐标系(我们看到的)的变量通过矩阵变换操作映射到另一个正交坐标系中的主元。做这个映射的目的是为了减少变量间的线性相关性。

2.作用

本来变量之间有线性相关性,现在都变成了相互独立。如果变量是作为分类的特征的话,那么主成分分析法起到了一种特征重建的作用;从最后的表示来看,主元是由原来的变量线性组合而成,原来的变量之间是线性相关的,而主元之间是相互独立的,直观上的可以通过主成分分析法进行聚类;当然,从主成分求解的过程来看,PCA还可以用来降维

3.算法原理

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主成分分析法的过程是一个构造转换矩阵的过程。
PCA的算法步骤如下:
a.输入数据集x={x(1),x(2),x(3),…..,x(m)}、需要降到K维;
b.对变量矩阵x所有样本进行均值归零处理
这里写图片描述

c.求协方差矩阵

d.根据奇异值分解SVD(singular value decomposition)这里写图片描述,求出协方差矩阵的特征值和特征向量,特征向量组成的矩阵就是变换矩阵

e.将特征向量按照特征值大小进行排序,选取最大的前K个特征值对应的特征向量u(1),u(2),u(3),…..,u(k)

f.输出降维的投影特征矩阵Ureduce={u(1),u(2),u(3),…..,u(k)}
g.输出降维后的数据集z=UreduceTx

4、选择降维后的维度K(主成分的个数)

由于Ureduce是正交矩阵(下面Ureduce简记为U),即U’ = U-1, 所以
xapprox = (U’)-1×z = (U-1)-1×z = Uz (PS:这里的逆操作为伪逆操作)
注意:这里恢复出的xapprox并不是原先的x,而是向量x的近似值。(恢复后相当于将2D到1D时,将投影作为原先的点)
如何选择主成分个数K呢?先来定义两个概念:
这里写图片描述
选择不同的K值,然后用下面的式子不断计算,选取能够满足下列式子条件的最小K值即可。
这里写图片描述
其中t值可以由自己定,比如t值取0.01,则代表了该PCA算法保留了99%的主要信息。当误差需要更小,可以把t值设的更小。上式还可以用SVD分解时产生的S矩阵来表示,如下面的式子:
这里写图片描述
定义一个threshold,如果error ratio< threshold,说明这样选取主成分是可以接受的
这里写图片描述

注意1:虽然PCA有降维的效果,也许对避免过拟合有作用,但是最好不要用PCA去作用于过拟合。

注意2:在训练集中找出PCA的主成分,(可以看做为映射 mapping),然后应用到测试集和交叉验证集中。而不是对所有数据集使用PCA然后再划分训练集,测试集和交叉验证集。

附:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

参考文档:
https://blog.csdn.net/u011470552/article/details/54862484

猜你喜欢

转载自blog.csdn.net/daydayup_668819/article/details/81086566