RecSys & Search

Collaborative Filtering

Recommending items based on past user interaction patterns without requiring manual item metadata.

🟡 intermediate5 min readrecsysmust-know
Collaborative Filtering (CF) recommends items to users by leveraging preference patterns from a crowd of similar users or items. User-Based CF finds users with similar interaction histories; Item-Based CF finds items co-liked by the same users. Matrix Factorization (SVD / ALS) decomposes the sparse User-Item interaction matrix R (N × M) into low-rank user matrices U (N × k) and item matrices V (M × k), predicting unobserved ratings as R_ui ≈ u_i · v_j.

User-Item Interaction Matrix ($R$)

Given $N$ users and $M$ items, interaction matrix $R \in \mathbb{R}^{N \times M}$ is extremely sparse ($> 99%$ empty cells):

$$\text{Sparse Matrix } R_{N \times M} \approx U_{N \times k} \cdot V_{M \times k}^T$$

         Items (M)                                 Item Latent Factors Vᵀ [k × M]
     ┌──────────────┐                                   ┌──────────────────────┐
U  u │ 5  .  1  .  4│                              u    │ v1   v2   v3   ... vM│
s  s │ .  2  .  5  .│  ──Matrix Factorization──►   s    └──────────────────────┘
e  e │ 1  .  .  4  .│                              e  User Latent Factors U [N × k]
r  r └──────────────┘                              r    ┌──────────────────────┐
s (N)                                              s    │ u1   u2   u3   ... uN│
                                                        └──────────────────────┘

Predicted rating for User $i$ on Item $j$: $\hat{R}_{ij} = u_i \cdot v_j + \mu + b_i + b_j$.

Three Paradigms of Collaborative Filtering

  1. User-Based Neighborhood CF: Find $K$ most similar users to User $i$ using Cosine or Pearson similarity over shared rated items. Average their ratings.
    • Problem: Does not scale well when $N_{\text{users}} \gg N_{\text{items}}$ (User profiles shift constantly).
  2. Item-Based Neighborhood CF: Find $K$ items most similar to Item $j$ based on co-rating patterns across all users.
    • Advantage: Item-item relationships are stable over time, enabling pre-computed item similarity matrices (Amazon: "Customers who bought X also bought Y").
  3. Model-Based Matrix Factorization (SVD / ALS): Decomposes $R$ into latent embedding vectors $u_i, v_j \in \mathbb{R}^k$ ($k \approx 32\text{--}256$).

Explicit vs Implicit Feedback

Implicit ALS Objective (Hu, Koren, Volinsky)

$$\min_{U, V} \sum_{i, j} c_{ij} \left( p_{ij} - u_i \cdot v_j \right)^2 + \lambda \left( \sum_i |u_i|^2 + \sum_j |v_j|^2 \right)$$

Say this out loud

"Collaborative filtering predicts user preferences using historical crowd interaction logs without requiring item metadata. Matrix factorization decomposes sparse User-Item matrices into dense low-rank latent vectors u_i and v_j, predicting ratings via dot product u_i · v_j. For implicit feedback like clicks and watch time, we use Alternating Least Squares (ALS) with confidence weighting."

Follow-ups to expect

Check yourself

Question 1 of 3

What is the key advantage of Matrix Factorization (ALS / SVD) over memory-based User-Based KNN Collaborative Filtering?

More in RecSys & Search

See all →
The Cold Start Problem4 minTwo-Stage: Retrieval then Ranking5 minLearning to Rank: Point, Pair, List5 min