Простое определение

Variance (разброс) — это мера того, насколько сильно меняются предсказания модели при изменении обучающих данных. Это нестабильность модели, её чувствительность к конкретному набору данных, на котором она обучалась.

Ключевая аналогия: Стрельба по мишени

Если Bias — это систематическое смещение от цели, то Variance — это разброс попаданий: Модель с высоким разбросом дает очень разные предсказания при обучении на разных выборках из одного распределения.

Математическое определение

Для модели variance определяется как:

где:

  • — предсказание модели
  • — среднее предсказание по всем возможным обучающим выборкам
  • Высокий variance: предсказания сильно отклоняются от среднего

Что такое “высокий разброс” (High Variance)?

  1. Модель слишком сложна для имеющихся данных
  2. Слишком чувствительна к шуму в обучающих данных
  3. Переобучение (Overfitting) — “запоминает” данные вместо изучения закономерностей
  4. Низкая ошибка на обучении, высокая на тесте

Примеры моделей с высоким разбросом

  • Дерево решений без ограничений глубины
  • Полиномиальная регрессия высокой степени (например, 15-я степень для 20 точек)
  • Нейронные сети со слишком большим количеством параметров
  • KNN с очень маленьким k (k=1)

Как выглядит на практике?

Задача: Предсказать успеваемость студента по 10 прошлым оценкам

Модель с высоким разбросом:

  • Если в данных есть аномалия (одна “2” из-за болезни), модель решит, что это важная закономерность
  • При изменении обучающих данных (убрать эту “2”) предсказания радикально меняются
  • Модель строит сложные правила: “если была хотя бы одна 2 в четверти, то будет плохо”

Как распознать высокий разброс?

  1. Большая разница между ошибкой на обучении и тесте
  2. Неустойчивость: маленькие изменения в данных → большие изменения в предсказаниях
  3. Кривые обучения не сходятся — разрыв между train и test ошибкой остается большим

Почему возникает высокий разброс?

Основные причины:

  1. Слишком сложная модель (много параметров)
  2. Мало обучающих данных
  3. Слишком много признаков относительно количества данных
  4. Модель слишком гибкая (например, нелинейная с множеством степеней свободы)

Как уменьшить разброс?

Практические методы:

  1. Упростить модель:

    • Уменьшить глубину дерева
    • Уменьшить количество нейронов/слоев в нейросети
    • Использовать более простой алгоритм
  2. Регуляризация (добавление штрафа за сложность):

    • L1 (лассо) или L2 (ридж) регуляризация
    • Dropout для нейросетей
    • Ранняя остановка (early stopping)
  3. Увеличить количество данных — самый эффективный способ!

  4. Уменьшить количество признаков:

    • Отбор признаков (feature selection)
    • PCA (уменьшение размерности)
  5. Использовать ансамбли:

    • 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 помогает осознанно выбирать между сложностью модели и её обобщающей способностью.