0
点赞
收藏
分享

微信扫一扫

机器学习中的数学——奇异值分解


分类目录:​​《算法设计与分析》总目录​​

在​​《机器学习中的数学——特征分解》​​,我们探讨了如何将矩阵分解成特征向量和特征值。还有另一种分解矩阵的方法,被称为奇异值分解,将矩阵分解为奇异向量和奇异值。通过奇异值分解,我们会得到一些与特征分解相同类型的信息。然而,奇异值分解有更广泛的应用。每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。例如,非方阵的矩阵没有特征分解,这时我们只能使用奇异值分解。回想一下,我们使用特征分解去分析矩阵 A A A时,得到特征向量构成的矩阵 V V V和特征值构成的向量 λ λ λ,我们可以重新将 A A A写作:

A = V diag ( λ ) V − 1 A=V\text{diag}(\lambda)V^{-1} A=Vdiag(λ)V−1

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

A = U D V T A=UDV^T A=UDVT

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

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

对角矩阵 D D D对角线上的元素被称为矩阵 A A A的奇异值。矩阵 U U U的列向量被称为左奇异向量,矩阵 V V V的列向量被称右奇异向量。

事实上,我们可以用与 A A A相关的特征分解去解释 A A A的奇异值分解。 A A A的左奇异向量是 A A T AA^T AAT的特征向量。 A A A的右奇异向量是 A T A A^TA ATA的特征向量。 A A A的非零奇异值是 A T A A^TA ATA特征值的平方根,同时也是 A A T AA^T AAT特征值的平方根。



举报

相关推荐

0 条评论