为什么 PCA 最大化投影的总方差?

机器算法验证 机器学习 方差 主成分分析 降维 特征值
2022-02-14 12:16:17

Christopher Bishop 在他的《模式识别和机器学习》一书中写道,在将数据投影到正交空间到先前选择的分量之后,每个连续的主分量都会使投影的方差最大化到一维。其他人展示了类似的证据。

然而,这仅证明每个连续分量是对一维的最佳投影,就最大化方差而言。为什么这意味着首先选择这样的组件来最大化投影到 5 维的方差?

2个回答

几个维度的方差(“总方差”)理解为每个维度的方差之和。在数学上,它是协方差矩阵的迹:迹只是所有对角元素的总和。这个定义有很多很好的属性,例如轨迹在正交线性变换下是不变的,这意味着如果你旋转你的坐标轴,总方差保持不变。

Bishop 的书(第 12.1.1 节)证明了协方差矩阵的前导特征向量给出了最大方差的方向。第二个特征向量在一个额外的约束下给出了最大方差的方向,它应该与第一个特征向量正交,等等。(我相信这构成了练习 12.1)。如果目标是最大化 2D 子空间中的总方差,那么这个过程是一个贪心最大化:首先选择一个使方差最大化的轴,然后选择另一个。

您的问题是:为什么这个贪婪过程会获得全局最大值?

这是@whuber 在评论中建议的一个很好的论点。让我们首先将坐标系与 PCA 轴对齐。协方差矩阵变为对角线:Σ=diag(λi). 为简单起见,我们将考虑相同的二维情况,即具有最大总方差的平面是什么?我们要证明它是前两个基向量给出的平面(总方差λ1+λ2)。

考虑一个由两个正交向量跨越的平面uv. 该平面的总方差为

uΣu+vΣv=λiui2+λivi2=λi(ui2+vi2).
所以它是特征值的线性组合λi系数都是正的,不超过1(见下文),总和为2. 如果是这样,那么几乎很明显达到最大值λ1+λ2.

只剩下表明系数不能超过1. 请注意uk2+vk2=(uk)2+(vk)2, 在哪里k是个k-th 基向量。这个量是投影的平方长度k到跨越的平面上uv. 因此它必须小于平方长度k这等于|k|2=1,QED。

另请参阅@cardinal 对 PCA 的目标函数是什么的回答(它遵循相同的逻辑)。

如果你有N不相关的随机变量按方差降序排序,并被要求选择k它们中的总和的方差最大化,您是否同意选择第一个的贪婪方法k会做到这一点吗?

投影到其协方差矩阵的特征向量上的数据本质上是N不相关的数据列,其方差等于各自的特征值。

为了使直觉更清晰,我们需要将方差最大化与计算具有最大特征值的协方差矩阵的特征向量联系起来,并将正交投影与消除相关性联系起来。

第二个关系对我来说很清楚,因为两个(零均值)向量之间的相关系数与它们的内积成正比。

方差最大化与协方差矩阵的特征分解之间的关系如下。

假使,假设D是列居中后的数据矩阵。我们需要找到最大方差的方向。对于任何单位向量v, 投影后的方差v

E[(Dv)tDv]=vtE[DtD]v=vtCov(D)v

如果v是的特征向量Cov(D)对应最大的特征值。