Рекомендательные системы: различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Строка 106: Строка 106:


==Список литературы==
==Список литературы==
1. Recommender Systems Handbook. Francesco Ricci et al, Springer, 2022
 
1. Recommender Systems Handbook. Francesco Ricci et al, Springer, 2022  
 
2. Hands-On Recommendation Systems with Python. Rounak Banik, 2018
2. Hands-On Recommendation Systems with Python. Rounak Banik, 2018
3. Building Recommendations Systems in Python and JAX. Brian Bischof et al, 2018
3. Building Recommendations Systems in Python and JAX. Brian Bischof et al, 2018
4. Practical Recommender Systems. Kim Falk, 2019
4. Practical Recommender Systems. Kim Falk, 2019
5. Session-Based Recommender Systems Using Deep Learning. Reza Ravanmehr et
 
al. Springer, 2024
5. Session-Based Recommender Systems Using Deep Learning. Reza Ravanmehr et al. Springer, 2024
 
6. Designing Machine Learning Systems. Chip Huyen, 2022
6. Designing Machine Learning Systems. Chip Huyen, 2022
7. Designing Data-Intensive Applications. Martin Kleppmann, 2017
7. Designing Data-Intensive Applications. Martin Kleppmann, 2017

Версия от 23:19, 15 января 2025

О курсе

Курс нацелен на формирование у слушателя достаточных знаний, навыков и компетенций для построения рекомендательных систем. Курс является прикладным и охватывает все продвинутые темы, необходимые для успешного применения как в индустрии, так и в академических исследованиях. Слушатели курса научатся постановке и имплементации рекомендательных ML моделей на Python от простой коллаборативной фильтрации до современных нейронных сетей.

ПУД

Цели и результаты курса

Главная цель - сформировать знания, умения и навыки по разработке рекомендательных систем в исследовательских и индустриальных задачах.

Планируемые результаты:

  • Знать основные подходы рекомендательных систем и алгоритмов к решению задачи ранжирования и рекомендаций пользователям.
  • Уметь правильно определять и формализовывать задачу для построения рекомендательной системы.
  • Определять и имплементировать функции ранжирования и метрики качества оценки алгоритмов.
  • Разрабатывать модели машинного обучения для рекомендательных систем разной сложности на языке программирования Python.
  • Объяснять и интерпретировать предсказания на локальном и глобальном уровне моделей, использовать их для отладки ошибок и аномалий.
  • Разрабатывать базовые API сервисы для рекомендательных моделей с помощью docker.

Контакты

Репозиторий курса: Github

Контакты
Преподаватели Марина Ананьева Олег Лашинин Денис Красильников Михаил Печатов
Ассистенты Вячеслав Юсупов Мария Кокоева Яна Журович Констатин Чайников Дарья Прудникова

Оценки

Таблица с оценками

Определим накопленную оценку как Накоп = (0.3 * ДЗ + 0.3 * Т) / 0.6

Оценка ставится по формуле: Final grade = Округление(0.6 * Накоп + 0.4 * Э), где

ДЗ - среднее за 5 домашних заданий. Одно на тему имплементации метрик оценки качества ранжирования, другое - участие в открытом соревновании по рекомендательным системам на онлайн платформе Kaggle.

Т - средняя арифметическая оценка за 19 тестов, которые проводятся на базе Google Forms/Anytask. Каждый тест содержит от 4 до 10 вопросов на пройденную тему последних лекции и семинаре в формате открытых вопросов либо с выбором ответов.

Э - устный, дистанционный экзамен на онлайн платформе Talk. Разрешается пользоваться материалами. Экзамен неблокирующий. Продолжительность - 15 минут на студента. Максимальная оценка 10 баллов на основе общего впечатления преподавателя от ответов студента.

Если Накоп >= 8 и Т >= 8, то студент может получить Накоп в качестве итоговой оценки, не приходя на экзамен. Значения порогов могут быть пересмотрены с учетом фактической общей успеваемости потока.

Материалы курса

Еженедельные квизы и записи трансляций доступны по ссылке

Неделя Тема Материалы Домашнее задание Дедлайн
1 Введение в рекомендательные системы Лекция и семинар - -
2 Базовые подходы Лекция Семинар - -
3 Матричные факторизации Лекция и семинар - -
4 Коллаборативная фильтрация Лекция Семинар - -
5 Контентные и контекстные подходы Лекция Семинар - -
6 Гибридные подходы to be added - -
7 Sequential-based подходы Лекция Семинар ДЗ1 24.03.24 23:59 MSK
8 Next basket recommendations to be added - -
9 LLM for RecSys to be added - -
10 Autoencoders & VAE to be added - -
11 Multi-task & Cross-domain to be added - -
12 Graph and KG-based подходы to be added - -
13 Интерпретируемость & объяснения рекомендацй to be added - -
14 RL в RecSys to be added - -
15 A/B тестирование и мониторинг to be added - -
16 Vanilla RecSys Service to be added - -

Программное обеспечение

  • Python >= 3.10
  • Jupyter Notebook
  • pip3

Список литературы

1. Recommender Systems Handbook. Francesco Ricci et al, Springer, 2022

2. Hands-On Recommendation Systems with Python. Rounak Banik, 2018

3. Building Recommendations Systems in Python and JAX. Brian Bischof et al, 2018

4. Practical Recommender Systems. Kim Falk, 2019

5. Session-Based Recommender Systems Using Deep Learning. Reza Ravanmehr et al. Springer, 2024

6. Designing Machine Learning Systems. Chip Huyen, 2022

7. Designing Data-Intensive Applications. Martin Kleppmann, 2017