PCA——主成分分析

一、简介

 主成分分析是一种常用的无监督学习方法,这一方法利用正交变换(在线性代数中,正交变换是线性变换的一种。对一个由空间RnR^nRn投射到同一空间RnR^nRn的线性转换,如果转换后的向量长度与转换前的长度相同,则为正交变换)把由线性相关变量表示的观测数据转换为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。主成分的个数通常小于原始变量的个数,所以主成分分析属于降维方法。

 主成分分析中,首先对给定数据进行规范化[1],使得数据每一变量的平均值为0,方差为1。之后对数据进行正交变换,原来由线性相关变量表示的数据,通过正交变换变成由若干个线性无关的新变量表示的数据。新变量是可能的正交变换中 变量的方差的和(即信息保存)最大的,方差表示在新变量上的信息大小。将新变量依次称为第一主成分、第二主成分等,这就是主成分分析的基本思想。

直观解释:数据集合中的样本由实数空间(正交坐标系)中的点表示,空间的一个坐标轴表示一个变量,规范化处理后得到的数据分布在原点附近。对原坐标系中的数据进行主成分分析就等价于进行坐标系旋转变换,将数据投影到新坐标系的坐标轴上;新坐标系的第一坐标轴、第二坐标轴等分别表示第一主成分、第二主成分等,数据在每一轴上的坐标值的平方表示相应变量的方差;并且,这个坐标系是在所有的新的坐标系中,坐标轴上的方差的和最大的。

主成分的选取:在旋转变换后的所有坐标系中,主成分分析先选择方差最大的方向作为新坐标系的第一坐标轴,即第一主成分;然后选择与第一坐标轴正交,且方差最大的方向作为第二坐标轴,即第二主成分,以此类推。

 不妨设样本点AAABBB,在新坐标轴的上的投影是A∗A^*AB∗B^*B,那么∣OA∗∣2+∣OB∗∣2|OA^*|^2+|OB^*|^2OA2+OB2就是样本在新坐标轴上的方差和。主成分分析就是选取在所有的坐标轴中,使∣OA∗∣2+∣OB∗∣2|OA^*|^2+|OB^*|^2OA2+OB2最大的那个坐标轴作为第一坐标轴。而∣OA∣2+∣OB∣2|OA|^2+|OB|^2OA2+OB2是不变的,结合勾股定理,∣OA∗∣2+∣OB∗∣2|OA^*|^2+|OB^*|^2OA2+OB2最大等价于∣AA∗∣2+∣BB∗∣2|AA^*|^2+|BB^*|^2AA2+BB2最小,所以等价的,主成分分析在旋转变换中选取离样本点的距离平方和最小的轴作为第一主成分,第二坐标轴等的选取,在保证与已选坐标轴正交的条件下,类似的进行。

二、定义和导出

 假设x=(x1,x2,⋯ ,xm)T\bm{x} = (x_1, x_2, \cdots, x_m)^Tx=(x1,x2,,xm)Tmmm维随机变量,其均值μ\bm \muμμ=E(x)=(μ1,μ2,⋯ ,μm)T\bm \mu = E(\bm x) = (\mu_1, \mu_2, \cdots, \mu_m)^Tμ=E(x)=(μ1,μ2,,μm)T
其协方差矩阵Σ\SigmaΣΣ=cov(x,x)=E[(x−μ)(x−μ)T]\Sigma = cov(\bm x, \bm x)=E[(\bm x - \bm \mu)(\bm x - \bm \mu)^T]Σ=cov(x,x)=E[(xμ)(xμ)T]

 考虑由mmm维随机变量x\bm xxmmm维随机变量y=(y1,y2,⋯ ,ym)T\bm y = (y_1, y_2, \cdots, y_m)^Ty=(y1,y2,,ym)T的线性变换yi=αiTx=α1ix1+α2ix2+⋯+αmixmy_i = \alpha_i^T\bm x=\alpha_{1i}x_1 + \alpha_{2i}x_2 + \cdots + \alpha_{mi}x_myi=αiTx=α1ix1+α2ix2++αmixm
