Sobes.tech
Middle — Senior

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.