Assume you have the ratings of $n$ users for $m$ movies in a matrix $R \in \mathbb{R}^{n \times m}$. You compute a representation

$$R = U \times \Sigma \times V$$

by initializing $u_i, v_j \forall i \in 1, \dots, n \forall j \in 1, \dots, m$ randomly and optimizing the following expression through gradient descent:

$$\min_{u_i, v_i} \sum_{p_{ij}} \left ( p_{ij} - u_i \cdot v_j \right )^2 \text{ with } u_i \in \mathbb{R}^{1 \times r}, v_j \in \mathbb{R}^{r \times 1}$$

This is how I understand how Simon Funk did it.

But how would you deal with a new user? How would you tell what that user likes?

(Or similarly, with a new movie?)


tl;dr: It can't!

Why not?

This is one of the main problems of collaborative-filtering recommender systems (i.e. ones that rely solely on the user-item interaction matrix to generate recommendations).

This is referred to as the cold start problem:

As collaborative filtering methods recommend items based on users' past preferences, new users will need to rate sufficient number of items to enable the system to capture their preferences accurately and thus provides reliable recommendations.

The same is true for new items.

How can we combat this?

The easiest way to combat this issue is to initially identify similar users through demographics and recommending popular items to the user group that best represents him.

Another very popular approach is making a hybrid recommender system, i.e. employs both collaborative-filtering (CF), content-based (CB) and/or even dummy (D) techniques. For instance it could initially recommend the most popular items (D) for new users, then start recommending similar items to the ones he initially liked and finally when the user has rated enough items start looking for users with similar tastes.

In practice most real-world recommender systems are hybrid.

Netflix is a good example of the use of hybrid recommender systems. The website makes recommendations by comparing the watching and searching habits of similar users (i.e., collaborative filtering) as well as by offering movies that share characteristics with films that a user has rated highly (content-based filtering).

  • $\begingroup$ I meant new movies for which ratings exist. $\endgroup$ Jun 27 '19 at 5:25

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.