在很多情况下,数据中的一小段携带了数据集中的大部分信息,其他信息要么是噪声,要么就是毫不相关的信息。在线性代数中还有很多矩阵分解技术。矩阵分解可以将原始矩阵表示成新的易于处理的形式,这种新形式是两个或多个矩阵的乘积。我们将这种分解过程想象成代数中的因子分解。
将12分解成两个数的乘积,(1,12)、(2,6)、(3,4)都是合理的答案。
不同的矩阵分解技术具有不同的性质。其中有些更适合于某个应用,有些则更适合于其他应用。最常见的一种矩阵分解技术就是SVD。SVD将原始的数据集矩阵Data分解成三个矩阵U、、
。如果原始矩阵Data是m行n列,那么U、
、
就分别是m行m列、m行n列和n行n列。上述过程可以写成如下形式:
上述分解中会构建一个矩阵,该矩阵只有对角元素,其他元素均为0.另一个惯例就是,
的对角元素是从大到小排列的。这些对角元素称为奇异值,它们对应了原始数据矩阵Data的奇异值。在PCA中,我们得到的是矩阵的特征值,它们告诉我们数据集中的重要特征。
中的奇异值也是如此。奇异值和特征值是有关系的。这里的奇异值就是矩阵
特征值的平方根。
矩阵只有从大到小排列的对角元素。在科学和工程中,一直存在这样一个普遍事实:子啊某个奇异值的数目(r个)之后,其他的奇异值都置为0。这意味着数据集中仅有r个重要特征,而其余特征则都是噪声或者冗余特征。