Алексей Чернобровов
Рекомендательные системы
О курсе
Без рекомендательных систем сегодня не обходится ни один сервис: социальные сети рекомендуют вам новых друзей, музыкальные сервисы находят интересные песни, интернет-магазины делают персональные рассылки и так далее.
Курс по рекомендательным системам предназначен для студентов, которые хотят попробовать использовать свои навыки в машинном обучении на прикладных задачах в области рекомендательных систем.
Основная задача курса – дать слушателям представление о том, как строятся рекомендательные системы в реальных проектах. В рамках курса будут рассмотрены теоретические аспекты построения рекомендательным систем.
Курс будет следовать истории развития этого вопрос от алгоритмов колобаративной фильтрации и матричных разложений до применение нейронных сетей. В заключении курса будут затронуты проблемы внедрения рекомендательных систем от высоконагруженных приложений до бизнес проблем связанной с оценкой качества.


Команда курса
Чернобровов Алексей
Лектор
Программа
1. Введение в рекомендательные системы
  • Введение
  • Что такое рекомендательные системы?
  • Виды рекомендаций
  • Области применения рекомендательных систем
  • Готовые реализации рекомендательных систем
  • Кейсы
  • Заключение
2. Коллаборативная фильтрация (Collaborative filtering)
  • Что такое колаборативная фильтрация?
  • User-based подход
  • Item-based подход
  • Метод ближайших соседей
  • Проблема холодного старта
  • Проблема длинного хвоста
  • Заключение
  • Семинар: knn-based рекомендации
3. Матричные разложения
  • Сведения из линейной алгебры
  • Матричная факторизация
  • SVD-разложения
  • SVD++
  • NMF
  • Семинар: Матричные разложения
4. Задачи ранжирования
  • Что такое ранжирование
  • Метрики ранжирования
  • Семинар: метрики ранжирования
5. Оценка качества рекомендательных систем
  • Матричные оценки
  • Оценки ранжирования
  • Специальные оценки качества
  • Многокритериальные рекомендации
  • Онлайн и оффлайн оценки качества
  • Бизнес-метрики
  • Семинар: Сравнение метрик ранжирования и прокси-метрик
6. Content-based рекомендации
  • Использование информации об объектах
  • Использование текстовых признаков
  • Использование картинок
  • Взвешение признаков
  • Семинар: Сравнение метрик ранжирования и прокси-метрик
7. Гибридные архитектуры
  • Общее понятние гибридной архитектуры
  • Content-based + Collaborative filtering
  • Разные типы гибридных архитектур
  • Семинар: Сравнение метрик ранжирования и прокси-метрик

8. Нейронные сети в рекомендациях
  • Понятие эмбединг
  • Neural Collaborative Filtering
  • General Matrix Factorization
  • Базовая архитектура нейронной сети
  • Семинар: построение нейронной сети для рекомендательной системы
9. Are We Really Making Much Progress?
  • Разбор статьи Are We Really Making Much Progress?
  • Способы сравнения различных архитекур нейронных сетей
  • Тюнинг алгоритмов
  • Семинар: Тюнинг нейронных сетей для рекомендательной системы
10. Active Learning в рекомендательных системах
  • Что такое Active Learning
  • Когда нужно использовать Active Learning
  • Применение Active Learning в рекомендательных системах
  • Семинар: разбор домашних работ
11. Высоконагруженные рекомендательные системы
  • Проблема риал-тайм рекомендаций
  • Обработка клик-стрима
  • Прокси-метрики
  • Практики построения высоконагруженных рекомендательных систем
  • Семинар: построения высоконагруженных рекомендательных систем
12. Внедрение рекомендательных системы (2 лекции)
  • Практические аспекты внедрения рекомендательных систем
  • АБ-тесты
  • Многорукие бандиты
  • Совмещение "тяжелых" алгоритмов с онлайн алгоритмами
  • Эвристики