1. Definitions(定义)
主成分分析(principal components analysis, PCA)简称PCA,是一种广泛应用于数据降维(data dimensionality reduction)、有损数据压缩(lossy data compression)、特征提取(feature extraction)以及数据可视化等的一种技术,也被称为Karhunen-Lo`eve变换。
关于PCA的定义主要有两种:
- PCA是一种将数据投影到低维线性空间(principal subspace,主成子空间)使得投影之后的差异最大的正交投影。
- PCA是一种最小化平均投影成本(average projection cost),投影点与数据点之间的均方距离最小,即数据损失精度最小。
2. Example (例子)
我们通过一个有损压缩的例子来介绍PCA。假设我们有 m m 个数据点 ,其中数据维度为 x(1)∈Rn x ( 1 ) ∈ R n 。因此,存储这些数据,需要 m×n m × n 个单元。为了节省存储单元,我们考虑有损压缩。有损压缩,意味着我们可以用较少的存储单元储存数据,当然,这会损失些精度。因此我们要尽量的减少精度的损失。
我们将这些数据压缩成低维数据,即每一个 x(i)∈Rn x ( i ) ∈ R n 都可以找到一个对应的 c∈Rl,(n≫l) c ∈ R l , ( n ≫ l ) 。这里,我们用映射 f:Rn→Rl f : R n → R l 来表示,即 f(x)=c f ( x ) = c 。对应的解压缩,我们用函数 g:Rl→Rn g : R l → R n 来表示,即 x^=g(f(x)) x ^ = g ( f ( x ) ) 。
为了解压缩尽量简单,我们限制解压缩是经过一个线性变换矩阵 D D 来完成,则解压缩信号表示为 g(c)=Dc g ( c ) = D c 。这里,我们限制矩阵 D D 是列正交矩阵(矩阵中列两两正交)。一般来说,增大 D D 的能量,需要降低 c c 的能量,因此,我们对 D D 进行归一化处理(归一化与未归一化大部分情况的结果是相等的,但也存在一些情况下归一化的情况更好,因此通常我们会对 D D 进行归一化处理)。
我们从矩阵乘法的角度来理解 x=Dc x = D c 。通常,我们理解矩阵乘法从图的左图出发,但一般不会考虑右图的理解方式。这里,我们从右图的理解方式出发。由于 D D 是列正交的,因此 { di}i∈[l] { d i } i ∈ [ l ] 张成了一个 l l 空间,而