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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Список литературы)
(Материалы курса)
 
Строка 59: Строка 59:
 
==Материалы курса==
 
==Материалы курса==
  
Еженедельные квизы и записи трансляций доступны [http://edu.tinkoff.ru/all-activities/courses/b4e80a4b-436d-413d-ae61-be88bcdcbb29 по ссылке]
+
Еженедельные квизы и записи трансляций доступны [ по ссылке]
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 65: Строка 65:
 
  ! Неделя !! Тема !! Материалы !! Домашнее задание !! Дедлайн  
 
  ! Неделя !! Тема !! Материалы !! Домашнее задание !! Дедлайн  
 
|-
 
|-
| style="background:#eaecf0;" | '''1''' || Введение в рекомендательные системы  || [https://github.com/anamarina/RecSys_course/blob/2024/week1/Lecture1.pdf Лекция и семинар] || - || -
+
| style="background:#eaecf0;" | '''1''' || Введение в рекомендательные системы  || [https://github.com/anamarina/RecSys_course/tree/2025/week1 Лекция и семинар] || - || -
|-
+
| style="background:#eaecf0;" | '''2''' || Базовые подходы  || [https://github.com/anamarina/RecSys_course/blob/2024/week2/Lecture2.pdf Лекция] [https://github.com/anamarina/RecSys_course/blob/2024/week2/Seminar2.ipynb Семинар] || - || -
+
|-
+
| style="background:#eaecf0;" | '''3''' || Матричные факторизации  || [https://github.com/anamarina/RecSys_course/blob/2024/week3/MF_full.ipynb Лекция и семинар] || - || -
+
|-
+
| style="background:#eaecf0;" | '''4''' || Коллаборативная фильтрация  || [https://github.com/anamarina/RecSys_course/blob/2024/week4/Lecture4.pdf Лекция] [https://github.com/anamarina/RecSys_course/blob/2024/week4/ALS_NeurMF.ipynb Семинар] || - || -
+
|-
+
| style="background:#eaecf0;" | '''5''' || Контентные и контекстные подходы  || [https://github.com/anamarina/RecSys_course/blob/2024/week5/Lecture5.pdf Лекция] [https://github.com/anamarina/RecSys_course/blob/2024/week5/Content_approaches.ipynb Семинар] || - || -
+
|-
+
| style="background:#eaecf0;" | '''6''' || Гибридные подходы || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''7''' || Sequential-based подходы || [https://github.com/anamarina/RecSys_course/blob/2024/week7/Lecture7.pdf Лекция] [https://github.com/anamarina/RecSys_course/blob/2024/week7/seq.ipynb Семинар] || [https://github.com/anamarina/RecSys_course/blob/2024/hw/HSE_RecSys_HW1.ipynb ДЗ1] || 24.03.24 23:59 MSK
+
|-
+
| style="background:#eaecf0;" | '''8''' || Next basket recommendations || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''9''' || LLM for RecSys || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''10''' || Autoencoders & VAE  || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''11''' || Multi-task & Cross-domain || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''12''' || Graph and KG-based подходы || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''13''' || Интерпретируемость & объяснения рекомендацй || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''14''' || RL в RecSys || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''15''' || A/B тестирование и мониторинг || to be added || - || -
+
|-
+
| style="background:#eaecf0;" | '''16''' || Vanilla RecSys Service || to be added || - || -
+
 
|-
 
|-
 
|}
 
|}

Текущая версия на 02:23, 16 января 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 Введение в рекомендательные системы Лекция и семинар - -

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

  • 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