L'insegnamento prevede 2.0 CFU erogati con Didattica Innovativa come segue:
Blended Learning & Flipped Classroom
MOOC
Corso di Studi
Codice Piano di Studio preventivamente approvato
Da (compreso)
A (escluso)
Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - CR (263) MUSIC AND ACOUSTIC ENGINEERING
*
A
ZZZZ
052534 - RECOMMENDER SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI
*
A
ZZZZ
052534 - RECOMMENDER SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA
*
A
ZZZZ
052175 - RECOMMENDER SYTEMS AND PERSONALIZATION (EIT DSC)
052534 - RECOMMENDER SYSTEMS
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
Introduction to course and to recommender systems
Introduction to recommender systems
Course overview
Taxonomy of recommender systems
Description of the competition
Non-personalized recommenders
Understanding ratings, predictions, and recommendations
Inferring preferences
Scales and normalization
Predictions and recommendations
Non-personalized recommenders (popularity, average rating)
Global effects
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
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
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
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
Hybrid Recommenders
Overview of hybridization techniques
Collaborative filtering with side information
Factorization Machines
Advanced topics
Deep Learning algorithms
Context-aware recommenders
Learning to rank
Cross-domain recommenders
Interfaces for recommender systems: elicitation and explanation
Prerequisiti
Students entering the class should be comfortable with probability and statistics, linear algebra, and vector calculus.
Students should have a pre-existing knowledge of "Machne Learning" (097683) and "Data Mining and Text Mining" (089167). Students who are weak in these areas should either: take the course at a later date, when better prepared, or expect to put in substantially more effort to catch up.
Students taking the competition should be strong in programming.
Modalità di valutazione
Students can choose between two types of evaluation.
# Engaged. Students with programming experience, willing to understand both the theory of recommender systems and how to write recommendation algorithms, can chose the innovartive evaluation track, which provides a more practical hands-on learning experience. The evaluation is divided into two parts: competition (mandatory) and project (optional).
Competition (max 27 points - mandatory). Students participate to the recommender competition that will run at the end of the semester. Students can group into teams of up to 2 students for the competition. At the end of the competition, students will write a two-pages report of their activity and will present their solution in front of the class. 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 web page.
Project (max 5 points - optional). During the semester, a number of projects will be published on the course web site. Projects typically consist in the high-level design of a recommender system. Projects will be assigned on a first-come-first-served basis. Students can group into teams of up to 4 students for the project. Projects have deadlines. Failing to complete the project within the deadline means failing the project.
# Traditional. Students who are primarily interested in understanding the theoretical concepts of recommender systems, can choose to focus on the conceptual and mathematical content. The exam is divided into two parts: a mandatory written exam and an optional oral exam.
Written exam (max 26 points - mandatory).
Oral exam (max 5 points - optional) on advanced topics.