Assume that there is a 5 $\times$ 6 matrix that records the ratings of six users on five movies.
I have computed the singular value decomposition (SVD) for such a matrix.
Suppose I add another movie so now it becomes 6 $\times$ 6 matrix.
However, I only have a rating of that movie for two people.
How can I estimate the ratings the other users would give to this new movie?
Best Answer
This is a very well-studied problem known as matrix factorization or matrix completion, in which you have some observations of a matrix which is assumed to be low-rank and wish to fill in the remainder.
Two of the standard models are:
Probabilistic Matrix Factorization (PMF), a generative model for matrices assumed to be of a specific rank. You can get a MAP estimate (as in the linked paper), or sample from it with MCMC. There are lots of extensions out there in the literature.
Max-margin matrix factorization (MMMF), which relaxes the low-rank assumption into one that the nuclear norm is small. (If you want to use it on large matrices, it's probably better to use the direct gradient-based formulation.)
There are a lot of extensions to these models to make them more effective in various applications. They're described by any of many introductions to matrix factorization for collaborative filtering. You could try, for example, this introduction [though note that their python implementation is pretty bad], or if you like real books the Recommender Systems Handbook is probably pretty good (though expensive).
If you want to take into account the SVD that you apparently have of your complete 6 x 5 submatrix, you could initialize the optimization process for either of the above at that solution. In practice, of course, that situation is pretty rare.