Advanced Recommender Systems

Description

In this course, you will see how to use advanced machine learning techniques to build more sophisticated recommender systems. Machine Learning is able to provide recommendations and make better predictions, by taking advantage of historical opinions from users and building up the model automatically, without the need for you to think about all the details of the model.

At the end of this course, you will learn how to manage hybrid information and how to combine different filtering techniques, taking the best from each approach. You will know how to use factorization machines and represent the input data accordingly. You will be able to design more sophisticated recommender systems, which can solve the cross-domain recommendation problem. You will also learn how to identify new trends and challenges in providing recommendations in a range of innovative application contexts.
This course leverages two important EIT Digital Overarching Learning Outcomes (OLOs), related to your creativity and innovation skills. In trying to design a new recommender system you need to think beyond boundaries and try to figure out how you can improve the quality of the outcomes. You should also be able to use knowledge, ideas and technology to create new or significantly improved recommendation tools to support choice-making processes and solve real-life problems in complex and innovative scenarios.

What you will learn

ADVANCED COLLABORATIVE FILTERING

In this first module, we will see how to apply machine learning to collaborative filtering techniques. We will learn how to write an item-based collaborative algorithm which is able to automatically learn the best similarities between items, in order to provide improved recommendations that better match the user opinions predicted by the model with the true user opinions. We will also understand how to train collaborative filtering algorithms that minimize this gap. We will finally define a new error metric based on ranking comparisons, useful to design learning-to-rank algorithms.

SINGULAR VALUE DECOMPOSITION TECHNIQUES – SVD

In this second module, we will study a new family of collaborative filtering techniques based on dimensionality reduction and matrix factorization approaches, all inspired by SVD (Singular Value Decomposition). We will see the difference between memory-based and model-based recommender systems, discussing their limitations and advantages. In particular, we will learn how to turn basic matrix factorization algorithms from memory-based into model-based approaches. We will also analyse a new important parameter, the number of latent features. We will learn how to choose the correct number of latent features in order to provide personalised recommendations and to reduce the risk of overfitting historical data.

HYBRID AND CONTEXT AWARE RECOMMENDER SYSTEMS

In this third module, we will see how to combine two or more basic algorithms, such as collaborative filtering and content-based techniques, into a hybrid recommender system, in order improve the quality recommendations. We will study different hybridization approaches, from the simplest heuristic-based, to the more sophisticated machine learning-based. Thanks to hybrid techniques, we will be able to enrich the input of a collaborative recommender system with either content or contextual information.

FACTORIZATION MACHINES

In this fourth and last module, we will introduce a new advanced technique of collaborative filtering with side information, which is called Factorization Machine (FM), and we’ll see how the input data should be represented when using this technique. With only one mathematical model, based on how you build the input table, we will be able to create a simple matrix factorization algorithm or a sophisticated collaborative filtering algorithm with side information (context, attributes on items or attributes on users). We will also discuss benefits and critical issues of algorithms based on FMs. At the end of the module you will know how to use FMs to mix together different kinds of filtering techniques and how to balance different kinds of input information, playing with coefficients and weights, in order to make better and more sophisticated predictions.

What’s included