2
$\begingroup$

Pretty much all articles I read about recommender systems use Collaborative Filtering, Content Based Filtering and Hybrid approaches. Virtually no one mentioned about supervised learning approaches. We can use ratings/clicks as the target variable and user attributes and item attributes as features to build a classification/regression model and use the predictions from the model to do recommendations. Are there any particular reasons for such an approach being ignored in the recommender system community?

$\endgroup$

2 Answers 2

1
$\begingroup$

As @Tim mentions, supervised learning is widely used in recommender systems. Common recommender systems like Collaborative Filtering, Matrix Factorization, and Neural network based methods rely on the availability of labels provided by the previous interactions between users and items.

We can use ratings/clicks as the target variable and user attributes and item attributes as features to build a classification/regression model... Are there any particular reasons for such an approach being ignored in the recommender system community?

Based on the above part of your question, I assume you're asking about the use of some specific types of supervised learning, i.e., models similar to linear and logistic regression. Below, I provide examples of these types of models (or those that are inspired from such models) that have been proposed for recommender systems. These are well known models.

$\endgroup$
3
  • 1
    $\begingroup$ Yes, I meant to build a model like Rating = f(user attributions, item attributes, session attributes, .....). CF and MF are only involved with userId and itemId. Normally people don't use IDs as features to build a regular ML model. $\endgroup$
    – etang
    Oct 29, 2021 at 20:14
  • $\begingroup$ Three links you proposed are quite awkward. Yes, I meant why nobody builds a classification/regression model for Rating = f(user attributions, item attributes, session attributes, .....) and use its predictions to do recommendation. $\endgroup$
    – etang
    Oct 30, 2021 at 0:29
  • $\begingroup$ @etang A model like you wrote above, where rating is predicted purely based on user and item attributes would not work well for personalization. Not sure if someone has shown this, but I can say that from my experience. The links I provided above are the closest works I know to a linear or logistic regression model. Of course, the features they use and the functions they are optimize are different. But that's because recommender systems are fundamentally different from the task of predicting a number or a class. $\endgroup$
    – vbip
    Nov 3, 2021 at 21:38
0
$\begingroup$
  • First of all, supervised learning is commonly used in recommender systems. One of the most popular examples of recommender system model is matrix factorization, where we predict ratings of items by the users (labels!).
  • Basic models like matrix factorization are often extended by including additional features, such models do not differ very much from any other supervised machine learning model.
  • Standard machine learning models are sometimes used for this purpose, but they often underperform as compared to the models designed for this purpose.
$\endgroup$
2
  • $\begingroup$ Can you provide any sources for the statement, that standard machine models often underperform compared to e.g. matrix factorization ? I like to dive deeper into this topic. $\endgroup$
    – steffen
    Oct 31, 2021 at 6:28
  • 1
    $\begingroup$ @mlwida if you use matrix factorization or similar algorithm you look at the interaction of particular user and item. If you used something like logistic regression instead, you could use something like general features of item etc. When you add the interaction term, it becomes something like matrix factorization. $\endgroup$
    – Tim
    Oct 31, 2021 at 7:27

Your Answer

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

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