CH4 主成分分析(PCA)

CH4 主成分分析(PCA)

利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影维一系列线性不相关变量的值,这些不相关变量称为主成分

4.1 概念与特点

  • 概念
    • 思想是将m维特征映射到k维上(k<m),这k维是全新的蒸饺特征。这k维特征称为主成分(PC),是重新构造出来的k维特征
  • 特点
    • 源于质心的矢量
    • 主成分#1指向最大方差的方向
    • 各后续主成分与前一主成分正交,且指向残差子空间最大方差的方向

4.2 解释

对于 Y = P X Y = PX Y=PX
( P 11 P 12 … P 1 n P 21 P 22 … P 2 n ⋮ ⋮ ⋱ ⋮ P c 1 P c 2 … P c n ) ( X 11 X 12 … X 1 m X 21 X 22 … X 2 m ⋮ ⋮ ⋱ ⋮ X n 1 X n 2 … X n m ) \left(\begin{matrix} P_{11} & P_{12} & \dots & P_{1n} \\ P_{21} & P_{22} & \dots & P_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ P_{c1} & P_{c2} & \dots & P_{cn} \end{matrix} \right) \left(\begin{matrix} X_{11} & X_{12} & \dots & X_{1m} \\ X_{21} & X_{22} & \dots & X_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ X_{n1} & X_{n2} & \dots & X_{nm} \end{matrix} \right) P11P21Pc1P12P22Pc2P1nP2nPcn X11X21Xn1X12X22Xn2X1mX2mXnm
= ( P 11 X 11 + P 12 X 21 + ⋯ + P 1 n X n 1 … P 21 X 11 + P 22 X 21 + ⋯ + P 2 n X n 1 … ⋮ ⋮ ⋱ ⋮ P c 1 X 11 + P c 2 X 21 + ⋯ + P c n X n 1 … ⋮ ) =\left(\begin{matrix} P_{11}X_{11}+P_{12}X_{21}+\cdots+P_{1n}X_{n1} & \dots\\ P_{21}X_{11}+P_{22}X_{21}+\cdots+P_{2n}X_{n1} & \dots & \vdots\\ \vdots & \ddots & \vdots \\ P_{c1}X_{11}+P_{c2}X_{21}+\cdots+P_{cn}X_{n1} & \dots & \vdots\\ \end{matrix} \right) = P11X11+P12X21++P1nXn1P21X11+P22X21++P2nXn1Pc1X11+Pc2X21++PcnXn1

如果X每一列表示一个样本,每一行表示1个属性,如上,X经过P的投影从n维转化为了c维,如果c<n,那么我们就达到了降维的目的

4.3 为什么要对输入数据进行中心化操作

如果有m个样本数据,中心化操作如下
x i ← x i − 1 m ∑ i = 1 m x i x_i \leftarrow x_i -\frac{1}{m}\sum^m_{i=1}x_i xixim1i=1mxi
即:使特征的平均值为0,方差为1

如果中心不固定,虽然点的相对位置不变,但是坐标绝对值不同,就会导致没办法很好的量化点的分散程度。

我们求协方差的时候,先会将每个样本减去平均值,在进行取平方再平均的运算。中心化的操作可以看成求协方差的一部分。

4.4 目的

我们希望通过降维使样本之间更加可分

  • 对同一个属性,不同样本在这个属性的方差要尽量大
  • 投影之后样本与样本之间的线性相关性要尽量小

4.5 证明

为什么计算样本的协方差矩阵,并作特征值分解?

从以上两个目的出发我们来看Y

对于一个方阵
Y = ( y 1 , y 2 , … , y n ) Y = (y_1, y_2, \dots, y_n) Y=(y1,y2,,yn)
Y Y T = ( y 1 2 y 1 y 2 … y 1 y n y 2 y 1 y 2 2 … y 2 y n ⋮ ⋮ ⋱ ⋮ y n y 1 y n y 2 … y n 2 ) YY^T = \left(\begin{matrix} y_1^2 & y_1y_2 & \dots & y_1y_n \\ y_2y_1 & y_2^2 & \dots & y_2y_n \\ \vdots & \vdots & \ddots & \vdots \\ y_ny_1 & y_ny_2 & \dots & y_n^2 \end{matrix}\right) YYT= y12y2y1yny1y1y2y22yny2y1yny2ynyn2

如果 Y Y Y的每一行均值为0的话, Y Y T YY^T YYT对角线上刚好是方差,而不在对角线上的刚好是样本之间的协方差

即:
Y = P X Y = PX Y=PX
Y Y T = ( P X ) ( P X ) T = P X X T P T YY^T = (PX)(PX)^T = PXX^TP^T YYT=(PX)(PX)T=PXXTPT

很明显, X X T XX^T XXT是个实对称矩阵

实对称矩阵一定可以正交对角化

如果我们想要将 Y Y T YY^T YYT除了对角线以外的元素全化为0,也就是求一个P,让 X X T XX^T XXT正交对角化,即:使
P X X T P T = d i a g ( λ 1 , λ 2 , … , λ n ) , λ 1 ≥ λ 2 ≥ … PXX^TP^T = diag(\lambda_1, \lambda_2, \dots, \lambda_n),\lambda_1\ge\lambda_2\ge\dots PXXTPT=diag(λ1,λ2,,λn),λ1λ2

对角线以外的元素全化为0,即最小化Y的各个属性之间的协方差。因为各个属性之间没有相关,才能让属性差异最大,说明属性分布更加离散

P就是特征值按照位置对应的特征向量。
接着我们将原式拆解:
P X X T P T ≈ λ 1 p 1 p 1 T + λ 2 p 2 p 2 T + ⋯ + λ k p k p k T PXX^TP^T \approx \lambda_1p_1p_1^T+\lambda_2p_2p_2^T+\dots+\lambda_kp_kp_k^T PXXTPTλ1p1p1T+λ2p2p2T++λkpkpkT

取前k大的特征值和对应的特征向量,能得到 P X X T P T PXX^TP^T PXXTPT的近似,所以用这些特征向量构成P,P的维度是 k × n k\times n k×n,就得到我们需要的变换矩阵P了

4.6 主成分分析的结论

  1. 将m个样本沿着维度的方向0均值化后按行排成一个矩阵 X m , n X_{m,n} Xm,n并计算得到协方差矩阵 A = X T X A = X^TX A=XTX
  2. 计算协方差矩阵A的n个特征值 λ 1 , λ 2 , … , λ n \lambda_1, \lambda_2,\dots,\lambda_n λ1,λ2,,λn(可能有重复值)和对应的特征向量 u 1 , u 2 , … , u n u_1, u_2, \dots,u_n u1,u2,,un
  3. 将n个特征值按照从大到小的顺序进行排序,相应的将n个特征向量也排序
  4. 选前k个特征向量,按列排列得到一个变换矩阵 T n , k T_{n,k} Tn,k,每个样本经过变换矩阵后得到降维后的样本(由n维变为k维)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值