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

TODO

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.

TODO

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

    TODO
    
  • Personalization vs Privacy concerns

    TODO
    
  • Explicit vs Implicit Feedback

    TODO
    
  • 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

    TODO
    
  • Context-aware Recommendation

    TODO
    
    • Location
    • Time
  • Cold start

    TODO
    

Example: Simple Collaborative Filter with Python's Surpriselib

TODO

References


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