Sobes.tech
Middle+
15

Расскажите про регуляризацию в классических алгоритмах ML: L1 и L2. В чём их свойства и отличия?

Компании, где спрашивали
AvitoAvito

Ответ от нейросети

sobes.tech AI

L1 и L2 — это два типа регуляризации, которые добавляют штраф к функции потерь, чтобы предотвратить переобучение.

  • L1-регуляризация (Lasso) добавляет сумму абсолютных значений коэффициентов: ( \lambda \sum |w_i| ). Она способствует разреженности модели, то есть многие коэффициенты становятся равны нулю, что помогает в отборе признаков.

  • L2-регуляризация (Ridge) добавляет сумму квадратов коэффициентов: ( \lambda \sum w_i^2 ). Она не обнуляет коэффициенты, а лишь уменьшает их величину, делая модель более устойчивой к шуму.

Отличия:

  • L1 может приводить к разреженным решениям, что удобно для отбора признаков.
  • L2 сглаживает веса, уменьшая их, но не обнуляет.

Пример в линейной регрессии:

from sklearn.linear_model import Ridge, Lasso

ridge = Ridge(alpha=1.0)  # L2
lasso = Lasso(alpha=1.0)   # L1

ridge.fit(X_train, y_train)
lasso.fit(X_train, y_train)