Qual é a diferença entre regularização L1 e L2?
sobes.tech IA
Resposta da IA
A regularização L1 e L2 são métodos para prevenir o sobreajuste em modelos de aprendizagem automática, adicionando uma penalização à função de perda.
-
Regularização L1 (Lasso) adiciona à função de perda a soma dos valores absolutos dos coeficientes do modelo:
[ \lambda \sum |w_i| ]
Isso leva a modelos dispersos: muitos coeficientes tendem a ser zero, ajudando na seleção de características.
-
Regularização L2 (Ridge) adiciona a soma dos quadrados dos coeficientes:
[ \lambda \sum w_i^2 ]
Ela faz com que os coeficientes sejam pequenos, mas raramente os zere completamente, melhorando a estabilidade do modelo.
Principais diferenças:
- L1 favorece dispersão e seleção de características.
- L2 reduz a magnitude dos coeficientes, tornando o modelo mais estável.
Exemplo em Python usando sklearn:
from sklearn.linear_model import LogisticRegression
# Regularização L1
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')
# Regularização L2
model_l2 = LogisticRegression(penalty='l2')
A escolha entre eles depende da tarefa: se a seleção de características é importante — L1, se busca estabilidade e suavização — L2.