PCA——主成分分析

一、简介

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

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

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

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

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

二、定义和导出

 假设 x = ( x 1 , x 2 , ⋯   , x m ) T \bm{x} = (x_1, x_2, \cdots, x_m)^T x=(x1,x2,,xm)T m m m维随机变量,其均值 μ \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 Σ Σ = c o v ( 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]

 考虑由 m m m维随机变量 x \bm x x m m m维随机变量 y = ( y 1 , y 2 , ⋯   , y m ) T \bm y = (y_1, y_2, \cdots, y_m)^T y=(y1,y2,,ym)T的线性变换 y i = α i T x = α 1 i x 1 + α 2 i x 2 + ⋯ + α m i x m y_i = \alpha_i^T\bm x=\alpha_{1i}x_1 + \alpha_{2i}x_2 + \cdots + \alpha_{mi}x_m yi=αiTx=α1ix1+α2ix2++αmixm
其中, α i T = ( α 1 i , α 2 i , ⋯   , α m i ) , 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 ( y i ) = α i T μ , i = 1 , 2 , ⋯   , m E(y_i) = \alpha_i^T\mu, i = 1, 2, \cdots, m E(yi)=αiTμ,i=1,2,,m v a r ( y i ) = α i T Σ α i , i = 1 , 2 , ⋯   , m var(y_i)=\alpha_i^T\Sigma\alpha_i, i = 1, 2, \cdots, m var(yi)=αiTΣαi,i=1,2,,m c o v ( y i , y j ) = α i T Σ α j , i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , m cov(y_i, y_j) = \alpha_i^T\Sigma\alpha_j, i = 1, 2, \cdots, m; j = 1, 2, \cdots, m cov(yi,yj)=αiTΣαj,i=1,2,,m;j=1,2,,m

2.1 定义

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

  1. 系数向量 α i T \alpha_i^T αiT是单位向量,即 α i T α 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. 变量 y i y_i yi与变量 y j y_j yj互不相关,即 c o v ( y i , y j ) = 0 ( i ! = j ) cov(y_i, y_j) = 0(i != j) cov(yi,yj)=0(i!=j)
  3. 变量 y 1 y_1 y1 x \bm x x的所有线性变换中方差最大的; y 2 y_2 y2是与 y 1 y_1 y1不相关的 x \bm x x的所有线性变换中方差最大的;一般的, y i y_i yi是与 y 1 , y 2 , ⋯   , y i − 1 y_1, y_2, \cdots, y_{i-1} y1,y2,,yi1都不相关的 x \bm x x的所有线性变换中方差最大的;

这时分别称 y 1 , y 2 , ⋯   , y m y_1, y_2, \cdots, y_m y1,y2,,ym x \bm x x的第一主成分、第二主成分、……、第 m m m主成分。

2.2 导出

 上述条件1表明线性变换是正交变换, α 1 , α 2 , ⋯   , α m \alpha_1, \alpha_2, \cdots, \alpha_m α1,α2,,αm是其一组标准正交基: α i T α i = { 1 , i = j 0 , 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 x x的所有线性变换 α 1 T x = ∑ i = 1 m α i 1 x i \alpha_1^T\bm x=\sum_{i=1}^m\alpha_{i1}x_i α1Tx=i=1mαi1xi中,在 α 1 T α 1 = 1 \alpha_1^T\alpha_1=1 α1Tα1=1的条件下,求方差最大的,得到 x \bm x x的第一主成分;
  2. 在与 α 1 T x \alpha_1^T\bm x α1Tx不相关的 x \bm x x的所有线性变换 α 2 T x = ∑ i = 1 m α i 2 x i \alpha_2^T\bm x=\sum_{i=1}^m\alpha_{i2}x_i α2Tx=i=1mαi2xi中, α 2 T α 2 = 1 \alpha_2^T\alpha_2=1 α2Tα2=1的条件下,求方差最大的,得到 x \bm x x的第二主成分;
  3. 在第 k k k步,在与 α 1 T x , α 2 T x , ⋯   , α k − 1 T x \alpha_1^T\bm x, \alpha_2^T\bm x, \cdots, \alpha_{k-1}^T\bm x α1Tx,α2Tx,,αk1Tx不相关的 x \bm x x的所有线性变换 α k T x = ∑ i = 1 m α i k x i \alpha_k^T\bm x=\sum_{i=1}^m\alpha_{ik}x_i αkTx=i=1mαikxi中, α k T α k = 1 \alpha_k^T\alpha_k=1 αkTαk=1的条件下,求方差最大的,得到 x \bm x x的第 k k k主成分;
  4. 直到得到 x \bm x x的第 m m m主成分

2.3 主要性质

 设 x \bm x x m m m维随机变量, Σ \Sigma Σ x \bm x x的协方差矩阵, Σ \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 x x的第 k k k主成分是 y k = α k T x = α 1 k x 1 + α 12 k x 2 + ⋯ + α m k x m , k = 1 , 2 , ⋯   , m y_k=\alpha_k^T\bm x=\alpha_{1k}x_1+\alpha_{12k}x_2+\cdots+\alpha_{mk}x_m, k = 1, 2, \cdots, m yk=αkTx=α1kx1+α12kx2++αmkxm,k=1,2,,m
x \bm x x的第 k k k主成分的方差是 v a r ( y k ) = α k T Σ α k = λ k , k = 1 , 2 , ⋯   , m var(y_k)=\alpha_k^T\Sigma\alpha_k=\lambda_k, k = 1, 2, \cdots, m var(yk)=αkTΣαk=λk,k=1,2,,m,即是协方差矩阵 Σ \Sigma Σ的第 k k k个特征值。(可用拉格朗日乘子法进行证明)

2.4 方差贡献率

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

k k k个主成分 y 1 , y 2 , ⋯   , y k y_1, y_2, \cdots, y_k y1,y2,,yk累计方差贡献率定义为 k k k个方差之和与所有方差之和的比 ∑ i = 1 k η i = ∑ i = 1 k λ i ∑ i = 1 m λ 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

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

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

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

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

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主成分分析(Principal Component Analysis,PCA)是一种常用的特征提取方法。它通过线性变换将原始数据投影到一个新的坐标系中,使得投影后的数据具有最大的方差。这些新的坐标轴被称为主成分,它们是原始数据中最能区分样本之间差异的方向。 PCA的基本思想是找到一个最佳的投影方向,使得数据在该方向上的投影具有最大的方差,然后找到一个与第一个方向正交的第二个方向,使得数据在该方向上的投影具有次大的方差,依此类推。通过选择前k个主成分,就可以将原始数据降维到k维空间中。 PCA具有以下几个应用和优点: 1. 数据降维:通过PCA可以将高维数据降低到低维空间,减少特征数量,同时保留了原始数据中最重要的信息。 2. 去除冗余信息:PCA可以去除原始数据中的冗余信息,提取出最相关的特征。 3. 数据可视化:PCA可以将高维数据映射到二维或三维空间中,便于可视化观察和分析。 4. 数据预处理:PCA可以在机器学习任务前对数据进行预处理,减少噪声和冗余信息对模型的影响。 5. 特征选择:基于PCA的方差解释率,可以选择保留多少个主成分,从而选择最具代表性的特征。 需要注意的是,PCA是一种线性降维方法,对于非线性的数据分布效果可能不好。在这种情况下,可以考虑使用非线性降维方法,如核主成分分析(Kernel PCA)等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值