В чем разница между L1 и L2 регуляризацией?
Answer from AI
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.