23  Recommender Systems

Shuai Zhang (Amazon), Aston Zhang (Amazon), and Yi Tay (Google)

A catalog may contain millions of items, while any one user will inspect only a small fraction of them. A recommender system uses the interactions that have been observed—ratings, clicks, purchases, or viewing histories—to score or rank the remaining candidates for that user. Unlike search, which begins with an explicit query, recommendation must infer a useful ranking from partial and selectively observed behavior.

This setting creates two recurring difficulties. First, an unobserved user–item pair is not an observed dislike: the user may never have encountered the item. Second, the evaluation protocol determines the question being asked. A random interaction split measures a warm-start interpolation problem, whereas a chronological split asks whether past behavior predicts a later choice.

The chapter develops three families of tasks. Rating models predict explicit scores; ranking models learn from implicit interactions; and feature-rich models predict events such as clicks from user, item, and contextual fields. The progression from matrix factorization to AutoRec, NeuMF, Caser, factorization machines, and DeepFM shows how the input data and objective—not the presence of a neural network alone—determine what a model can learn.

The models can be compared by the evidence supplied to them and the question used for evaluation:

Model Input Training objective Assumption about unobserved pairs Evaluation used here
MF Explicit ratings Masked squared error Omitted from the loss RMSE on a random warm-start holdout
AutoRec Partially observed rating vectors Masked reconstruction error Omitted from the loss RMSE on the same holdout
NeuMF User, observed item, sampled item BPR pairwise loss Sampled unobserved items act as comparisons Hit rate and AUC on a chronological holdout
Caser Ordered recent items and user ID BPR pairwise loss Same sampling assumption as NeuMF Next-item ranking after chronological holdout
FM Categorical impression fields Binary log loss Every row is an observed impression with a click label Held-out log loss
DeepFM The same impression fields Binary log loss The same labeled-impression assumption as FM Held-out log loss