This course introduces you to the leading approaches in recommender systems. The techniques described touch both collaborative and content-based approaches and include the most important algorithms used to provide recommendations. You'll learn how they work, how to use and how to evaluate them, pointing out benefits and limits of different recommender system alternatives.
After completing this course, you'll be able to describe the requirements and objectives of recommender systems based on different application domains. You'll know how to distinguish recommender systems according to their input data, their internal working mechanisms, and their goals. You’ll have the tools to measure the quality of a recommender system and to incrementally improve it with the design of new algorithms. You'll learn as well how to design recommender systems tailored for new application domains, also considering surrounding social and ethical issues such as identity, privacy, and manipulation.
Providing affordable, personalised and high-quality recommendations is always a challenge! This course also leverages two important EIT Overarching Learning Outcomes (OLOs), related to 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 predictions. 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 strategies in different and innovative scenarios, for a better quality of life.
In this first module, we'll review the basic concepts for recommender systems in order to classify and analyse different families of algorithms, related to specific set of input data. At the end, you’ll be able to choose the most suitable type of algorithm based on the data available, your needs and goals. Conversely, you'll know how to select the input data based on the algorithm you want to use.
EVALUATION OF RECOMMENDER SYSTEMS
In this second module, we'll learn how to define and measure the quality of a recommender system. We'll review different metrics that can be used to measure for this purpose. At the end of the module you'll be able to identify the correct evaluation activities required to measure the quality of a given recommender system, based on goals and needs.
In this module we’ll analyse content-based recommender techniques. These algorithms recommend items similar to the ones a user liked in the past. We’ll review different similarity functions and you’ll then be able to choose the more suitable one for your system. The main input is the Item-Content Matrix (ICM) which describes all the attributes for each item. We’ll see how we can improve the quality of content-based techniques, by normalising and tuning the importance of each attribute in the ICM: you’ll be able to use some specific tuning strategies in order to obtain the best quality recommendations from your system. So, at the end of this module, you’ll know how to build a content-based recommender system, how to clean and normalize your input data.
In this module we’ll study collaborative filtering techniques, which use the User Rating Matrix (URM) as the main input data, describing the interaction between users and items. We’ll learn how to build non-personalised recommender systems and how to normalise the URM, in order to provide better recommendations. At the end of the module you’ll be able to select the most appropriate similarity function and the most suitable way to compute similarity, overcoming issues related to explicit ratings.