Sign in to save

Bookmark this page so you can find it later.

Sign in to save

Bookmark this page so you can find it later.

Recommendation systems are algorithms that predict what a user may want to watch, buy, read, or listen to next. They matter because modern platforms have millions of items, far more than anyone can search through manually. A good recommender reduces information overload by ranking the most relevant options near the top.

These systems shape many everyday experiences, from streaming playlists to online shopping suggestions.

Key Facts

  • A recommendation system ranks items by predicted usefulness or preference for a user.
  • Collaborative filtering uses patterns from many users, such as users who liked A also liked B.
  • Content-based filtering recommends items similar to ones a user already liked, using item features.
  • A simple predicted rating can be written as r_hat(u, i) = average(u) + similarity_score(u, i).
  • Cosine similarity is often used to compare preference vectors: cos(theta) = A dot B / (|A||B|).
  • Common evaluation metrics include precision@k, recall@k, mean absolute error, and click-through rate.

Vocabulary

Recommendation system
A program that predicts and ranks items a user is likely to prefer.
Collaborative filtering
A recommendation method that uses similarities among users or items based on past behavior.
Content-based filtering
A recommendation method that uses item features and a user's past preferences to find similar items.
User-item matrix
A table where rows represent users, columns represent items, and entries store ratings, clicks, or other interactions.
Cold start problem
The difficulty of making good recommendations when a new user or item has little or no data.

Common Mistakes to Avoid

  • Treating clicks as perfect proof of preference is wrong because users may click out of curiosity, by accident, or because of misleading titles.
  • Using only popularity is wrong because it recommends the same common items to everyone and ignores personal interests.
  • Ignoring missing data is wrong because most user-item matrices are sparse, so blank entries usually mean unknown rather than disliked.
  • Evaluating only with training data is wrong because it can hide overfitting and make the system seem more accurate than it is for new users.

Practice Questions

  1. 1 A user has rated three movies 5, 4, and 2 stars. The system predicts a new movie rating using the user's average rating. What rating does it predict?
  2. 2 Two users have rating vectors A = (5, 0, 3) and B = (4, 0, 3), where 0 means no rating and should be ignored for the dot product and magnitudes over rated shared items. Compute the cosine similarity using the shared rated items.
  3. 3 A music app keeps recommending only the most popular songs to every user. Explain why this may reduce personalization and name one method that could improve the recommendations.