[DL Note] 线性代数:Moore-Penrose 伪逆
具有 n 个未知数的 m 个方程组成的线性方程组可以写成
Ax=y
其中 A 是 m×n 矩阵。我们希望通过 A 的左逆 B 来求解式 (1)。在式 (1) 等号两边同乘以 B,得到
x=By
如果 m≠n,即 A 不是方阵,则 A 的逆没有定义。如果 m>n,则式 (1) 可能没有解;如果 m<n,则式 (1) 可能有多个解。
当 A 没有逆时,要求解式 (1) 所示的方程,则引入伪逆的概念。Moore-Penrose 伪逆(Moore-Penrose pseudoinverse)定义为
A+=limα→0(ATA+αI)−1AT
实际计算伪逆时,则使用如下的方法
A+=VD+UT
其中 V、D、U 是对 A 进行奇异值分解后得到的矩阵。D+ 是 D 的伪逆,是由 D 的非零元素取倒数后再转置得到的。
对于式 (1) 中的 m×n 矩阵 A,当 m>n 时,使用伪逆得到的解是众多解中的一种,特殊地,x=A+y 式方程所有可能解中欧几里得范数(‖x‖2)最小的一个。当 m<n 时,方程可能没有解,通过伪逆得到的解使得 Ax 到 y 的欧氏距离 ‖Ax–y‖ 最小。