主成分分析 所有知识点全解

基本概念梳理

主成分分析方法,是一种使用最广泛的数据降维算法。主要思想是将n维特征映射到k维上,这k维是全新的正交特征,这些正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。这k维构造得好不好,主要看k维空间下,对原始样本空间中数据的特点是否进行了有效的保持,这样机器学习性能才不会大打折扣,保持越多构造得就越好。

这些k维空间的正交特征可以理解为k个坐标轴,这k个坐标轴的选取是有规律的,一般第一个坐标轴选取原始数据中方差最大的方向,第m个坐标轴选取与前m-1个正交且使得数据在该轴上投影的方差最大的。

于是可以发现,大部分的方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0,于是就可以忽略剩下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴,实现对数据特征的降维处理。

那么如何去选取确定这些坐标轴具体的方向呢?就需要用到协方差矩阵,确定协方差矩阵的特征值对应的特征向量,按特征值大小来选取前k个坐标轴(也就是特征向量),即可确定坐标轴了。事实上,主成分分析集成了大量线性代数和概率统计的知识点,可以看一下之前写的几篇博客,可作为主成分分析的先导篇:透彻理解协方差与协方差矩阵协方差矩阵的几何性质ESL3.4 学习笔记

看过之后即可知道,其实线性回归中的岭回归或者L2范数是根据数据在主成分方向上的数据分布和奇异值的大小来收缩权重,还有主成分分析其实是依靠特征值或奇异值分解协方差矩阵来进行的分析,都是有理有据令人信服的。

接下来就开始从统计学的角度,具体理解主成分分析。

再数据总体上进行的主成分分析称为总体主成分分析,在有限样本上进行的主成分分析称为样本主成分分析,前者是后者的基础。

总体主成分分析

统计分析中,数据的变量之间存在的相关性增加了分析的难度。所以就有由少数不相关的变量来代替相关的变量的方法,来表示数据,并要求能保留数据中的大部分信息。

在主成分分析中,首先要对数据进行规范化,使得数据的每一个变量的平均值为0,方差为1。之后对数据进行正交变换,把原来由线性相关变量表示的数据,通过正交变换变换成由若干个线性无关的新变量表示的数据(线性无关是为了区分开新变量,新变量上的方差大是为了保证这个新变量具有重要意义)。通过主成分分析,可以利用主成分近似地表示原始数据,这就类似于发现数据的基本结构,也可以理解为数据降维

统计学习方法中的几何解释如下:
在这里插入图片描述
如果给定 x = ( x 1 , x 2 , ⋯   , x m ) T \boldsymbol{x}=\left(x_{1}, x_{2}, \cdots, x_{m}\right)^{\mathrm{T}} x=(x1,x2,,xm)T是m为随机变量,其到m维随机变量 y = ( y 1 , y 2 , ⋯   , y m ) T \boldsymbol{y}=\left(y_{1}, y_{2}, \cdots, y_{m}\right)^{\mathrm{T}} y=(y1,y2,,ym)T的线性变换为:
y i = α i T x = α 1 i x 1 + α 2 i x 2 + ⋯ + α m i x m (16.1) y_{i}=\alpha_{i}^{\mathrm{T}} \boldsymbol{x}=\alpha_{1 i} x_{1}+\alpha_{2 i} x_{2}+\cdots+\alpha_{m i} x_{m}\tag{16.1} yi=αiTx=α1ix1+α2ix2++αmixm(16.1)
则有定义如下
在这里插入图片描述
这一部分的详细解释以及牵扯到的相关性质,在透彻理解协方差与协方差矩阵协方差矩阵的几何性质这两篇博客中都有详细的介绍,重复内容在此就不展开介绍了,看完这两篇里面的内容再理解本篇笔记的知识就变得非常容易了。

在使用主成分分析的时候,有一个最基本的定理被许多人忽视了,即
在这里插入图片描述
简单讲就是,为什么协方差矩阵特征值从大到小排列之后,第几个特征值就对应第几个主成分的方差?如果从协方差的几何意义上考虑协方差矩阵的几何性质这篇博客中给出了答案。如果从数学意义上推导,统计学习方法第二版301页中给出了答案,用的是拉格朗日乘子法推导的。

此外,还有一个定理也常常被忽视。我们选择k个线性无关的变量来代替m个原有的线性相关的变量,那么为什么k是最优选择呢?或者说为什么就可以代替原来的m个原有的线性相关的变量了呢?首先明确保留原有变量的大部分信息,这里的信息是指原有变量的方差,这里存在着如下定理:
在这里插入图片描述
y的协方差阵的迹就是y各个随机变量的方差之和。通常令y的方差之和占x的方差之和的70%~80%以上,这样就反映了主成分保留信息的比例。


上面定理的证明主要证明步骤简单说下:
B是缩减x的维度的一个列满秩阵,也就是列向量(q个向量)线性无关。要证明的是B这样缩减维度的矩阵,在取A的前q列时能保留最多信息

证明思路就是,假设B和A无关,由于A是m维空间上的正交基,所以B可以由A的列表示
β k = ∑ j = 1 m c j k α j , k = 1 , 2 , ⋯   , q B = A C \begin{array}{c} \beta_{k}=\sum_{j=1}^{m} c_{j k} \alpha_{j}, \quad k=1,2, \cdots, q \\ B=A C \end{array} βk=j=1mcjkαj,k=1,2,,qB=AC
下面就通过上面的式子,写出目标函数的表达式,也就是y协方差阵的迹的表达式。首先有
B T Σ B = C T A T Σ A C = C T Λ C = ∑ j = 1 m λ j c j c j T B^{\mathrm{T}} \Sigma B=C^{\mathrm{T}} A^{\mathrm{T}} \Sigma A C=C^{\mathrm{T}} \Lambda C=\sum_{j=1}^{m} \lambda_{j} c_{j} c_{j}^{\mathrm{T}} BTΣB=CTATΣAC=CTΛC=j=1mλjcjcjT
所以表达式为
tr ⁡ ( B T Σ B ) = ∑ j = 1 m λ j tr ⁡ ( c j c j T ) = ∑ j = 1 m λ j tr ⁡ ( c j T c j ) = ∑ j = 1 m λ j c j T c j = ∑ j = 1 m ∑ k = 1 q λ j c j k 2 \begin{aligned} \operatorname{tr}\left(B^{\mathrm{T}} \Sigma B\right) &=\sum_{j=1}^{m} \lambda_{j} \operatorname{tr}\left(c_{j} c_{j}^{\mathrm{T}}\right) \\ &=\sum_{j=1}^{m} \lambda_{j} \operatorname{tr}\left(c_{j}^{\mathrm{T}} c_{j}\right) \\ &=\sum_{j=1}^{m} \lambda_{j} c_{j}^{\mathrm{T}} c_{j} \\ &=\sum_{j=1}^{m} \sum_{k=1}^{q} \lambda_{j} c_{j k}^{2} \end{aligned} tr(B

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值