其中,αiT=(α1i,α2i,⋯ ,αmi),i=1,2,⋯ ,m\alpha_i^T = (\alpha_{1i}, \alpha_{2i}, \cdots, \alpha_{mi}), i = 1, 2, \cdots, mαiT=(α1i,α2i,,αmi),i=1,2,,m

 那么,由随机变量的性质可知: E(yi)=αiTμ,i=1,2,⋯ ,mE(y_i) = \alpha_i^T\mu, i = 1, 2, \cdots, mE(yi)=αiTμ,i=1,2,,m var(yi)=αiTΣαi,i=1,2,⋯ ,mvar(y_i)=\alpha_i^T\Sigma\alpha_i, i = 1, 2, \cdots, mvar(yi)=αiTΣαi,i=1,2,,m cov(yi,yj)=αiTΣαj,i=1,2,⋯ ,m;j=1,2,⋯ ,mcov(y_i, y_j) = \alpha_i^T\Sigma\alpha_j, i = 1, 2, \cdots, m; j = 1, 2, \cdots, mcov(yi,yj)=αiTΣαj,i=1,2,,m;j=1,2,,m

2.1 定义

 给定上述的线性变换,如果满足:

  1. 系数向量αiT\alpha_i^TαiT是单位向量,即αiTαi=1,i=1,2,⋯ ,m\alpha_i^T\alpha_i=1, i = 1, 2, \cdots, mαiTαi=1,i=1,2,,m
  2. 变量yiy_iyi与变量yjy_jyj互不相关,即cov(yi,yj)=0(i!=j)cov(y_i, y_j) = 0(i != j)cov(yi,yj)=0(i!=j)
  3. 变量y1y_1y1x\bm xx的所有线性变换中方差最大的;y2y_2y2是与y1y_1y1不相关的 x\bm xx的所有线性变换中方差最大的;一般的,yiy_iyi是与y1,y2,⋯ ,yi−1y_1, y_2, \cdots, y_{i-1}y1,y2,,yi1都不相关的x\bm xx的所有线性变换中方差最大的;

这时分别称y1,y2,⋯ ,ymy_1, y_2, \cdots, y_my1,y2,,ymx\bm xx的第一主成分、第二主成分、……、第mmm主成分。

