[DL Note] 线性代数:Moore-Penrose 伪逆

  具有 $n$ 个未知数的 $m$ 个方程组成的线性方程组可以写成

\begin{equation}
\boldsymbol A \boldsymbol x = \boldsymbol y \tag{1}
\end{equation}

其中 $\boldsymbol A$ 是 $m \times n$ 矩阵。我们希望通过 $\boldsymbol A$ 的左逆 $\boldsymbol B$ 来求解式 $(1)$。在式 $(1)$ 等号两边同乘以 $\boldsymbol B$,得到

\begin{equation}
\boldsymbol x = \boldsymbol B \boldsymbol y \tag{2}
\end{equation}

如果 $m \neq n$,即 $\boldsymbol A$ 不是方阵,则 $\boldsymbol A$ 的逆没有定义。如果 $m > n$,则式 $(1)$ 可能没有解;如果 $m < n$,则式 $(1)$ 可能有多个解。

  当 $\boldsymbol A$ 没有逆时,要求解式 $(1)$ 所示的方程,则引入伪逆的概念。Moore-Penrose 伪逆(Moore-Penrose pseudoinverse)定义为

\begin{equation}
\boldsymbol A^+ = \lim_{\alpha \rightarrow 0} (\boldsymbol A^\mathsf{T} \boldsymbol A + \alpha \boldsymbol I)^{-1} \boldsymbol A^\mathsf{T} \tag{3}
\end{equation}

实际计算伪逆时,则使用如下的方法

\begin{equation}
\boldsymbol A^+ = \boldsymbol V \boldsymbol D^+ \boldsymbol U^\mathsf{T} \tag{4}
\end{equation}

其中 $\boldsymbol V$、$\boldsymbol D$、$\boldsymbol U$ 是对 $\boldsymbol A$ 进行奇异值分解后得到的矩阵。$\boldsymbol D^+$ 是 $\boldsymbol D$ 的伪逆,是由 $\boldsymbol D$ 的非零元素取倒数后再转置得到的。

  对于式 $(1)$ 中的 $m \times n$ 矩阵 $\boldsymbol A$,当 $m > n$ 时,使用伪逆得到的解是众多解中的一种,特殊地,$\boldsymbol x = \boldsymbol A^+ \boldsymbol y$ 式方程所有可能解中欧几里得范数($\Vert \boldsymbol x \Vert_2$)最小的一个。当 $m < n$ 时,方程可能没有解,通过伪逆得到的解使得 $\boldsymbol A \boldsymbol x$ 到 $\boldsymbol y$ 的欧氏距离 $\Vert \boldsymbol A \boldsymbol x – \boldsymbol y\Vert$ 最小。