乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

2.8 奇异值分解

书籍名:《深度学习》    作者:伊恩.古德费洛



在第2.7节,我们探讨了如何将矩阵分解成特征向量和特征值。还有另一种分解矩阵的方法,称为奇异值分解(singular  value  decomposition,SVD),是将矩阵分解为奇异向量(singular  vector)和奇异值(singular  value)。通过奇异值分解,我们会得到一些与特征分解相同类型的信息。然而,奇异值分解有更广泛的应用。每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。例如,非方阵的矩阵没有特征分解,这时我们只能使用奇异值分解。

回想一下,我们使用特征分解去分析矩阵A时,得到特征向量构成的矩阵V和特征值构成的向量λ,我们可以重新将A写作

奇异值分解是类似的,只不过这回我们将矩阵A分解成三个矩阵的乘积:

假设A是一个m×n的矩阵,那么U是一个m×m的矩阵,D是一个m×n的矩阵,V是一个n×n矩阵。

这些矩阵中的每一个经定义后都拥有特殊的结构。矩阵U和V都定义为正交矩阵,而矩阵D定义为对角矩阵。注意,矩阵D不一定是方阵。

对角矩阵D对角线上的元素称为矩阵A的奇异值(singular  value)。矩阵U的列向量称为左奇异向量(left  singular  vector),矩阵V的列向量称右奇异向量(right  singular  vector)。

事实上,我们可以用与A相关的特征分解去解释A的奇异值分解。A的左奇异向量(left  singular  vector)是的特征向量。A的右奇异向量(right  singular  vector)是的特征向量。A的非零奇异值是特征值的平方根,同时也是特征值的平方根。

SVD最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。我们将在下一节中探讨。