Recommendation Systems : Approaches

There are several approaches in building up a recommendation system. I have been intrigued at how we can connect the different approaches, and understand the pros and cons of each approach.

Here is a high-level overview of the approaches being used for solving the recommendation problem:

[1] High Level Approaches:

  • Content Based
    • Based on using weights across content features
  • Collaborative Methods
    • Based on an approach : “users who liked this also liked”

[2] Collaborative Filtering:

  • Memory Based (e.g. K-nearest neighbors)
  • Model Based (e.g. Matrix Factorization)


[3]  Collaborative Filtering : Memory Based : K-nearest neighbors

  • Key Intuition: “Take a local popularity vote among “similar” users”
  • Need to quantify similarity, predict unseen rating.
  • Can take 2  forms :
    • Item-item collaborative filtering, or item-based, or item-to-item
    • User-User collaborative filtering

[4]  Collaborative Filtering : Model Based : Matrix Factorization.

  • Key Intuition : Model item attributes as belonging to a set of unobserved topics
    and user preferences across these topics


  • Model quality of fit with squared-loss.
  • There are 2 ways to do the loss optimization :
    • Alternating Least Squares.
    • Stochastic Gradient Descent.





Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s