Recommender Systems: Introduction and Examples

Last updated:
Table of Contents

WIP Alert This is a work in progress. Current information is correct but more content may be added in the future.

Recommender Systems


Well then, aren't Recommender Systems just good old Machine Learning?

Technically yes, but the settings are very different; whereas users typically type stuff into forms and hit search buttons to view search results, recommendations are usually displayed without explicitly being requested by users and are highly context-dependent1

The User-item matrix

user-item-matrix User-item matrices are highly sparse.
Element \(A_{ui}\) represents the rating
user \(u\) gave item \(i\).
Source: @connectwithghosh

Types of Recommender systems

types-of-recommender-systems Types of recommender systems
Source: Wikipedia

Memory-based vs model-based Recommender Systems

If you need to train your system, it's model-based.


Main Techniques: Collaborative filtering

Collaborative means that these methods use inputs from similar users too

  • Memory-based

    • Item-based
    • User-based
  • Model-based

    • Matrix factorization approaches
  • Other regular machine learning algorithms

Main Techniques: Content-Based Recommendations

  • Basically information retrieval

Use cases in Commercial Banking/Finance

  • Recommend financial products to users

    TODO add more

Other issues in RS research

  • Scalability

  • Personalization vs Privacy concerns

  • Explicit vs Implicit Feedback

  • System Robustness / Defense against attacks

    It's very likely that users may try to artificially increase their products' popularity (product push) or decrease their competitors' (product nuke attack) once it's clear a rating system is in place.2

  • Diversity vs Accuracy

  • Context-aware Recommendation

    • Location
    • Time
  • Cold start


Example: Simple Collaborative Filter with Python's Surpriselib



1: For example, at the bottom of a product page on Amazon, you will likely be shown product recommendations related to the current product you're viewing.

2: There are many other forms of attacking a recommender system: Identifying Attack Models for Secure Recommendation

Appendix: Matrix Factorization

user-item-matrix The dot product between row \(B\) of the User matrix and row \(X\) of
the Item Matrix is an approximation of the rating user \(B\) would give item \(X\)
Source: @connectwithghosh

Dialogue & Discussion