In linear algebra pseudoinverse () of a matrix A is a generalization of the inverse matrix. The most common use of pseudoinverse is to compute the best fit solution to a system of linear equations which lacks a unique solution. Moore – Penrose inverse is the most widely known type of matrix pseudoinverse. The term generalized inverse is sometimes used as a synonym of pseudoinverse.
Let the system is given as:
We know A and , and we want to find .
and are vectors,
A is a matrix
If A is a square matrix, we proceed as below:
But if A is not a square matrix, we cannot compute the usual . Nevertheless, we can form the pseudoinverse.
If we go in detail at the system i.e. , then it represents the following set of equations:
which can also be written in matrix form as below:
Where m > n which means the number of rows is greater than the number of columns or the number of rows is greater than the number of variables.
Solution to the above problem:
There are multiple ways to solve the above problem. One solution involves Moore – Penrose Pseudoinverse. We write the Moore – Penrose pseudoinverse as .
We have but unless A has the usual inverse.
So, to solve the problem we proceed as follow:
This is how simply we solve the linear equations using the Moore – Penrose pseudoinverse. The derivation for Moore – Penrose pseudoinverse is beyond the scope of this article. You can go through this link in case you want to know more about it. Here, it is simply presented the method for computing it. The Moore – Penrose pseudoinverse is computed as
Consider below 3 linear equations: Equivalently we can write above equations in matrix form as shown below: After we compute the Moore - Penrose pseudoinverse using , we will get: Check the matrix product you will get identity matrix I. We have, Then, After you compute above computation, you will get the final answer as
Note: Moore – Penrose pseudoinverse solves the problem in least squared error sense. In general, there is no exact solution to overdetermined problems. So if you cross check the solution you will not get the exact required y but an approx value of y.
- ML | BIRCH Clustering
- What is AI(Artificial Intelligence)?
- What is Information Retrieval?
- What is IBM Watson and Its Services?
- COVID-19 Peak Prediction using Logistic Function
- Visualizing representations of Outputs/Activations of each CNN layer
- Top 5 Programming Languages and their Libraries for Machine Learning in 2020
- Object Detection with Detection Transformer (DERT) by Facebook
- Super Resolution GAN (SRGAN)
- DLSS - Deep Learning Super Sampling
- Multiple Labels Using Convolutional Neural Networks
- Python - Pearson's Chi-Square Test
- StyleGAN - Style Generative Adversarial Networks
- YOLO : You Only Look Once - Real Time Object Detection
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.