Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2017/2018
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 097686 - RECOMMENDER SYSTEMS
Docente Cremonesi Paolo
Cfu 5.00 Tipo insegnamento Monodisciplinare

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

Programma dettagliato e risultati di apprendimento attesi

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.



Students willing to pass with maximum grades should have a basic familiarity with programming and a general background of mathematics.



  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


Note Sulla 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. Maximum mark will be 30 e lode. Students participating to the competition do not need to pass any further exam for their evaluation. 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: last year a group of students participated to the international RecSys challenge, ranking 4th over more than 100 teams, ranking 1st among the university teams, being invited to present their algorithm at the 2016 RecSys conference (hosted at MIT), being mentioned as the youngest team of the competition

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

  • Project level: at the beginning of the semester, a very limited number of projects will be published. Projects typically consist in the implementation and evaluation of one or more web-based recommender system. Each project can be taken by a team of no more than three students. Projects will be assigned on a first-come-first-served basis. Projects have deadlines. Failing to complete the project within the deadline means failing the project. Some of these projects are in conjunction with the AUI course. Maximum mark will be 30 e lode.

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

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
laboratorio informatico
laboratorio sperimentale
laboratorio di progetto

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.7.2 / 1.7.2
Area Servizi ICT