The recommendation problem is this: Suppose that we have a matrix whose columns are items (e.g., movies) and whose rows are users. A small part of the matrix is filled with rating values. That is values (e.g. between 1 and 5) which represent how much a particular user likes a particular item. The problem is to predict the missing ratings in the matrix. After prediction the highly predicted items will be recommended to the users.
So far the best methods are based on matrix factorization techniques.
SVMs are one of the best off-the-shelf prediction algorithms.
I tried to think of ways of using SVMs for the rating prediction problem. However, I could not make much progress. Also, I could not explain why SVMs are not good for this problem.
For example, one can build a dataset as a list of user, item, rating triples.
123, 3214, 4 214, 1282, 1 ...
Here the first column contains user ids, the second column contains item ids and the last column contains the ratings (the class label to be predicted). You can think of it as a regression problem or a multi-class classification problem.
Build an SVM classifier then try to predict a new rating given a user and an item.
But I don't think that this is a good thing to do.
Any ideas? Can SVMs be used for this problem? If yes, how? If no, why?