Collaborative Filtering
Recommending items based on past user interaction patterns without requiring manual item metadata.
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 ()
Given users and items, interaction matrix is extremely sparse ( empty cells):
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 on Item : .
Three Paradigms of Collaborative Filtering
- User-Based Neighborhood CF: Find most similar users to User using Cosine or Pearson similarity over shared rated items. Average their ratings.
- Problem: Does not scale well when (User profiles shift constantly).
- Item-Based Neighborhood CF: Find items most similar to Item 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").
- Model-Based Matrix Factorization (SVD / ALS): Decomposes into latent embedding vectors ().
Explicit vs Implicit Feedback
- Explicit Feedback: Star ratings (1 to 5), Likes/Dislikes. Clean signal, but extremely rare.
- Implicit Feedback: Clicks, video watch time, page views, purchases. Abundant, but noisy (no explicit negative ratings).
Implicit ALS Objective (Hu, Koren, Volinsky)
- if interaction exists, else .
- (Confidence score scaling with interaction intensity ).
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
- Why is SVD unsuitable for sparse matrices directly? Standard linear algebra SVD requires full dense matrices. Imputing missing values with zeros corrupts predictions. Matrix Factorization algorithms (SVD++ / Funk SVD) optimize SVD parameters strictly over non-missing entries.
- How do Hybrid Recommenders improve upon pure CF? Hybrid recommenders combine CF latent vectors with content-based features (text/image embeddings, user demographics) in a unified deep learning model (e.g., Wide & Deep, DeepFM), solving cold-start issues while preserving CF collaborative signals.
Check yourself
Question 1 of 3
What is the key advantage of Matrix Factorization (ALS / SVD) over memory-based User-Based KNN Collaborative Filtering?