Ответ
Регуляризация добавляет штраф за большие значения весов модели к функции потерь, что напрямую влияет на bias-variance tradeoff.
Типы регуляризации и их эффект:
| Тип | Штраф | Основной эффект | Влияние на Bias/Variance |
|---|---|---|---|
| L2 (Ridge) | Сумма квадратов весов | Сжимает все веса, но не обнуляет | Уменьшает Variance, слегка увеличивает Bias |
| L1 (Lasso) | Сумма модулей весов | Обнуляет менее важные веса (отбор признаков) | Сильнее уменьшает Variance, может сильнее увеличить Bias |
| ElasticNet | Комбинация L1 и L2 | Баланс между отбором признаков и сжатием весов | Компромисс между эффектами L1 и L2 |
Пример с Ridge регрессией (Scikit-learn):
from sklearn.linear_model import Ridge
from sklearn.model_selection import cross_val_score
import numpy as np
# Генерация данных
X = np.random.randn(100, 5)
y = X.dot([1.5, -2.0, 0, 3.0, 0.5]) + np.random.randn(100) * 0.5
# Модель с регуляризацией
ridge_model = Ridge(alpha=1.0) # alpha — сила регуляризации
scores = cross_val_score(ridge_model, X, y, cv=5)
print(f"Средний score: {scores.mean():.3f}")
Как выбирать alpha?
Сила регуляризации (alpha) — гиперпараметр. Слишком маленькое alpha:
- Слабая регуляризация → низкий Bias, но высокая Variance (риск переобучения).
Слишком большое
alpha: - Сильная регуляризация → высокий Bias, но низкая Variance (риск недообучения).
Оптимальное значение находят с помощью кросс-валидации (например,
GridSearchCV).