ИИ Рекомендательные системы (2024-25, 3-4 модули)
Содержание
О курсе
Курс нацелен на формирование у слушателя достаточных знаний, навыков и компетенций для построения рекомендательных систем. Курс является прикладным и охватывает все продвинутые темы, необходимые для успешного применения как в индустрии, так и в академических исследованиях. Слушатели курса научатся постановке и имплементации рекомендательных 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 | Лекция в ВК | Семинар в ВК | Квиз |
| 7 | Лекция в ВК | Семинар в ВК | Квиз |
| 9 | Лекция в ВК | Семинар в ВК | Квиз |
| 10 | Лекция в ВК | Семинар в ВК | Квиз |
| 11 | Лекция в ВК | Семинар в ВК | Квиз |
Программное обеспечение
- 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