原文:https://zhuanlan.zhihu.com/p/26951643
在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。

PCA在机器学习中经常被用到,是数据预处理的重要步骤。它主要基于以下考虑:

  • 高维特征中很多特征之间存在相关性,含有冗余信息
  • 相比于低维数据,高维数据计算更复杂

PCA的数学原理

如下图,平面上有很多二维空间的特征点,如果想对这些特征点做特征降维(变为一维),应该怎么做呢?大家应该都知道需要进行投影,但还要考虑在哪个方向上进行投影,例如图中需要投影到长箭头方向即可,但考虑为什么不在短箭头上投影?

PCA本质上是一个有损的特征压缩过程,但是我们期望损失的精度尽可能地少,也就是希望压缩的过程中保留最多的原始信息。要达到这种目的,我们希望降维(投影)后的数据点尽可能地分散。如图,相比于长箭头,如果在短箭头上进行投影,那么重叠的点会更多,也就意味着信息丢失的更多,因而选择长箭头方向。

PCA数学推导及原理(转)

 

基于这种思想,我们希望投影后的数据点尽可能地分散。而这种分散程度在数学上可以利用方差来表示。设降维后的特征为PCA数学推导及原理(转),也就是希望PCA数学推导及原理(转)尽可能地大(PCA数学推导及原理(转)为特征PCA数学推导及原理(转)中的值,PCA数学推导及原理(转)为均值),而由于在PCA降维前,一般已经做了特征零均值化处理,为了方便,记PCA数学推导及原理(转)

同样,为了减少特征的冗余信息,我们希望降维后的各特征之间互不相关。而不相关性可以用协方差来衡量。设降维后的两个特征为PCA数学推导及原理(转)PCA数学推导及原理(转),则希望PCA数学推导及原理(转)为0。

现假设我们的数据为

PCA数学推导及原理(转)

构造出协方差矩阵,并乘以系数PCA数学推导及原理(转),则

PCA数学推导及原理(转)

可以看出PCA数学推导及原理(转)的对角线元素就是各特征的方差,其他各位置的元素就是各特征之间的协方差。因而只需要降维后的数据协方差矩阵满足对角矩阵的条件即可。

PCA数学推导及原理(转)为原始数据PCA数学推导及原理(转)做完PCA降维后的数据,满足PCA数学推导及原理(转)(矩阵乘法相当于映射,若PCA数学推导及原理(转)为的列向量为基向量,那么就相当于映射到新的坐标系),PCA数学推导及原理(转)PCA数学推导及原理(转)分别为对应的协方差矩阵,那么

PCA数学推导及原理(转)

因而,我们只需要计算出PCA数学推导及原理(转),使PCA数学推导及原理(转)满足对角矩阵的条件即可。而PCA数学推导及原理(转)为实对称矩阵,我们只需要对它做矩阵对角化即可。

PCA的原理基本就是这样,还是挺简单的。

 

PCA的推导证明

PCA的构建:PCA需要构建一个编码器PCA数学推导及原理(转),由输入PCA数学推导及原理(转)得到一个最优编码PCA数学推导及原理(转)(若PCA数学推导及原理(转),则做了降维编码);同时有一个解码器PCA数学推导及原理(转),解码后的输出PCA数学推导及原理(转)尽可能地与PCA数学推导及原理(转)相近。

PCA由我们所选择的解码器决定,在数学上,我们使用矩阵将PCA数学推导及原理(转)映射回PCA数学推导及原理(转),即PCA数学推导及原理(转),其中PCA数学推导及原理(转)定义解码的矩阵。

为了限制PCA的唯一性,我们限制PCA数学推导及原理(转)中所有列向量彼此正交且均有单位范数(否则PCA数学推导及原理(转)PCA数学推导及原理(转)同比例增加、减少会产生无数个解)。

在数学上,为了满足PCA构建中的条件,我们利用PCA数学推导及原理(转)范数来衡量PCA数学推导及原理(转)PCA数学推导及原理(转)的相近程度。即PCA数学推导及原理(转),也就是PCA数学推导及原理(转)

该最小化函数可以简化为

PCA数学推导及原理(转)

因而,优化目标变为PCA数学推导及原理(转),再带入PCA数学推导及原理(转)

PCA数学推导及原理(转)

再求偏导

PCA数学推导及原理(转)

于是我们可以得到编码函数PCA数学推导及原理(转),PCA的重构操作也就可以定义为PCA数学推导及原理(转)。问题接着就转化成如何求编码矩阵PCA数学推导及原理(转)。由于PCA算法是在整个数据矩阵上进行编码,因而也要用PCA数学推导及原理(转)对所有数据进行解码,所以需要最小化所有维上的误差矩阵的Frobenius范数:

PCA数学推导及原理(转)

我们考虑PCA数学推导及原理(转)的情况,则PCA数学推导及原理(转)是一个单一向量PCA数学推导及原理(转),则上式可以转化为

PCA数学推导及原理(转)

PCA数学推导及原理(转)为标量,转置与自身相等,上式通常写作

PCA数学推导及原理(转)

再将每一个输入点叠加起来,我们得到

PCA数学推导及原理(转)

Frobenius范数简化成(考虑约束条件PCA数学推导及原理(转)

PCA数学推导及原理(转)

最后的优化目标可以利用PCA数学推导及原理(转)以及拉格朗日乘数法来求解,可得最优的PCA数学推导及原理(转)PCA数学推导及原理(转)的最大特征值对应的特征向量。

上面的推导特定于PCA数学推导及原理(转)的情况,仅有一个主成分。一般来说,矩阵PCA数学推导及原理(转)PCA数学推导及原理(转)的前PCA数学推导及原理(转)个最大的特征值对应的特征向量组成(利用归纳法,将PCA数学推导及原理(转)表示为PCA数学推导及原理(转)的函数即可,需要两个辅助矩阵:单位对角矩阵PCA数学推导及原理(转)以及PCA数学推导及原理(转),省去证明过程)。

参考

相关文章:

  • 2021-05-28
  • 2021-04-27
  • 2022-12-23
  • 2021-08-22
  • 2021-12-07
猜你喜欢
  • 2021-04-17
  • 2021-09-10
  • 2021-11-30
  • 2018-05-17
  • 2022-12-23
相关资源
相似解决方案