DS404BKK
Recommendation Systems

Faculty
Vladislav Goncharenko
Head of Perception at Evocargo
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
Because the world is overwhelmed with information and people need automatic systems to filter and rank relevant information, recommendation systems are widespread technology today. We see them in video hosting services, social networks, online shops, etc. Recommendation systems are here to solve this task and save people’s time and effort on information retrieval.
This course aims to introduce students to a full spectrum of recommendation systems tool belts, starting from simple user-based collaborative filtering to sequential recommendations based on transformers. Materials include both a theoretical part (matrix decompositions, SLIM) and a practical part addressing production techniques such as knn indexes, embedding quantization, and scalable item-to-item service.
Learning highlights
- Understand the theory of recommendation systems, from the basics to state-of-the-art approaches.
- Develop skills required in the industrial development of recommendation systems.
- Gain essential experience with matrix factorizations and ranking problems.
- Learn to use crowdsourcing to measure the performance of the recommendation system.
- Get familiar with various approaches of collaborative and content-based models.
Course outline
15 classes
Introduction to Recommendation Systems
Role of recommendation systems (RS) in modern web services. Examples of services using RS. Types of feedback. Taxonomy of RS. Typical problems of RS.
Collaborative Filtering: User and Item-based
Feedback matrix. Idea of recommending new items based on similarity. Simple similarity formulas. Implementation of user based and item based collaborative filtering.
Matrix Factorizations
Matrix Factorizations (MF) definition and main properties. Practical aspects of MF. Effective MF implementation: Alternating Least Squares (ALS). SGD for matrix factorizations.
ALS Implementation
Implementing ALS from scratch. Use parallel processes to speed up ALS. Packages for MF.
SLIM Model Theory and Practice
Problem statement for SLIM. Derivation of fast SLIM calculation. Using parallel processes to implement SLIM. Comparing with collaborative filtering.
Content-based Recommendations and Neural Networks
Types of content to recommend. Neural networks architectures to embed items. Two tower architecture for recommendations. Pros and cons of content-based recommendations.
Measuring Recommendation Systems Quality
Metrics taxonomy and applicability to RS. Online and offline metrics. MRR, MaP and NDCG. Additional metrics for RS.
Learning to Rank
Ranking problem statement. Evolution of ranking loss functions: RankNet, LambdaRank, LambdaMart, YetiRank. Implementations of ranking losses.
Mid-term test
Mid-term test
Recommendation Systems in Production
ALS implementation on MapReduce. KNN indexes: HNSW. Packages for knn indexes: faiss. Quantization of embeddings: different methods and practical considerations.
Scalable Item-to-item Service
Two staged recommendation engines and their problems. Item-to-item lists motivation: item sources, reranking, serving. Sharded implementation of item-to-item service.
Sequential Recommendations and Transformers
Advantages of sequential recommendations. SASRec, Bert4Rec. Practical consideration of transformers in production.
Crowdsourcing for Quality Assurance
Need for continuous quality assurance in RC. Types of labelling for RC. Toloka service for crowdsourcing practice.
Information Retrieval Problem and Ranking
Information retrieval problem statement. Differences with recommendations. Subtasks of global search engine: Web crawler, databases, multi-staged inference pipeline. ElasticSearch as a baseline for simple tasks. Improving it with boosting.
Final Exam
Final Exam
Course materials
Books
Prerequisites
Master Machine Learning
Python programming experience
Basic knowledge of Linear Algebra, Probability Theory and Optimisation
Methodology
The course will be organised into three-hour sessions and self-study practical assignments. Sessions will contain both theoretical and practical parts, with different ratios depending on the materials.
Grading
Vladislav Goncharenko is a machine learning engineer specializing in modern Computer Vision, Deep Learning and Recommender Systems fields. He develops a recommender system of Dzen with 30 mln DAU and 10k RPS. Previously he led the Perception team at a self-driving trucks startup where he developed neural networks for object detection, segmentation and tracking on multivariate data such as images and Lidar clouds. His academic studies include a brain signals classification system based on EEG for mind-controlled VR games.
See full profileApply for this course
Recommendation Systems
by Vladislav Goncharenko
Total hours
45 Hours
Dates
Oct 23 - Nov 10, 2023
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.



