Recommender System

Definition

Recommender System (RecSys)

A recommender system is a subclass of information filtering systems that provides suggestions for items that are most pertinent to a particular user. It mitigates information overload: it is most useful when a user must choose from a potentially overwhelming number of items a service offers.

Formally, given a set of users and a set of items , the goal is to find the item(s) of interest for a given user . In most cases, previous interactions between (some) users and (some) items are available; sometimes contextual information about users, items, and/or interactions is also available.

Intuition

Why It Works

The core bet is that collective behavior is predictive: users who agreed in the past tend to agree in the future, and items that co-occur in interaction histories tend to be substitutable or complementary. A recommender exploits the structure in the (sparse) user–item User-Item Interaction Matrix — either by measuring similarity between rows/columns directly (memory-based) or by fitting a model that compresses that structure into low-dimensional latent factors (model-based). It then turns predicted preference into a ranked list of items per user, which is why ranking metrics, not just classification accuracy, govern evaluation.

Mathematical Formulation

The canonical model-based formulation is Matrix Factorization. An ratings/interaction matrix is approximately factorized into an user matrix and an item matrix :

where:

  • — observed user–item interaction matrix ( users, items); most entries are missing.
  • — number of latent factors (concepts), with .
  • user factor: user ‘s affinity over the latent concepts.
  • item factor: item ‘s properties over the same concepts.
  • — predicted preference of user for item , the dot product of the two factors.

Latent factors can be interpretable: in the rank-2 example, the two columns correspond to a “history” and a “romance” genre dimension, and a rating reconstructs as (user-affinity-to-history item-affinity-to-history) + (user-affinity-to-romance item-affinity-to-romance).

The simplest memory-based alternative, User-based Rating Prediction, averages the target item’s ratings over the user’s nearest neighbors:

where is the set of nearest neighbors of who have rated item , and is neighbor ‘s rating of item .

Key Properties / Variants

Algorithm: Generic Top-N Recommendation Pipeline
──────────────────────────────────────────────
Input: users U, items I, interaction matrix R (sparse), target user u
Train:  fit model M on R           # e.g., factorize R ≈ U Vᵀ, or train NCF
Score:  for each candidate item i in I not yet interacted by u:
            ŝ(u,i) ← M.predict(u, i)   # e.g., ū_u · v̄_i
Rank:   sort candidate items by ŝ(u,i) descending
Return: top-N items as the recommendation list for u

Connections

Appears In