← Назад к вопросам

Как регуляризация помогает бороться с переобучением?

1.3 Junior🔥 171 комментариев
#Машинное обучение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Регуляризация против переобучения

Основная идея

Регуляризация добавляет штраф за сложность модели к функции потерь:

Общая потеря = Ошибка + λ × Штраф за сложность

L1 регуляризация (LASSO)

from sklearn.linear_model import Lasso
lasso = Lasso(alpha=0.1)
lasso.fit(X_train, y_train)

Сумма абсолютных значений коэффициентов. Обнуляет ненужные коэффициенты (feature selection).

L2 регуляризация (Ridge)

from sklearn.linear_model import Ridge
ridge = Ridge(alpha=1.0)
ridge.fit(X_train, y_train)

Сумма квадратов коэффициентов. Уменьшает все коэффициенты, но не обнуляет.

Elastic Net (L1 + L2)

from sklearn.linear_model import ElasticNet
elastic = ElasticNet(alpha=0.1, l1_ratio=0.5)

Комбинирует L1 и L2 преимущества.

В деревьях решений

dt = DecisionTreeClassifier(max_depth=5, min_samples_split=5)

Ограничение глубины и минимального размера листа — форма регуляризации.

В нейронных сетях

model = tf.keras.Sequential([
    layers.Dense(128, kernel_regularizer=regularizers.l2(0.001)),
    layers.Dropout(0.5)
])
  • Dropout: случайно отключает нейроны
  • Early Stopping: останавливает обучение при росте ошибки на валидации

Выбор λ

from sklearn.linear_model import RidgeCV
ridge_cv = RidgeCV(alphas=[0.01, 0.1, 1, 10], cv=5)
ridge_cv.fit(X_train, y_train)
print(f"Лучший λ: {ridge_cv.alpha_}")

Как это работает

  1. λ = 0: модель запоминает данные (переобучение)
  2. λ оптимальное: баланс между ошибкой и сложностью
  3. λ очень большое: модель слишком простая (недообучение)

Практические рекомендации

  • Нормализуйте признаки перед L1/L2
  • Используйте cross-validation для подбора λ
  • L1 для выбора признаков
  • L2 для стабильности при мультиколлинеарности
  • Комбинируйте с другими методами (dropout, augmentation)

Заключение

Регуляризация работает, добавляя штраф за сложность. Это заставляет модель быть проще и лучше обобщаться на новые данные. Правильный выбор метода и силы критичен для качества.