Sobes.tech
Middle — Senior
28

В чем разница между L1 и L2 регуляризацией?

Компании, где спрашивали
СБЕРСБЕР
ПАО Газпром нефть

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

sobes.tech AI

L1 и L2 регуляризация — методы предотвращения переобучения в моделях машинного обучения за счёт добавления штрафа к функции потерь.

  • L1 регуляризация (Lasso) добавляет к функции потерь сумму абсолютных значений коэффициентов модели:

    [ \lambda \sum |w_i| ]

    Это приводит к разреженности модели — многие коэффициенты стремятся к нулю, что помогает в отборе признаков.

  • L2 регуляризация (Ridge) добавляет сумму квадратов коэффициентов:

    [ \lambda \sum w_i^2 ]

    Она заставляет коэффициенты быть малыми, но редко обнуляет их полностью, что улучшает стабильность модели.

Основные отличия:

  • L1 способствует разреженности и отбору признаков.
  • L2 уменьшает величину коэффициентов, делая модель более устойчивой.

Пример в Python с использованием sklearn:

from sklearn.linear_model import LogisticRegression

# L1 регуляризация
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')

# L2 регуляризация
model_l2 = LogisticRegression(penalty='l2')

Выбор между ними зависит от задачи: если важен отбор признаков — L1, если нужна стабильность и сглаживание — L2.