Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 052534 - RECOMMENDER SYSTEMS
Cfu 5.00 Tipo insegnamento Monodisciplinare
Didattica innovativa L'insegnamento prevede  2.0  CFU erogati con Didattica Innovativa come segue:
  • Blended Learning & Flipped Classroom
  • MOOC
Docenti: Titolare (Co-titolari) Cremonesi Paolo

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento

Obiettivi dell'insegnamento

Recommender systems are algorithms that mimic the psychology and personality of humans, in order to predict their needs and desires. More formally, recommender systems adopt data-mining and machine-learning techniques to help users in finding attractive and useful products. Products can be almost anything: physical items (e.g., smartphones), places (e.g., restaurants), digital content (e.g., movies and music), and many more. Recommender systems produce recommendations based on different inputs: demographic information about users, ratings and comments on products, individual’s or community’s past preferences and choices, social networks, context of use.

During the last years, recommender systems have seen an increasing adoption in various services. The most famous success story of a recommender system is Netflix. The Netflix company launched a competition (www.netflixprize.com) offering a 1 million dollar prize to anyone able to create a better recommendation system than the one adopted by Netflix itself for its video-streaming service.

The technology behind recommender systems has evolved over the past years into a rich collection of tools that enable practitioners and researchers to develop effective recommenders. We will study the most important of those algorithms, including how they work, how to use them, how to evaluate them, and their strengths and weaknesses in practice. The algorithms we will study include content-based filtering, collaborative filtering, dimensionality reduction, hybrid techniques, cros-domain and context aware techniques. The approach will be hands-on, with the evaluation based on a competition similar to the Netflix prize, which will involve implementation and testing of algorithms. We will also explore the design space for recommender systems, including designing recommender and the surrounding social issues such as identity, privacy, and manipulation.

Risultati di apprendimento attesi

Students will understand:

- requirements and objectives of recommender systems based on different application domains

- benefits and limits of different recommendation techniques

- how recommender systems differ based on their input data, on their internal working mechanisms, and on their goals

- how recommender systems work, how to use them, how to evaluate them, and their strengths and weaknesses


Given a practical recommendation problem, students will be able to:

- explore the design space for recommender systems in search for the best design choice

- write one or more scalable algorithms able to target the recommendation problem

- test the algorithms against a number of quality requirements


Given a practical recommendation problem, students will be able to:

- analyze and understand the goals, assumptions and requirements associated with that problem

- identify and define the correct evaluation activities required to assess the quality of a recommender system

- analyze and comment on the trade-offs between accuracy, novelty, diversity and scalability of different recommender algorithms

- estimate the resources needed for the successful execution of a recommendation algorithm on a target problem


Students will learn to:

- translate high-level requirements into a requirement specification document

- present an executive summary and a detailed technical description of their work to both a technical and a non-technical audience


Students will be able to:

- incrementally improve quality of recommendations with the design of new algorithms

- to design recommender systems tailored for new application domains

Argomenti trattati
  1. Introduction to course and to recommender systems
  • Introduction to recommender systems
  • Course overview
  • Taxonomy of recommender systems
  • Description of the competition

  1. Non-personalized recommenders
  • Understanding ratings, predictions, and recommendations
  • Inferring preferences
  • Scales and normalization
  • Predictions and recommendations
  • Non-personalized recommenders (popularity, average rating)
  • Global effects
  1. Evaluation 
  • User and provider utility
  • Comparative evaluation: Dead data vs. Laboratory vs. Field study
  • User-centered metrics and evaluation: relevance, novelty, diversity
  • Relevance: error vs. accuracy metrics vs. rank metrics
  • Cold Start, New-Item and New-User problems
  • Experimental protocols: datasets and the fallacy of hidden data
  • More metrics
  • On-line evaluation: basic concepts 

  1. Content-Based Filtering (CBF) 
  • Introduction to content-based recommenders
  • Similarity between items
  • Similarity between users and items: building user profiles
  • Attributes and their normalization: TF-IDF 

  1. Collaborative Filtering (CF) 
  • Introduction to User-User Collaborative Filtering
  • Variations and enhancements (k-Nearest-Neighbour and others)
  • Introduction to Item-Item Collaborative Filtering
  • Strengths and weaknesses of Item-Item vs. User-User CF
  • Item-Item and Association Rules
  • Domain knowledge vs. Machine Learning approaches: CF as an optimization problem

  1. Dimensionality Reduction Recommenders
  • Introduction to dimensionality-reduction recommenders: matrix factorization
  • Concepts behind Latent Semantic Analysis and Singular Value Decomposition (SVD)
  • Training Matrix Factorization: FunkSVD, ALS and others
  • Extending Matrix Factorization: SVD++ and AsySVD
  • Probabilistic Matrix Factorization

  1. Hybrid Recommenders
  • Overview of hybridization techniques
  • Collaborative filtering with side information
  • Factorization Machines

  1. Advanced topics
  • Deep Learning algorithms
  • Context-aware recommenders
  • Learning to rank
  • Cross-domain recommenders
  • Interfaces for recommender systems: elicitation and explanation



