1 主成分分析 PCA
主成分分析(Principal-component Analysis, PCA) 是这样一种技术:它对由一系列代表高维空间下的点的元组组成的数据集进行分析,寻找那些让元组尽可能排列成直线的方向。其思想是将元组集合看成矩阵M并求解矩阵 M M T MM^T MMT或 M T M M^T M MTM的特征向量。这些特征向量构成的矩阵可以看成是高维空间下的刚性旋转。当对原始数据应用上述转换操作时,主特征向最对应的轴就是点最“分散”的方向。更精确的说法是,该轴是数据方差最大的方向。换句话说,点最好可以看成分布在轴的周围且到轴的偏差较小。同理,次特征向量(次特征值对应的特征向量)对应的轴就是到第一个轴的距离方差最大的那个方向,其余以此类推。
也就是说:在该空间下,第一个坐标轴(对应最大特征值的那个轴)最重要,形式化的说法是沿着该轴点的方差最大。
所以我们要计算: M T M M^T M MTM的最大的特征值,然后将其他向量投影到最大特征值对应的特征向量中。
举一个例子:
特征值分别为58、2、0、0,对应的特征向量如下:
2 奇异值(SVD)分解
令 M 为一个 m x n 的 r 秩矩阵。M 可以转换成三个矩阵相乘的形式。
其中:
(1) U 为 m x r 的列正交矩阵,也就是说任意一列都是单位向量并且任意两列的的内积为0 。
(2) V 为 n x r 的列正交矩阵。需要注意的是.对于四财门通常用其转置矩阵
V
T
V^T
VT, 因此
V
T
V^T
VT的行是正交的。
(3)
∑
\sum
∑是对角矩阵,也就是说其非主对角线上的元素均为0 。
∑
\sum
∑对角线上的元素称为矩阵M的奇异值(singular value)。
对这三个矩阵进行降维的最佳方法就是将最小的那些奇异值置为0。如果将最小的 s 个奇异值置为0, 那么也就可以去掉矩阵 U 和 V 相应的 s 行。
2.1 矩阵 SVD 的计算方式
推导过程如下:
表明 V 是
M
T
M
M^TM
MTM 的特征向量矩阵,而对角矩阵
Σ
2
Σ^2
Σ2 对角线上的元素正好是相应的特征值。
因此,计算 M T M M^TM MTM 恃征对的算法可以用千求解 M 的 SVD 分解结果中的矩阵V, 同时也可以得到 SVD 中的奇异值,此时只需要对 M T M M^TM MTM 的特征值求平方根即可。