Overfitting: regularização de L2

A regularização L2 é uma métrica de regularização conhecida que usa a seguinte fórmula:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

Por exemplo, a tabela a seguir mostra o cálculo da regularização L2 para um modelo com seis ponderações:

Valor Valor ao quadrado
w1 0,2 0,04
w2 -0,5 0,25
w3 5.0 25.0
w4 -1,2 1,44
w5 0,3 0,09
w6 -0.1 0,01
    26,83 = total

Observe que pesos próximos de zero não afetam muito a regularização L2, mas pesos grandes podem ter um impacto enorme. Por exemplo, no cálculo anterior:

  • Um único peso (w3) contribui com cerca de 93% da complexidade total.
  • Os outros cinco contribuem coletivamente com apenas 7% da complexidade total.

A regularização L2 incentiva as ponderações a se aproximarem de zero, mas nunca as leva até zero.

Exercícios: teste seu conhecimento

Se você usar a regularização L2 ao treinar um modelo, o que geralmente vai acontecer com a complexidade geral dele?
A complexidade geral do sistema provavelmente vai diminuir.
Como a regularização L2 incentiva pesos próximos a zero, a complexidade geral provavelmente vai diminuir.
A complexidade geral do modelo provavelmente vai permanecer constante.
Isso é muito improvável.
A complexidade geral do modelo provavelmente vai aumentar.
Isso é improvável. A regularização L2 incentiva pesos próximos a zero.
Se você usar a regularização L2 ao treinar um modelo, alguns recursos serão removidos dele.
Verdadeiro
Embora a regularização L2 possa tornar alguns pesos muito pequenos, ela nunca vai levar nenhum peso totalmente a zero. Consequentemente, todos os atributos ainda vão contribuir de alguma forma para o modelo.
Falso
A regularização L2 nunca leva os pesos totalmente a zero.

Taxa de regularização (lambda)

Como observado, o treinamento tenta minimizar alguma combinação de perda e complexidade:

$$\text{minimize(loss} + \text{ complexity)}$$

Os desenvolvedores de modelos ajustam o impacto geral da complexidade no treinamento de modelo multiplicando o valor por um escalar chamado de taxa de regularização. O caractere grego lambda geralmente simboliza a taxa de regularização.

Ou seja, os desenvolvedores de modelos tentam fazer o seguinte:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

Uma alta taxa de regularização:

  • Reforça a influência da regularização, reduzindo as chances de overfitting.
  • Gera um histograma de pesos do modelo com as seguintes características:
    • uma distribuição normal
    • um peso médio de 0.

Uma taxa de regularização baixa:

  • Diminui a influência da regularização, aumentando as chances de overfitting.
  • Tende a produzir um histograma de pesos do modelo com uma distribuição plana.

Por exemplo, o histograma de pesos do modelo para uma taxa de regularização alta pode ser semelhante ao mostrado na Figura 18.

Figura 18. Histograma das ponderações de um modelo com média zero e distribuição normal.
Figura 18. Histograma de peso para uma taxa de regularização alta. A média é zero. Distribuição normal.

 

Por outro lado, uma taxa de regularização baixa tende a gerar um histograma mais plano, como mostrado na Figura 19.

Figura 19. Histograma das ponderações de um modelo com média zero, que está entre uma distribuição uniforme e uma distribuição normal.
Figura 19. Histograma de peso para uma taxa de regularização baixa. A média pode ou não ser zero.

 

Escolher a taxa de regularização

A taxa de regularização ideal produz um modelo que generaliza bem para dados novos e inéditos. Infelizmente, esse valor ideal depende dos dados. Portanto, é necessário fazer algum ajuste de de ajuste.

Parada antecipada: uma alternativa à regularização baseada em complexidade

O parada antecipada é um método de regularização que não envolve um cálculo de complexidade. Em vez disso, a parada antecipada significa apenas encerrar o treinamento antes que o modelo convirja totalmente. Por exemplo, você encerra o treinamento quando a curva de perda do conjunto de validação começa a aumentar (a inclinação se torna positiva).

Embora a parada antecipada geralmente aumente a perda de treinamento, ela pode diminuir a perda de teste.

A parada antecipada é uma forma rápida, mas raramente ideal, de regularização. É muito improvável que o modelo resultante seja tão bom quanto um modelo treinado completamente na taxa de regularização ideal.

Encontrar o equilíbrio entre a taxa de aprendizado e a taxa de regularização

A taxa de aprendizado e a taxa de regularização tendem a mover os pesos em direções opostas. Uma taxa de aprendizado alta geralmente afasta os pesos de zero, enquanto uma taxa de regularização alta os aproxima de zero.

Se a taxa de regularização for alta em relação à taxa de aprendizado, os pesos fracos vão produzir um modelo que faz previsões ruins. Por outro lado, se a taxa de aprendizado for alta em relação à taxa de regularização, os pesos fortes vão produzir um modelo de overfitting.

Seu objetivo é encontrar o equilíbrio entre a taxa de aprendizado e a taxa de regularização. Isso pode ser difícil. Pior ainda, depois de encontrar esse equilíbrio difícil, talvez seja necessário mudar a taxa de aprendizado. E, quando você muda a taxa de aprendizado, precisa encontrar novamente a taxa de regularização ideal.