7.4.4 主成分分析 PCA
假设我们研究的对象具有相关属性,令属性向量为 x = ( x 1 , x 2 , ⋯ , x m ) \mathbf{x} = (x_1,x_2,\cdots,x_m) x=(x1,x2,⋯,xm) 即有 m m m 个属性。例如分析学生成绩,每个学生有数学、语文、英语、物理、化学等 5 5 5 门学科成绩,则成绩向量为 x = ( x 1 , x 2 , ⋯ , x 5 ) \mathbf{x} = (x_1,x_2,\cdots,x_5) x=(x1,x2,⋯,x5) 即有 5 5 5 个属性。我们收集了 n n n 个学生的成绩,则所有学生成绩构成数据矩阵 A = [ x 1 , x 2 , ⋯ , x n ] A = [\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_n] A=[x1,x2,⋯,xn] 即数据矩阵每列为一个学生成绩向量,共有 n n n 个向量。本节为了表述方便,把数据矩阵每列向量记为 x i \mathbf{x}_i xi 或 a i \mathbf{a}_i ai 。每个学生成绩向量是 m m m 维空间的点,数据矩阵是 n n n 个点构成的点云。这些点云虽然位于 m m m 维空间,但大部分情况下位于 m m m 维空间中低维子空间,因为每个学生成绩高度相关,即成绩好的学生每门课成绩都好,成绩差的学生每门课成绩都差。由于点云位于低维子空间,所以其真实维度远小于 m m m 维。
PCA分析之前,先要对数据进行中心化,即每个新属性 x i ′ = ( x i − x ˉ i ) x'_i = (x_i - \bar x_i) xi′=(xi−xˉi) 其中 x ˉ i \bar x_i xˉi 是属性平均值。例如学生成绩,先计算所有学生数学的平均值,然后新数学成绩为数学成绩-平均值,其它科目成绩同样处理。数学描述为记 x ˉ \mathbf{\bar x} xˉ 为属性平均值,则新属性为 x i ′ = x i − x ˉ \mathbf{x}'_i = \mathbf{x}_i - \mathbf{\bar x} xi′=xi−xˉ 。为了简化符号,把中心化后数据矩阵还是记为 A A A 。
根据奇异值分解 A T u i = σ i v i A^T\mathbf{u}_i = \sigma_i \mathbf{v}_i ATui=σivi 得
( A T u i ) T A T u i = ( σ i v i ) T σ i v i = σ i 2 (A^T\mathbf{u}_i)^TA^T\mathbf{u}_i = (\sigma_i \mathbf{v}_i)^T\sigma_i \mathbf{v}_i = \sigma^2_i (ATui)TATui=(σivi)Tσivi