1
$\begingroup$

I have a question regarding the use of model based approaches to recommender systems.

So, the goal is to create a model that predicts the user reaction to a specific item. Either a rating scale or a “like/dislike” expectation. The problem that I can’t quite understand is that, in order to so, you would need a specific model for each user. How can that be done in practice?

Let’s take, for instance, a content based recommender that uses a classifier or regression model to predict the user’s interest on items based on its features. Ex: rate movies based on director, cast, genre, etc. Since every user has a distinct individual taste you would need to learn a specific parameter for each user-feature.

So you need to fit a model for each user? How can that work given the fact that the number of observations per user is usually very small compared to number of features? There will be more explanatory variables than observations. Besides the resulting model would be prone to overfitting given the lack of data would it not?

$\endgroup$
4
  • 1
    $\begingroup$ I'm not quite sure if that answers your question, but usually you don't fit user models one-by-one. You fit a model to all users (and items) simultaneously (for instance, user-feature and item-feature matrices in matrix factorization methods). Once done, the specific user models are certain parts of the model obtained. $\endgroup$
    – sandris
    Commented Aug 18, 2015 at 8:43
  • $\begingroup$ Yes that is clear on the case of matrix factorization. But how about content based recommenders? I've read some papers on the use of Naive Bayes or Logistic Regression to predict ratings based on item features. How do you train the parameters? $\endgroup$
    – R.D
    Commented Aug 18, 2015 at 17:38
  • $\begingroup$ Content based recommenders mainly build on item-to-item similarity. That is, items similar to those liked/viewed by the user are recommended. Which papers do you refer to? $\endgroup$
    – sandris
    Commented Aug 18, 2015 at 18:45
  • $\begingroup$ This one for example compares the use of different machine learning techniques on a content based recommender context.emmtee.net/oe/nodalida13/conference/11.pdf $\endgroup$
    – R.D
    Commented Aug 19, 2015 at 17:56

2 Answers 2

1
$\begingroup$

Mining Massive Datasets is freely available as a pdf and has an entire chapter on recommendation systems. The Coursera course by the same name also has a set of videos that walk through the topic. The questions you ask are good, but quite broad, so I'd recommend checking out those sources as they should address your questions.

$\endgroup$
3
  • $\begingroup$ Could you point out which chapters of the book addresses this specific question? $\endgroup$
    – R.D
    Commented Aug 17, 2015 at 21:46
  • 1
    $\begingroup$ The one titled "Recommendation Systems" $\endgroup$
    – Tchotchke
    Commented Aug 17, 2015 at 21:47
  • 1
    $\begingroup$ I took that class. It gives the principles but didn’t clarify my point. But thanks anyway. $\endgroup$
    – R.D
    Commented Aug 18, 2015 at 0:48
1
$\begingroup$

I'm new to recommenders, and had the same question about the feasibility of making a separate model for each user. Who would want to maintain potentially millions of models, most of which are likely to be overfit given the small user-specific samples and massive feature space? I read the chapter that @Tchotchke referenced and found this particular section (page 319):

Unfortunately, classifiers of all types tend to take a long time to construct. For instance, if we wish to use decision trees, we need one tree per user. Con- structing a tree not only requires that we look at all the item profiles, but we have to consider many different predicates, which could involve complex com- binations of features. Thus, this approach tends to be used only for relatively small problem sizes.

In summary, the authors acknowledge the same reservations.

The link to the original pdf of the book seems to be down, but I was able to find a copy of the pdf hosted on GitHub here.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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