I am performing SVD on a rating matrix of Users and Items and I get 3 matrices out of which Vt provides latent feature for items. How do I compute similarities between a pair of items using these feature vectors? The vectors have negative values as well as positive ones. Also, are there any other factorization methods which are as fast as SVD and provide non-negative values?

Clarification: I have a ratings matrix where rows are users and cols are items, I run SVDS(with k = 50 features) from scipy.sparse.linalg and get 3 matrices U, sigma, Vt where I get the representation of the original matrix after multiplying the three matrices. Now, the matrix Vt is a representation of the Items in a lower dimensional space where each item is described by 50 features.

The question is how would I go about calculating the similarities between two items in this space with these features. Or can these feature vectors even be used to compare items.

  • $\begingroup$ Non-negative matrix factorization comes to mind for your second question $\endgroup$ – Knarpie Feb 26 '18 at 9:43
  • $\begingroup$ Maybe just look at the inner product between columns of Vt? $\endgroup$ – Vivek Subramanian Feb 27 '18 at 19:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.