Рекомендательные системы

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

О курсе

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

ПУД

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

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

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

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

Контакты

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

Чат курса: Telegram

Контакты
Преподаватели Марина Ананьева Олег Лашинин Денис Красильников
Ассистент Данил Иванов

Оценки

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

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

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

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

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

Р - критический анализ выбранной научной статьи на тему рекомендательных систем из предложенного списка. Состоит из 5 заданий, каждое задание оценивается на 0, 1 или 2 балла.

Э - устный, дистанционный экзамен на онлайн платформе Zoom. Разрешается пользоваться материалами. Экзамен неблокирующий. Продолжительность - 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. Charu C. Aggarwal. Recommender Systems: The Textbook, Springer, April 2016 – Режим доступа: https://www.springer.com/gp/book/9783319296579

2. Recommender Systems Handbook. Francesco Ricci, Lior Rokach, Bracha Shapira (Eds.), Springer, 2022 – Режим доступа: https://link.springer.com/book/10.1007/978-1-0716-2197-4