Description

A recommender system (RS) can help to influence your customers’ behaviour directly but entertainingly. In this course, we will build RS’s using different approaches: content-based, collaborative filtering, context-aware, or a hybrid one. We will learn about the theory behind diverse mathematical models of an RS task: matrix and tensor decompositions, associative rules, neighbourhood methods, learning to rank, and metric learning. For the practical part, we will employ classical machine learning (such as scikit-learn), deep learning (e.g. pytorch), and a slew of specialised packages (implicit amongs them). During the lectures, we will talk not only about theorems but also about applications of RS’s making the clients of companies and non-profit organisations happier. No prior knowledge of the subject is necessary. Python programming experience is mandatory. Statistical learning fundamentals will be nice to have.

Topics

  • Lecture 1. Introduction to the course. What is an RS? RS validation.

  • Lecture 2. Content-based (CB) recommender systems. Classifiers, neighbourhood methods, item-to-item recommendations.

  • Lecture 3. Collaborative filtering (CF). Associative rules, similarities with CB

  • Lecture 4. Advanced CF methods. Matrix and tensor decompositions, ALS and PureSVD

  • Lecture 5. Recommendations in production. Learning to rank and multi-stages architectures

  • Lecture 6. Deep learning in RS. Metric learning, two towers, deep and wide architecture

  • Lecture 7. Cold-start problem. CB2CF, MaxVol

  • Lecture 8. Advanced topics in RS: context-aware RS, factorisation machines