Ответ
Уменьшение дисперсии (variance) модели направлено на борьбу с переобучением (overfitting), когда модель слишком сложна и «запоминает» шум и конкретные примеры из обучающей выборки, вместо того чтобы выучить общие закономерности. В результате модель отлично работает на тренировочных данных, но плохо обобщает на новые, ранее не виденные данные (валидационная/тестовая выборка).
Высокая дисперсия — это симптом нестабильности: небольшие изменения в обучающих данных приводят к значительным изменениям в предсказаниях модели.
Основные методы уменьшения дисперсии:
- Регуляризация: Добавление штрафа за большие веса в функцию потерь.
- L2-регуляризация (Ridge):
loss = MSE + α * sum(weights²) - L1-регуляризация (Lasso):
loss = MSE + α * sum(|weights|)from sklearn.linear_model import Ridge # Увеличение alpha усиливает регуляризацию, снижая дисперсию (но может увеличить смещение) model = Ridge(alpha=1.0) model.fit(X_train, y_train)
- L2-регуляризация (Ridge):
- Упрощение модели: Уменьшение глубины дерева, числа нейронов или слоев в нейросети.
- Ансамблирование (бэггинг): Усреднение предсказаний множества моделей, обученных на разных подвыборках (например, Random Forest).
- Dropout: Случайное «выключение» части нейронов во время обучения нейронной сети.
- Увеличение объема обучающих данных.
Цель — найти оптимальный баланс между смещением (bias, ошибка из-за слишком простой модели) и дисперсией (variance, ошибка из-за слишком сложной модели) — т.н. bias-variance tradeoff.