# Why does Non-Negative Matrix Factorization reconstructs exactly the same matrix?

I'm trying recently to get into recommender systems and almost all tutorials I find mention collaborative filtering done with matrix factorization. I found this tutorial that describes how to build your own matrix factorization. I haven't tried it since I understood the theory and I wanted to try Scikit-Learn's.

I have tried with the following matrix, as it used in the tutorial:

R = [
[5,3,0,1],
[4,0,0,1],
[1,1,0,5],
[1,0,0,4],
[0,1,5,4],
]
R = np.array(R)

But it seems that no matter how I change the parameters, the reconstruction of the matrix is nearly exactly the same as $$R$$, it doesn't suggest any 'recommendations'. To be honest, I understand why would it find nearly the same exact matrix (since we minimize an objective function that makes the reconstruction of the matrix nearly the same as the original matrix) but then how is it used in recommender systems.

I hope you can help me figure this out, thank you!