声明:该文章翻译自MIT出版的《DEEP LEARNING》,博主会定期更新文章内容。由于博主能力有限,中间有过错之处希望大家给予批评指正,一起学习交流。
在2.7节中,我们看到如何将矩阵分解为特征向量和特征值。奇异值分解(SVD)提供了另一种因式分解矩阵方法,即分解为奇异向量和奇异值。 SVD让我们发现了一些和特征分解相同的信息。然而,SVD却更加适用。因为每个实矩阵具有奇异值分解,但不一定有特征值分解。例如,如果矩阵不是方阵,那么特征分解就未定义,这样的话,我们必须用奇异值分解代替。
回想一下,特征分解涉及分析一个矩阵 A ,来发现特征向量的矩阵 V 和特征值 λ 的向量,使得我们可以将 A 重写为:
这些矩阵都被定义成特定的结构。矩阵 U 和 V 都是正交矩阵,矩阵 D 是对角矩阵,注意, D 没必要是方阵。
沿着 D 对角线的元素叫做矩阵 A 的奇异值。 U 的列叫做左奇异向量, V 的列叫做右奇异向量。
事实上,我们可以将 A 的奇异值分解解释为 A 函数的特征分解。 A 的左奇异向量是 AAT 的特征向量 ,而 A 的右奇异向量是 ATA 的特征向量, A 的非零奇异值是 ATA 特征值的平方根。 AAT 同样如此。
SVD最有用的功能可能是部分地概括了非方阵的矩阵求逆,我们将在下一节中看到。