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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Материалы курса)
 
(не показано 16 промежуточных версии 2 участников)
Строка 2: Строка 2:
  
 
Курс нацелен на формирование у слушателя достаточных знаний, навыков и компетенций для построения рекомендательных систем. Курс является прикладным и охватывает все продвинутые темы, необходимые для успешного применения как в индустрии, так и в академических исследованиях. Слушатели курса научатся постановке и имплементации рекомендательных ML моделей на Python от простой коллаборативной фильтрации до современных нейронных сетей.
 
Курс нацелен на формирование у слушателя достаточных знаний, навыков и компетенций для построения рекомендательных систем. Курс является прикладным и охватывает все продвинутые темы, необходимые для успешного применения как в индустрии, так и в академических исследованиях. Слушатели курса научатся постановке и имплементации рекомендательных ML моделей на Python от простой коллаборативной фильтрации до современных нейронных сетей.
 +
 +
[https://docs.google.com/document/d/1dY4PdGA69IADRcnhWvsWhxRFdHNGsWU_/edit?usp=sharing&ouid=104963596150558587903&rtpof=true&sd=true ПУД]
  
 
== Цели и результаты курса ==
 
== Цели и результаты курса ==
Строка 19: Строка 21:
 
Репозиторий курса: [https://github.com/anamarina/RecSys_course Github]
 
Репозиторий курса: [https://github.com/anamarina/RecSys_course Github]
  
Чат курса: [https://t.me/+eFmJENLT9TpmZWRi Telegram]
 
 
{| class="wikitable" style="text-align:center; width:30%; border:none; cellpadding=5px;"
 
{| class="wikitable" style="text-align:center; width:30%; border:none; cellpadding=5px;"
 
|-
 
|-
 
  | |
 
  | |
  | style="background:#eaecf0; border: 2px solid gray;" colspan="3" | '''Контакты'''
+
  | style="background:#eaecf0; border: 2px solid gray;" colspan="5" | '''Контакты'''
 
|- style="border: 2px solid gray;"
 
|- style="border: 2px solid gray;"
  ! Преподаватель
+
  ! Преподаватели
 
  | style="border: 2px solid gray;" | [https://t.me/ananyevame Марина Ананьева]
 
  | style="border: 2px solid gray;" | [https://t.me/ananyevame Марина Ананьева]
 
  | style="border: 2px solid gray;" | [https://t.me/lashinin Олег Лашинин]
 
  | style="border: 2px solid gray;" | [https://t.me/lashinin Олег Лашинин]
 
  | style="border: 2px solid gray;" | [https://t.me/deethereal Денис Красильников]
 
  | style="border: 2px solid gray;" | [https://t.me/deethereal Денис Красильников]
 +
| style="border: 2px solid gray;" | [https://t.me/pechatov Михаил Печатов]
 
|- style="border: 2px solid gray;"
 
|- style="border: 2px solid gray;"
  ! Ассистент
+
  ! Ассистенты
  | style="border: 2px solid gray;" colspan="3" | [https://t.me/mdeil007 Данил Иванов]
+
  | style="border: 2px solid gray;" | [https://t.me/Sllaavva Вячеслав Юсупов]
 +
| style="border: 2px solid gray;" | [https://t.me/amadare14 Мария Кокоева]
 +
| style="border: 2px solid gray;" | [https://t.me/janinaal Яна Журович]
 +
| style="border: 2px solid gray;" | [https://t.me/Konstantinator Констатин Чайников]
 +
| style="border: 2px solid gray;"| [https://t.me/ambdash Дарья Прудникова]
 
|-
 
|-
 
|}
 
|}
  
 
==Оценки==
 
==Оценки==
[https://docs.google.com/spreadsheets/d/1ODp5Hw5QZmo-Mvw2nZ9nNTdT0zRgk8m4HAuN0-zz1KI/edit?usp=sharing Таблица с оценками]
+
[https://docs.google.com/spreadsheets/d/13IqUHcFiQhee1CiFSZrfozbWc9r-mIDXfJKKTxKV5Nc/edit?usp=sharing Таблица с оценками]
  
Определим накопленную оценку как '''Накоп = (0.3 * ДЗ + 0.25 * Т + 0.15 * Р) / 0.7'''
+
Определим накопленную оценку как '''Накоп = (0.3 * ДЗ + 0.3 * Т) / 0.6'''
  
 
Оценка ставится по формуле:
 
Оценка ставится по формуле:
'''Final grade = Округление(0.7 * Накоп + 0.3 * Э)''', где
+
'''Final grade = Округление(0.6 * Накоп + 0.4 * Э)''', где
  
'''ДЗ''' - среднее за 2 домашних задания. Одно на тему имплементации метрик оценки качества ранжирования, другое - участие в открытом соревновании по рекомендательным системам на онлайн платформе (Boosters/Kaggle).  
+
'''ДЗ''' - среднее за 5 домашних заданий. Одно на тему имплементации метрик оценки качества ранжирования, другое - участие в открытом соревновании по рекомендательным системам на онлайн платформе Kaggle.  
  
'''Т''' - средняя арифметическая оценка за 15 тестов, которые проводятся на базе Google Forms/Anytask. Каждый тест содержит от 4 до 10 вопросов на пройденную тему последних лекции и семинаре в формате открытых вопросов либо с выбором ответов.  
+
'''Т''' - средняя арифметическая оценка за 19 тестов, которые проводятся на базе Google Forms/Anytask. Каждый тест содержит от 4 до 10 вопросов на пройденную тему последних лекции и семинаре в формате открытых вопросов либо с выбором ответов.  
  
'''Р''' - критический анализ выбранной научной статьи на тему рекомендательных систем из предложенного списка. Состоит из 5 заданий, каждое задание оценивается на 0, 1 или 2 балла.
+
'''Э''' - устный, дистанционный экзамен на онлайн платформе Talk. Разрешается пользоваться материалами. Экзамен неблокирующий. Продолжительность - 15 минут на студента. Максимальная оценка 10 баллов на основе общего впечатления преподавателя от ответов студента.
 
+
'''Э''' - устный, дистанционный экзамен на онлайн платформе Zoom. Разрешается пользоваться материалами. Экзамен неблокирующий. Продолжительность - 15 минут на студента. Максимальная оценка 10 баллов на основе общего впечатления преподавателя от ответов студента.
+
  
 
Если '''Накоп >= 8''' и '''Т >= 8''', то студент может получить '''Накоп''' в качестве итоговой оценки, не приходя на экзамен. Значения порогов могут быть пересмотрены с учетом фактической общей успеваемости потока.
 
Если '''Накоп >= 8''' и '''Т >= 8''', то студент может получить '''Накоп''' в качестве итоговой оценки, не приходя на экзамен. Значения порогов могут быть пересмотрены с учетом фактической общей успеваемости потока.
  
 
==Материалы курса==
 
==Материалы курса==
 +
 +
Еженедельные квизы и записи трансляций доступны [ по ссылке]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
  ! Неделя !! Тема !! Материалы !! Quiz !! Домашнее задание !! Дедлайн  
+
  ! Неделя !! Тема !! Материалы !! Домашнее задание !! Дедлайн  
 
|-
 
|-
| style="background:#eaecf0;" | '''1''' || Введение в рекомендательные системы  || - || - || - || -
+
| style="background:#eaecf0;" | '''1''' || Введение в рекомендательные системы  || [https://github.com/anamarina/RecSys_course/tree/2025/week1 Лекция и семинар] || - || -
 
|-
 
|-
 
|}
 
|}
Строка 70: Строка 76:
  
 
==Список литературы==
 
==Список литературы==
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
+
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

Текущая версия на 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