[Math] Derivation of Minimum Norm Least Squares (MNLS) with Moore-Penrose pseudoinverse

least squareslinear algebraoptimizationpseudoinverse

In sLORETA method there is a cost function as $F = || \phi – KJ||^2$ + $\alpha||J||^2$ which $\phi \in R^{N_E\times 1}$,$J \in R^{N_V\times 1}$ and $K \in R^{N_E\times N_V}$, the solution is $\hat{J} = K^T[KK^T + \alpha I]^+ \phi$ which $+$ denotes the Moore-Penrose pseudo-inverse and $I$ is the identity matrix. For the derivation, i start with differentiation but i cannot insert the Moore-Penrose inverse in the solution. In the relevant literature there's not the proof.
thanks in advance.

Best Answer

Let

$$f (\mathrm x) := \| \mathrm A \mathrm x - \mathrm b \|_2^2 + \alpha \| \mathrm x \|_2^2 = \mathrm x^T \mathrm A^T \mathrm A \mathrm x - 2 \mathrm b^T \mathrm A \mathrm x + \mathrm b^T \mathrm b + \alpha \, \mathrm x^T \mathrm x$$

Differentiating,

$$\nabla f (\mathrm x) = 2 \mathrm A^T \mathrm A \mathrm x - 2 \mathrm A^T \mathrm b + 2 \alpha \mathrm x$$

Finding where the gradient vanishes, we obtain the following linear system

$$(\mathrm A^T \mathrm A + \alpha \, \mathrm I) \, \mathrm x = \mathrm A^T \mathrm b$$

Let the SVD of $\mathrm A$ be

$$\mathrm A = \mathrm U \Sigma \mathrm V^T = \begin{bmatrix} \mathrm U_1 & \mathrm U_2\end{bmatrix} \begin{bmatrix} \hat\Sigma & \mathrm O\\ \mathrm O & \mathrm O\end{bmatrix} \begin{bmatrix} \mathrm V_1^T\\ \mathrm V_2^T\end{bmatrix}$$

where the zero matrices may be empty. The eigendecomposition of $\mathrm A^T \mathrm A$ is, thus,

$$\mathrm A^T \mathrm A = \mathrm V \Sigma^T \mathrm U^T \mathrm U \Sigma \mathrm V^T = \mathrm V \Sigma^T \Sigma \mathrm V^T = \begin{bmatrix} \mathrm V_1 & \mathrm V_2\end{bmatrix} \begin{bmatrix} \hat\Sigma^2 & \mathrm O\\ \mathrm O & \mathrm O\end{bmatrix} \begin{bmatrix} \mathrm V_1^T\\ \mathrm V_2^T\end{bmatrix}$$

Hence,

$$\mathrm A^T \mathrm A + \alpha \, \mathrm I = \mathrm V \begin{bmatrix} \hat\Sigma^2 + \alpha \, \mathrm I & \mathrm O\\ \mathrm O & \mathrm \alpha \, \mathrm I\end{bmatrix} \mathrm V^T$$

If $\alpha > 0$, then the matrix $\mathrm A^T \mathrm A + \alpha \, \mathrm I$ is invertible. The solution to the linear system is, thus,

$$\hat{\mathrm x} := (\mathrm A^T \mathrm A + \alpha \, \mathrm I)^{-1} \mathrm A^T \mathrm b$$

There is no need to use the pseudoinverse.

Related Question