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 pesos:

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

Os pesos próximos de zero não afetam muito a regularização de 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.
  • As outras cinco ponderações contribuem coletivamente com apenas cerca de 7% da complexidade total.

A regularização L2 incentiva os pesos em direção a 0, mas nunca os empurra até zero.

Exercícios: teste seu conhecimento

Se você usar a regularização L2 durante o treinamento de um modelo, o que vai acontecer com a complexidade geral do modelo?
A complexidade geral do sistema provavelmente vai diminuir.
Como a regularização L2 incentiva os pesos em direção a 0, a complexidade geral provavelmente vai cair.
A complexidade geral do modelo provavelmente vai permanecer constante.
Isso é muito improvável.
A complexidade geral do modelo provavelmente vai aumentar.
Isso é improvável. Lembre-se de que a regularização de L2 incentiva pesos em direção a 0.
Se você usar a regularização L2 durante o treinamento de um modelo, alguns recursos serão removidos dele.
Verdadeiro
Embora a regularização de L2 possa tornar alguns pesos muito pequenos, ela nunca vai empurrar nenhum peso até zero. Consequentemente, todos os atributos ainda vão contribuir com algo para o modelo.
Falso
A regularização L2 nunca empurra os pesos até zero.

Taxa de regularização (lambda)

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

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

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

Ou seja, os desenvolvedores de modelos têm o seguinte objetivo:

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

Uma taxa de regularização alta:

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

Taxa de regularização baixa:

  • Reduz a influência da regularização, aumentando as chances de superajuste.
  • Tendem a produzir um histograma de pesos de 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 dos pesos de um modelo com uma média de zero e
            uma 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 dos pesos de um modelo com uma média de zero que
            fica entre uma distribuição plana 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.

 

Como escolher a taxa de regularização

A taxa de regularização ideal produz um modelo que se generaliza bem para dados novos e não vistos anteriormente. Infelizmente, esse valor ideal depende dos dados, então você precisa fazer alguns ajustes de ajuste.

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

A interrupção antecipada é um método de regularização que não envolve um cálculo de complexidade. Em vez disso, a parada antecipada significa encerrar o treinamento antes que o modelo converge totalmente. Por exemplo, você encerra o treinamento quando a curva de perda para o 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.

Como 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 puxar pesos em direções opostas. Uma taxa de aprendizado alta geralmente afasta os pesos de zero. Uma taxa de regularização alta os leva para zero.

Se a taxa de regularização for alta em relação à taxa de aprendizado, os pesos fracos tendem a 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 tendem a produzir um modelo overfit.

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