8 недельный план
✅ Общие цели:
- Повторить и углубить базу: алгоритмы, метрики, задачи
- Практиковать имплементации: от простых моделей до нейросетевых
- Разобраться в продакшен-пайплайнах и offline/online метриках
- Подготовить сторителлинг: успешно реализованные проекты + ответы на архитектурные вопросы
🗓️ Неделя 1. Основы рекомендательных систем
📚 Теория:
- Виды: collaborative, content-based, hybrid
- User-based vs item-based
- Проблемы: sparsity, cold start, popularity bias
- Метрики: Precision@k, Recall@k, MAP, NDCG
💻 Практика: - Реализовать item-based и user-based рекомендатель на MovieLens (pandas + cosine similarity)
- Посчитать метрики (Precision@k, Recall@k)
🎯 Цель: понимать фундамент, уметь на пальцах объяснить метрики и простые модели
🗓️ Неделя 2. Matrix factorization и implicit модели
📚 Теория:
- ALS, SVD, BPR
- Implicit feedback (clicks, views), логика обучения
💻 Практика: - Построить ALS на PySpark или implicit
- Реализовать BPR вручную или через lightfm
🎯 Цель: уметь сравнивать методы, объяснить, как работает MF, когда использовать BPR
🗓️ Неделя 3. Feature-based модели (FM, FFM) и пайплайн
📚 Теория:
- FM, FFM, one-hot vs embeddings
- Подход к ML-based рекоммендациям как задаче ранжирования
💻 Практика: - Реализовать FM через xlearn или libFM
- Построить sklearn pipeline с feature engineering и ML-моделью (LightGBM)
🎯 Цель: уметь перейти от item2item к feature-based подходам, понимать плюсы/минусы
🗓️ Неделя 4. Метрики, offline vs online, A/B
📚 Теория:
- Метрики offline и online (CTR, retention, conversion)
- Проблемы интерпретации A/B (selection bias, novelty)
- Обработка логов, time-split, negative sampling
💻 Практика: - Построить оффлайн-пайплайн (train/test по времени, offline метрики)
- Провести A/B симуляцию на исторических данных (разделение, bootstrap)
🎯 Цель: уметь объяснить, как оценивать рекоммендации и какие pitfalls бывают
🗓️ Неделя 5. Дип-обучение: Wide & Deep, DeepFM, Two-tower
📚 Теория:
- Архитектуры: Wide & Deep, DeepFM, DLRM, Two-Tower
- Embeddings, activation units, feature crossing
💻 Практика: - Реализовать Wide & Deep или DeepFM через tensorflow-recommenders
- Построить Two-Tower и обсчитать Recall@K
🎯 Цель: уметь объяснить DL-модель, преимущества и когда её использовать
🗓️ Неделя 6. Sequence модели: GRU4Rec, SASRec, BERT4Rec
📚 Теория:
- Session-based модели
- Attention в рекомендациях
- Self-supervised подходы
💻 Практика: - Реализовать GRU4Rec или SASRec на open-source наборе (RecBole)
- Объяснить отличие sequence-based от классических моделей
🎯 Цель: уметь рассказать, как учитывать порядок событий и что это дает
🗓️ Неделя 7. Архитектура и продакшен
📚 Теория:
- Структура RecSys в проде: retrieval → ranking → reranking
- Feature store, real-time latency, serving
- Vector search: Faiss, ANN
- Monitoring, эксперименты
💻 Практика: - Нарисовать архитектуру продакшен-системы (например, в Notion или draw.io)
- Рассказать, как логируются события и как строятся онлайн-фичи
🎯 Цель: показать, что ты умеешь строить систему end-to-end
🗓️ Неделя 8. Интервью и проект
📚 Подготовка:
- Ответы на 20+ вопросов про RecSys (могу прислать список)
- Подготовка презентации pet-проекта или продакшен-кейса
- Примеры: как решал cold-start, как измерял метрики, как отлаживал модель
💻 Практика: - Mock-интервью (самостоятельно или с коллегой)
- Финализировать портфолио (GitHub, презентация)
🎯 Цель: уверенно рассказывать про системы, архитектуры, метрики, trade-offs
📦 Дополнительно (по времени/желанию):
- RecBole: фреймворк с множеством моделей
- Microsoft Recommenders: индустриальные пайплайны
- TFRS: для практики с DL-моделями