Декомпозиция ошибки модели
Ожидаемая ошибка предсказания раскладывается на три компонента:
Ошибка = Смещение² + Дисперсия + Нередуцируемый шум
- Смещение (Bias) — систематическое отклонение предсказаний от истинных значений. Причина: слишком простые предположения модели о данных.
- Дисперсия (Variance) — чувствительность предсказаний к конкретной обучающей выборке. Причина: слишком сложная модель, запомнившая шум.
- Нередуцируемый шум — случайная составляющая данных, которую нельзя предсказать никакой моделью.
Визуализация компромисса
Ошибка
│ Суммарная ошибка
│ ╲ ╱
│ ╲ min ╱
│ Смещение² ╲ ╱ Дисперсия
│ ╲ ╱
│ ╲ ╱
└─────────────────── Сложность модели
Простая Сложная
Оптимум находится там, где суммарная ошибка минимальна — не при максимальной и не при минимальной сложности.
Практическое применение в рекомендациях
| Ситуация | Проблема | Решение |
|---|---|---|
| Линейная модель не улавливает паттерны | Высокое смещение | Перейти на матричную факторизацию или двухбашенную модель |
| Модель отлично работает на истории, плохо на новых данных | Высокая дисперсия | Усилить регуляризацию, добавить данные |
| Редкие товары предсказываются плохо | Высокая дисперсия для малого числа наблюдений | Content-based фолбэк для холодного старта |
Ансамблирование как баланс
Ансамблевые методы — Random Forest, Gradient Boosting — работают именно с этим компромиссом:
- Bagging (Random Forest): обучает много деревьев на подвыборках и усредняет → снижает дисперсию, смещение не растёт
- Boosting (XGBoost, LightGBM): последовательно исправляет ошибки → снижает смещение, дисперсия контролируется регуляризацией
Совет: в рекомендательных системах «mixing strategies» — объединение popularity, коллаборативной фильтрации и content-based — это, по сути, ансамблирование. Каждая модель имеет свой bias-variance профиль, а смешивание нивелирует слабости каждой.