I am trying to implement matrix factorization. My dataset is 3-dimensional and the size is (500x10x5). The standard approach in Netflix comptetition, contains users ratings (in a 2D matrix M). The appproach decompose this 2D matrix to U, V in the equation M = UV where U represents the latent factor of the users while the V represents the latent factors of the items-movies. During my research I came across that those latent factors represents the movies-genres, so there is a possibility to cluster items to genres after the decomposition and propose to some user movies from the same cluster. I am trying to understand how this interpretation happerning and how can I do the analogous interpration with different data. Can I group instead of items to genres, users to type of users? In fact what I am trying to figure out is if it is possible to group users using matrix factorization!

  • $\begingroup$ what's your question? are you asking algorithms on tensor ("500*10*5" /3D matrix) or asking the interpretation of matrix factorization? $\endgroup$ – Haitao Du Sep 2 '16 at 14:07
  • $\begingroup$ My question is the interpration of the Tensor basically. $\endgroup$ – Jose Ramon Sep 12 '16 at 15:23

Generalization of matrix factorization from 2D matrices to 3D and other higher dimensional matrices is known as tensor factorization. You can look into the research work of Anima Anandkumar for more work on that.

Another thing I would like to point out is that your interpretation of the latent features is not correct. Consider the movie recommendation problem. If I ask you what type of movies do you like? You might answer things like - you like movies with action, science fiction, comedy, romantic, movies directed by Christopher Nolan, James Cameron, Steven Speilberg, etc., movies with Tom Cruise, Kate Winslet. These are just a few things that will affect your movie preferences. You might not like all movies by Steven Speilberg or you might not hate all movies which are based on aliens. So, even for you it might be really tough to exactly state all the conditions that really affect your liking of a movie. These hidden factors are the things that latent factor models really try to discover. Though you won't be able to tell what those factors are. They need not be genre, they could be anything, hence the name latent factors as you cannot tell what they stand for. Nonetheless you can still go ahead and apply clustering to these latent vectors. I present what I think is the philosophy of matrix factorization.

The Philosophy of Matrix Factorization: What is matrix factorization trying to give you? Suppose, God (or nature) meant to have exactly 50 things (of which we have no idea) that should really affect our movie choices. Then the matrix factorization method tries to represent you as a vector in this 50 dimensional space (as far as movie recommendation is concerned you are equivalent to this vector). It will also produce a 50 dimensional vector for every movie (again, as far as movie recommendation is concerned these vectors are the ultimate true representation of the movies). So, the rating you will give to a movie is just a dot product between the vectors representing you and the movie respectively in this 50 dimensional space.

  • 1
    $\begingroup$ I live in gratitude and solace every day, secure in the knowledge that the best minds of my country are devoted to use of advanced mathematical methods to suggest which moves someone might like. $\endgroup$ – Mark L. Stone Sep 2 '16 at 14:40
  • $\begingroup$ My aim is to group users into group using Tensor Factorization. $\endgroup$ – Jose Ramon Sep 12 '16 at 15:24

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.