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 (RR)

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

Sparse Matrix RN×M≈UN×k⋅VM×kT\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 ii on Item jj: R^ij=ui⋅vj+μ+bi+bj\hat{R}_{ij} = u_i \cdot v_j + \mu + b_i + b_j.

Three Paradigms of Collaborative Filtering

  1. User-Based Neighborhood CF: Find KK most similar users to User ii using Cosine or Pearson similarity over shared rated items. Average their ratings.
    • Problem: Does not scale well when Nusers≫NitemsN_{\text{users}} \gg N_{\text{items}} (User profiles shift constantly).
  2. Item-Based Neighborhood CF: Find KK items most similar to Item jj 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 RR into latent embedding vectors ui,vj∈Rku_i, v_j \in \mathbb{R}^k (k≈32–256k \approx 32\text{--}256).

Explicit vs Implicit Feedback

Implicit ALS Objective (Hu, Koren, Volinsky)

min⁡U,V∑i,jcij(pij−ui⋅vj)2+λ(∑i∥ui∥2+∑j∥vj∥2)\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