# How does SVD actually provide the recommendations? I seem to get conflicting answers

I am reading a text book that basically says the following: Given a matrix A where A is USERS x ITEMS we can use SVD to decompose the matrix into:

$$A = U \times \Sigma \times V^T$$

Then we can take the first $n$ columns of these matrices to get: $$A \approx U_n \times \Sigma_n \times V_n^T$$

Then say we have a USER vector, $u$, that has ratings for items, we find out where $u$ is position in the $n$-dimensional space:

$$u_{nd} = u \times U_n \times\Sigma_{n}^{-1}$$

And we can use the position of $u_{nd}$ to discover what items and users are similar to $u_{nd}$ by using a method like cosine similarity.

So this all makes sense to me (I think). Pretty straight forward.

However if I go to this tutorial, and go to the SVD section, she writes that you can provide predictions by just getting a low-rank approximation of a ratings matrix?

Moreover, if you have: $$A = U \times \Sigma \times V^T$$ We can simply make predictions by: $$A \approx U_n \times \Sigma_n \times V_n^T$$ where $n$ is the $n$ lower-rank approximation.

Why do both of these methods work? What is the point of the first method if I can just use the second method to make predictions?

FURTHER EDIT: Why does the first method use the inverse of matrix $\Sigma$ whereas the second does not?

• Once you have the ratings matrix, don't you still have to pick the best candidate? The difference is that the second method calculates everything at once, while the first one allows you to do it on demand. – Emre Jan 25 '18 at 16:07
• @Emre Why does the first method take the inverse of matrix $\Sigma$ then? – theGuy05 Jan 25 '18 at 17:24
• I missed that! Now that I'm taking a second look, the first method looks weird. Where did you read it? U is the user matrix. – Emre Jan 25 '18 at 18:20
• @Emre I apologize for not making this clear but in the book $V$ is the user matrix. The book I am using is here – theGuy05 Jan 26 '18 at 14:10