Простое определение
Variance (разброс) — это мера того, насколько сильно меняются предсказания модели при изменении обучающих данных. Это нестабильность модели, её чувствительность к конкретному набору данных, на котором она обучалась.
Ключевая аналогия: Стрельба по мишени
Если Bias — это систематическое смещение от цели, то Variance — это разброс попаданий: Модель с высоким разбросом дает очень разные предсказания при обучении на разных выборках из одного распределения.
Математическое определение
Для модели variance определяется как:
где:
- — предсказание модели
- — среднее предсказание по всем возможным обучающим выборкам
- Высокий variance: предсказания сильно отклоняются от среднего
Что такое “высокий разброс” (High Variance)?
- Модель слишком сложна для имеющихся данных
- Слишком чувствительна к шуму в обучающих данных
- Переобучение (Overfitting) — “запоминает” данные вместо изучения закономерностей
- Низкая ошибка на обучении, высокая на тесте
Примеры моделей с высоким разбросом
- Дерево решений без ограничений глубины
- Полиномиальная регрессия высокой степени (например, 15-я степень для 20 точек)
- Нейронные сети со слишком большим количеством параметров
- KNN с очень маленьким k (k=1)
Как выглядит на практике?
Задача: Предсказать успеваемость студента по 10 прошлым оценкам
Модель с высоким разбросом:
- Если в данных есть аномалия (одна “2” из-за болезни), модель решит, что это важная закономерность
- При изменении обучающих данных (убрать эту “2”) предсказания радикально меняются
- Модель строит сложные правила: “если была хотя бы одна 2 в четверти, то будет плохо”
Как распознать высокий разброс?
- Большая разница между ошибкой на обучении и тесте
- Неустойчивость: маленькие изменения в данных → большие изменения в предсказаниях
- Кривые обучения не сходятся — разрыв между train и test ошибкой остается большим
Почему возникает высокий разброс?
Основные причины:
- Слишком сложная модель (много параметров)
- Мало обучающих данных
- Слишком много признаков относительно количества данных
- Модель слишком гибкая (например, нелинейная с множеством степеней свободы)
Как уменьшить разброс?
Практические методы:
-
Упростить модель:
- Уменьшить глубину дерева
- Уменьшить количество нейронов/слоев в нейросети
- Использовать более простой алгоритм
-
Регуляризация (добавление штрафа за сложность):
- L1 (лассо) или L2 (ридж) регуляризация
- Dropout для нейросетей
- Ранняя остановка (early stopping)
-
Увеличить количество данных — самый эффективный способ!
-
Уменьшить количество признаков:
- Отбор признаков (feature selection)
- PCA (уменьшение размерности)
-
Использовать ансамбли:
- Bagging (Random Forest) — усредняет множество моделей
- Boosting (Gradient Boosting) — последовательное улучшение
Связь с Bias и компромисс
Классическая дилемма:
Сложность модели ↑:
Bias ↓ (лучше приближает данные)
Variance ↑ (больше чувствительность к шуму)
Сложность модели ↓:
Bias ↑ (хуже приближает данные)
Variance ↓ (стабильнее предсказания)
Важные инсайты
1. Зависимость от объема данных
- При малом объеме данных: variance доминирует, даже простые модели могут переобучаться
- При большом объеме данных: можно использовать сложные модели с низким bias и контролируемым variance
2. Разные алгоритмы — разные tradeoff
Высокий bias, низкий variance:
- Линейная регрессия
- Наивный Байес
- Мелкие деревья
Низкий bias, высокий variance:
- Глубокие деревья
- Нейронные сети
- SVM с RBF ядром
Сбалансированные:
- Random Forest (bagging снижает variance)
- Gradient Boosting (контролирует оба параметра)
3. Практическое правило
Если модель плохо работает на новых данных:
- Высокий bias (недообучение): ошибка на обучении тоже высокая
- Высокий variance (переобучение): ошибка на обучении низкая, на тесте высокая
Современный контекст
С появлением больших данных и методов регуляризации:
- Можно строить модели с низким bias и низким variance
- Глубокие нейросети могут иметь миллионы параметров (низкий bias), но при этом низкий variance благодаря:
- Огромным датасетам
- Продвинутой регуляризации (dropout, batch norm)
- Ансамблированию
Variance — это цена гибкости модели. Чем более гибкую (сложную) модель мы используем, чтобы уменьшить bias и лучше приблизить данные, тем больше риск, что она “подхватит” шум и случайные особенности конкретного набора данных.
Ключевая идея: Идеальная модель находит баланс — достаточно гибкая, чтобы уловить истинные закономерности (низкий bias), но достаточно устойчивая, чтобы игнорировать шум (низкий variance). Понимание variance помогает осознанно выбирать между сложностью модели и её обобщающей способностью.