在SVD的基础上,深入理解PCA。
本文涉及到仿射变换、SVD等多个概念,可以先看参考文献,本文作为复习理解之用。
基本思想
降维是机器学习中很常见的一种思维方式,一般来说,可以通过线性投影和非线性映射进行。
PCA是一种简单的线性映射,当考虑降维时,我们一般有两种思路:
- 找到d-维仿射变换子空间,在合适的投影下,新的投影点与原先的投影点就接近。也就是说,在新投影下能最大限度的保持原数据的特征。
- 找到d-位投影,尽可能多的保留数据的变动(方差)。
我们将会从这两个思路分别进行求解,可以看到,这两个目标实际上等价。
定义
首先定义一些常用的量
样本均值
样本协方差
其中 xi x i 为数据样本(列向量),因此可以得到 X=(x1,...,xn) X = ( x 1 , . . . , x n ) 为 p×n p × n 矩阵,因此,写成矩阵的形式为
直观理解
首先,让我们用不是很严格的数学公式来直观理解PCA。
我们很常见的思想是使得协方差矩阵的方差尽可能大(保留更多有效信息),而让协方差尽可能的小(防止数据冗余),在协方差矩阵中则表现为对角矩阵 D D 。
我们令经过d-维基 变换后的新坐标为 y y ,因此可得:
这个式子有着特殊的含义。其中, D D 是新的协方差矩阵(对角矩阵),而 则是原始数据的协方差矩阵, V V 则是d-维正交基。
因此,这个式子可以理解为:对协方差矩阵 ,找一个 V V ,使得其转变为对角矩阵。而协方差矩阵是实对称矩阵,一定能够对角化,证明了这一点的完备性。
因此,我们只需要对协方差矩阵进行对角化,然后求出其对应的特征向量,即为新坐标下的正交基 。对 y=Vx y = V x 进行坐标变换则求到了新坐标下的PCA坐标。
PCA是最佳的仿射变换拟合
我们要对每个近似 xi x i 近似(由仿射变换的定义):
其中, Vp×d=(v1,..,vd) V p × d = ( v 1 , . . , v d ) 为d-维子空间中的标准正交基, μ∈Rp μ ∈ R p 是平移量, βj β j 为在基