π Recommender Systems Course - Lecture Breakdown
This directory contains materials for each lecture in the Recommender Systems course. The course consists of 8 lectures, each 3 hours long, covering the fundamentals, evaluation metrics, classical approaches, hybrid models, and modern deep learning techniques.
π Course Lectures
1οΈβ£ Introduction to Recommender Systems
π Overview of recommender systems and their real-world applications
π Types of recommender systems (content-based, collaborative filtering, hybrid)
π Business impact and challenges in recommendation
π Datasets: MovieLens, Netflix Prize, Amazon Reviews
π Hands-on: Setting up a simple rule-based recommender
π Materials: Lecture1_Intro/
2οΈβ£ Evaluation Metrics for Recommender Systems
π Offline vs. online evaluation
π Accuracy metrics: Precision, Recall, MAP, NDCG
π Error-based metrics: RMSE, MAE
π Beyond accuracy: diversity, novelty, serendipity, coverage
π A/B testing and online evaluation
π Hands-on: Implementing evaluation metrics in Python
π Materials: Lecture2_Evaluation/
3οΈβ£ Content-Based Filtering
π How content-based filtering works
π Feature extraction: TF-IDF, embeddings for text, images, audio
π Cosine similarity and nearest neighbours
π Strengths and weaknesses of content-based methods
π Hands-on: Implementing a TF-IDF-based movie recommender
π Materials: Lecture3_ContentBased/
4οΈβ£ Collaborative Filtering
π User-based vs. item-based collaborative filtering
π Pearson correlation and similarity measures
π Model-based methods: Matrix factorisation (SVD, ALS)
π Cold start and sparsity issues
π Hands-on: Implementing collaborative filtering with user-item data
π Materials: Lecture4_CollaborativeFiltering/
5οΈβ£ Hybrid Recommender Systems
π Why hybrid models?
π Strategies: weighted, switching, feature combination
π Netflix Prize: How Netflix optimised recommendations
π Hands-on: Implementing a hybrid recommender
π Materials: Lecture5_Hybrid/
6οΈβ£ LensKit Library for Recommender Systems
π Introduction to LensKit and its advantages
π Implementing content-based and collaborative filtering using LensKit
π Evaluating recommendation models with LensKit
π Hands-on: Training and evaluating models in LensKit
π Materials: Lecture6_LensKit/
7οΈβ£ Matrix Factorisation & Advanced Techniques
π Matrix factorisation fundamentals: SVD, ALS
π Factorisation Machines and Bayesian Personalised Ranking
π Implicit feedback handling
π Hands-on: Implementing matrix factorisation with Surprise
π Materials: Lecture7_MatrixFactorization/
8οΈβ£ Deep Neural Networks for Recommender Systems
π Neural Collaborative Filtering (NCF)
π Autoencoders and Variational Autoencoders (VAEs)
π RNNs for sequential recommendations
π Transformers in recommender systems
π Hands-on: Building a deep learning-based recommender
π Materials: Lecture8_DeepLearning/
π― Final Project
π Build and evaluate a custom recommender system
π Apply concepts from previous lectures
π Present results and insights
π Materials: FinalProject/
π References
This course is built upon a mix of theoretical foundations, industry best practices, and hands-on implementations from various sources. Below are key references used throughout the lectures:
π Books
- Ricci, F., Rokach, L., & Shapira, B. (2015). Recommender Systems Handbook. Springer.
- Aggarwal, C. C. (2016). Recommender Systems: The Textbook. Springer.
- Okura, K., Tagami, Y., Ono, S., & Tajima, A. (2017). Deep Neural Networks for YouTube Recommendations. arXiv.
π Academic Papers
- Resnick, P., & Varian, H. R. (1997). Recommender Systems. Communications of the ACM, 40(3), 56-58.
- Sarwar, B. M., Karypis, G., Konstan, J. A., & Riedl, J. (2001). Item-Based Collaborative Filtering Recommendation Algorithms. WWW Conference.
- He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017). Neural Collaborative Filtering. WWW Conference.
- Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix Factorization Techniques for Recommender Systems. IEEE Computer.
π¨ Libraries & Tools
- LensKit - A Python toolkit for building and experimenting with recommender systems.
- Surprise - A scikit-based Python library for collaborative filtering.
- TensorFlow Recommenders - TensorFlow-based deep learning models for recommendation tasks.
π Datasets
- MovieLens - Widely used dataset for evaluating recommender systems.
- Netflix Prize - Historic dataset from the Netflix recommendation competition.
- Amazon Reviews - Large-scale e-commerce recommendation dataset.
π Online Courses & Tutorials
- Coursera: Recommender Systems Specialization - University of Minnesota.
- Fast.ai: Deep Learning for Recommender Systems - Advanced deep learning applications.
- Googleβs Recommender Systems Course - Introduction to modern recommender techniques.
π If you find useful references or additional resources that complement this course, feel free to contribute by adding them here!