深入理解主成分分析(PCA)

在这里插入图片描述

PCA 的定义方式有很多,其中最常见的有三个:
  其一,PCA 可以理解为降维法,在保留尽可能多的离散程度信息的基础上减少变量的个数,消除变量之间的线性相关性;
  其二,PCA 可以理解为向其他方向上的正交投影,使得投影点的方差最大(Hotelling,1933);
  其三,它也可以理解为正交投影,使得复原损失最小,这一损失通过数据点与估计点间平方距离的平均值来刻画(Pearson,1901).

下面我们分别考虑这三种定义方式.

1. 降维法

  这里的"维"指的便是变量的个数,在记录数据时,例如采集一个人的信息,需要收集其身高、体重、胸围等数据,这里的身高、体重和胸围即是"变量";每个人的数据,例如(173(cm), 65(kg), 887(mm)),称为一个样本,或数据点.
  PCA 可以这么理解:一方面,在保留尽可能多的离散程度信息的情况下减少变量的个数;另一方面,消除变量之间的线性相关性(在上述例子中,身高、体重、胸围之间显然具有某种正相关性). 至于为什么要这样做,这就涉及到 PCA 的来历,可参见:A Tutorial on Principal Component Analysis(译).

  • 离散程度信息可以通过变量的方差来刻画,方差越大,含有的信息越多;
  • 变量的线性相关性可以通过协方差的绝对值来刻画,绝对值越大,相关性越强,协方差为零时线性无关;

  PCA 的思路是,对原有变量进行线性组合得到新变量,使得新变量的方差尽可能大,不同变量间的协方差为零.

下面来看详细 推导过程:
  设 X \small X X m m m 维随机变量, X = ( x 1 x 2 ⋮ x m ) X=\begin{pmatrix}x_1\\x_2\\\vdots\\x_m\end{pmatrix} X=x1x2xm对其作变换如下: P X = Y PX=Y PX=Y其中 P \small P P 为方阵, P = ( p i j ) m × m = [ p 1 T p 2 T ⋮ p m T ] P=(p_{ij})_{m\times m}=\begin{bmatrix}p_1^T\\p_2^T\\ \vdots \\p_m^T\end{bmatrix} P=(pij)m×m=p1Tp2TpmT [ y 1 y 2 ⋮ y m ] = Y = P X = [ p 11 x 1 + p 12 x 2 + ⋯ + p 1 m x m p 21 x 1 + p 22 x 2 + ⋯ + p 2 m x m ⋮ p m 1 x 1 + p m 2 x 2 + ⋯ + p m m x m ] = [ p 1 T X p 2 T X ⋮ p m T X ] \begin{bmatrix}y_1\\ y_2\\ \vdots \\ y_m\end{bmatrix}=Y=PX=\begin{bmatrix}p_{11}x_1+p_{12}x_2+\cdots+p_{1m}x_m \\ p_{21}x_1+p_{22}x_2+\cdots+p_{2m}x_m \\ \vdots \\ p_{m1}x_1+p_{m2}x_2+\cdots+p_{mm}x_m \end{bmatrix}=\begin{bmatrix}p_1^TX\\p_2^TX\\ \vdots \\p_m^TX\end{bmatrix} y1y2ym=Y=PX=p11x1+p12x2++p1mxmp21x1+p22x2++p2mxmpm1x1+pm2x2++pmmxm=p1TXp2TXpmTX可以看到,新变量 y i y_i yi 是原变量的线性组合.
V a r ( y i ) = E [ y i − E ( y i ) ] 2 = E [ ( p i T X − E ( p i T X ) ) ( p i T X − E ( p i T X ) ) T ] = p i T E [ ( X − E ( X ) ) ( X − E ( X ) ) T ] p i = p i T C X p i C o v ( y i , y j ) = p i T C X p j ,    i , j = 1 , 2 , ⋯   , m \begin{aligned}Var(y_i)&=E[y_i-E(y_i)]^2\\&=E[(p_i^TX-E(p_i^TX))(p_i^TX-E(p_i^TX))^T]\\&=p_i^TE[(X-E(X))(X-E(X))^T]p_i\\&=p_i^TC_Xp_i\\Cov(y_i,y_j)&=p_i^TC_Xp_j,\,\,i,j=1,2,\cdots,m\end{aligned} Var(yi)Cov(yi,yj)=E[yiE(yi)]2=E[(piTXE(piTX))(piTXE(piTX))T]=piTE[(XE(X))(XE(X))T]pi=piTCXpi=piTCXpj,i,j=1,2,,m  要使 V a r ( y i ) \small Var(y_i) Var(yi) 尽可能地大,这一点很容易做到,只需按比例缩放 p i p_i pi 即可. 不过这样做没有什么意义,也不是我们想要的,因此需要对 p i p_i pi 做些限制: p i p_i pi 为单位向量,即 ∥ p i ∥ 2 = p i T p i = 1 \small \Vert p_i \Vert^2=p_i^Tp_i=1 pi2=piTpi=1. 我们的目标是合理选择 p i p_i pi ,使得 V a r ( y i ) \small Var(y_i) Var(yi) 尽量地大,同时满足 C o v ( y i , y j ) = 0 , i ≠ j \small Cov(y_i,y_j)=0,i\neq j Cov(yi,yj)=0,i=j.
  先做些准备工作,因为 C X \small C_X CX 是实对称矩阵且正定,所以其特征值均为正数,且存在某正交矩阵 U \small U U,使得 U T C X U = D ,    D = d i a g ( λ 1 , λ 2 , ⋯   , λ m ) \small U^TC_XU=D,\,\,D=diag(\lambda_1,\lambda_2,\cdots,\lambda_m) UTCXU=D,D=diag(λ1,λ2,,λm),其中 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ m > 0 ,    U = ( u 1   u 2   ⋯   u m ) ,    u i \lambda_1\geq\lambda_2\geq\cdots\geq\lambda_m>0,\,\, U=(u_1\,u_2\,\cdots\,u_m),\,\, u_i λ1λ2λm>0,U=(u1u2um),ui λ i \lambda_i λi 的特征向量. 所以 C X \small C_X CX 可以表示为 C X = U D U T C_X=UDU^T CX=UDUT  首先,要使 V a r ( y 1 ) \small Var(y_1) Var(y1) 尽可能地大,
V a r ( y 1 ) = p 1 T C X p 1 = p 1 T U D U T p 1 Var(y_1)=p_1^TC_Xp_1=p_1^TUDU^Tp_1 Var(y1)=p1TCXp1=p1TUDUTp1 z 1 = U T p 1 = ( z 11 , z 12 , ⋯   , z 1 m ) T z_1=U^Tp_1=(z_{11},z_{12},\cdots,z_{1m})^T z1=UTp1=(z11,z

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值