2.2 导出

 上述条件1表明线性变换是正交变换,α1,α2,⋯ ,αm\alpha_1, \alpha_2, \cdots, \alpha_mα1,α2,,αm是其一组标准正交基:αiTαi={1,i=j0,i≠j\alpha_i^T\alpha_i=\begin{cases} 1, i = j \\ 0, i \ne j \end{cases}αiTαi={1,i=j0,i=j

 条件2和3则给出了求主成分的方法:

  1. x\bm xx的所有线性变换α1Tx=∑i=1mαi1xi\alpha_1^T\bm x=\sum_{i=1}^m\alpha_{i1}x_iα1Tx=i=1mαi1xi中,在α1Tα1=1\alpha_1^T\alpha_1=1α1Tα1=1的条件下,求方差最大的,得到x\bm xx的第一主成分;
  2. 在与α1Tx\alpha_1^T\bm xα1Tx不相关的 x\bm xx的所有线性变换α2Tx=∑i=1mαi2xi\alpha_2^T\bm x=\sum_{i=1}^m\alpha_{i2}x_iα2Tx=i=1mαi2xi中,α2Tα2=1\alpha_2^T\alpha_2=1α2Tα2=1的条件下,求方差最大的,得到x\bm xx的第二主成分;
  3. 在第kkk步,在与α1Tx,α2Tx,⋯ ,αk−1Tx\alpha_1^T\bm x, \alpha_2^T\bm x, \cdots, \alpha_{k-1}^T\bm xα1Tx,α2Tx,,αk1Tx不相关的 x\bm xx的所有线性变换αkTx=∑i=1mαikxi\alpha_k^T\bm x=\sum_{i=1}^m\alpha_{ik}x_iαkTx=i=1mαikxi中,αkTαk=1\alpha_k^T\alpha_k=1αkTαk=1的条件下,求方差最大的,得到x\bm xx的第kkk主成分;
  4. 直到得到x\bm xx的第mmm主成分

2.3 主要性质

 设x\bm xxmmm维随机变量,Σ\SigmaΣx\bm xx的协方差矩阵,Σ\SigmaΣ的特征值分别是λ1≥λ2≥⋯λm≥0\lambda_1\ge\lambda_2\ge\cdots\lambda_m\ge0λ1λ2λm0,特征值对应的特征向量分别是α1,α2,⋯ ,αm\alpha_1, \alpha_2, \cdots, \alpha_mα1,α2,,αm,则x\bm xx的第kkk主成分是yk=αkTx=α1kx1+α12kx2+⋯+αmkxm,k=1,2,⋯ ,my_k=\alpha_k^T\bm x=\alpha_{1k}x_1+\alpha_{12k}x_2+\cdots+\alpha_{mk}x_m, k = 1, 2, \cdots, myk=αkTx=α1kx1+α12kx2++αmkxm,k=1,2,,m
x\bm xx的第kkk主成分的方差是var(yk)=αkTΣαk=λk,k=1,2,⋯ ,mvar(y_k)=\alpha_k^T\Sigma\alpha_k=\lambda_k, k = 1, 2, \cdots, mvar(yk)=αkTΣαk=λk,k=1,2,,m,即是协方差矩阵Σ\SigmaΣ的第kkk个特征值。(可用拉格朗日乘子法进行证明)

2.4 方差贡献率

 第kkk主成分yky_kyk方差贡献率定义为yky_kyk的方差与所有方差之和的比,记做ηk\eta_kηk: ηk=λk∑i=1mλi\eta_k = \frac{\lambda_k}{\sum_{i=1}^m\lambda_i}ηk=i=1mλiλk

kkk个主成分y1,y2,⋯ ,yky_1, y_2, \cdots, y_ky1,y2,,yk累计方差贡献率定义为kkk个方差之和与所有方差之和的比∑i=1kηi=∑i=1kλi∑i=1mλi\sum_{i=1}^k\eta_i=\frac{\sum_{i=1}^k\lambda_i}{\sum_{i=1}^m\lambda_i}i=1kηi=i=1mλii=1kλi

 通常取kkk使得累计方差贡献率达到规定的百分比以上。累计方差贡献率反映了主成分保留信息的比例,但它并不能反映对某个原有变量xix_ixi保留信息的比例,这时通常利用kkk个主成分y1,y2,⋯ ,yky_1, y_2, \cdots, y_ky1,y2,,yk对原有变量xix_ixi的贡献率。

1.为什么要进行规范化?

 PCA通常是用于高维数据的降维,它可以将原来高维的数据投影到某个低维的空间上并使得其方差尽量大。如果数据其中某一特征(矩阵的某一列)的数值特别大,那么它在整个误差计算的比重上就很大,那么可以想象在投影到低维空间之后,为了使低秩分解逼近原数据,整个投影会去努力逼近最大的那一个特征,而忽略数值比较小的特征。因为在建模前我们并不知道每个特征的重要性,这很可能导致了大量的信息缺失。为了“公平”起见,防止过分捕捉某些数值大的特征,我们会对每个特征先进行标准化处理,使得它们的大小都在相同的范围内,然后再进行PCA。

 此外,从计算的角度讲,PCA前对数据标准化还有另外一个好处。因为PCA通常是数值近似分解,而非求特征值、奇异值得到解析解,所以当我们使用梯度下降等算法进行PCA的时候,我们最好先要对数据进行标准化,这是有利于梯度下降法的收敛。

2.方差最大理论
 在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。

参考:《统计学习方法》第二版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值