Students should have a basic familiarity with programming and a general background of mathematics.

Modalità di valutazione

Students can choose between three types of evaluation.

  • Programming level: students with programming experience, willing to learn both the theory of recommender systems and how to write recommendation algorithms, can participate to the recommender competition that will run during the semester. Students can group to form a team. The competition will terminate at the end of the semester. At the end of the competition, students will write a two-pages report of their activity and will present their best solution in front of the class. Maximum mark will be 30 e lode.
    The best teams of the competition will have the opportunity to participate to the International RecSys challenge. We will publish more details on the competition on the course home page.
    NB: this year a group of students from the course is participating to the International RecSys challenge (co-organized with Spotify): they are currently ranked 1st over more than 100 teams.

  • Concept level: students who are primarily interested in understanding concepts and techniques of recommender systems, without learning how to write recommender algorithms, can choose to focus on the conceptual and mathematical content. Students not participating to the competition will be evaluated with an oral exam. Maximum mark will be 26/30.

  • Project level: during the semester, a number of projects will be published on the course web site. Projects typically consist in the implementation and evaluation of one or more recommender system. Projects will be assigned on a first-come-first-served basis. Projects can be taken only in conjunction with the competition or with the oral exam and can be used to improve a previous evaluation. Maximum mark depends on the complexity of the project. Projects have deadlines. Failing to complete the project within the deadline means failing the project.

Risorsa bibliografica obbligatoriaBeep http://beep.metid.polimi.it/web/recommender-systems-paolo-cremonesi-/attivita-online-e-avvisi
Risorsa bibliografica obbligatoriaGroup website http://recsys.deib.polimi.it/
Risorsa bibliografica facoltativaAggarwal, Charu C., Recommender Systems: The Textbook, Editore: Springer, Anno edizione: 2016, ISBN: 978-3-319-29659-3 https://www.amazon.it/Recommender-Systems-Textbook-Charu-Aggarwal/dp/3319296574/ref=sr_1_1?ie=UTF8&qid=1474538865&sr=8-1&keywords=Recommender+Systems%3A+The+Textbook


Risorsa bibliografica facoltativaJannach, D., Zanker, M., Felfernig, A., & Friedrich, G, Recommender systems: an introduction, Editore: Cambridge University Press., Anno edizione: 2010 http://www.amazon.it/Recommender-Systems-Introduction-Dietmar-Jannach/dp/0521493366

Basic concepts

Risorsa bibliografica facoltativaKantor, Paul B., Lior Rokach, Francesco Ricci, and Bracha Shapira, Recommender systems handbook, Editore: Springer, Anno edizione: 2011 http://www.amazon.it/Recommender-Systems-Handbook-Francesco-Ricci-ebook/dp/B00D8D1Y10/ref=sr_1_1?s=english-books&ie=UTF8&qid=1413366876&sr=1-1&keywords=Recommender+systems+handbook

Advanced book

Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
Ore di studio autonome
Laboratorio Informatico
Laboratorio Sperimentale
Laboratorio Di Progetto
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.9.6 / 1.9.6
Area Servizi ICT