Overfitting: regolarizzazione L2

La regolarizzazione L2 è una metrica di regolarizzazione molto utilizzata che utilizza la seguente formula:

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

Ad esempio, la tabella seguente mostra il calcolo della regolarizzazione L2 per un modello con sei pesi:

Valore Valore al quadrato
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 = totale

Tieni presente che i pesi vicini allo zero non influiscono molto sulla regolarizzazione L2, ma i pesi elevati possono avere un impatto enorme. Ad esempio, nel calcolo precedente:

  • Un singolo peso (w3) contribuisce per circa il 93% della complessità totale.
  • Gli altri cinque pesi contribuiscono collettivamente solo per circa il 7% della complessità totale.

La regolarizzazione L2 favorisce i pesi verso 0, ma non li azzera mai completamente.

Esercizi: verifica la comprensione

Se utilizzi la regolarizzazione L2 durante l'addestramento di un modello, cosa accade in genere alla complessità complessiva del modello?
La complessità complessiva del sistema probabilmente diminuirà.
Poiché la regolarizzazione L2 incoraggia i pesi verso 0, la complessità complessiva probabilmente diminuirà.
La complessità complessiva del modello probabilmente rimarrà costante.
È molto improbabile.
La complessità complessiva del modello aumenterà probabilmente.
È improbabile. Ricorda che la regolarizzazione L2 spinge i pesi verso 0.
Se utilizzi la regolarizzazione L2 durante l'addestramento di un modello, alcune funzionalità verranno rimosse dal modello.
Vero
Anche se la regolarizzazione L2 può ridurre alcuni pesi a valori molto ridotti, non li azzera mai completamente. Di conseguenza, tutte le funzionalità contribuiranno comunque al modello.
Falso
La regolarizzazione L2 non azzera mai i pesi.

Tasso di regolarizzazione (lambda)

Come indicato, l'addestramento tenta di ridurre al minimo una combinazione di perdita e complessità:

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

Gli sviluppatori di modelli regolano l'impatto complessivo della complessità sull'addestramento del modello moltiplicando il relativo valore per uno scalare chiamato tasso di regolarizzazione. Il carattere greco lambda in genere simboleggia il tasso di regolarizzazione.

In altre parole, gli sviluppatori di modelli mirano a:

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

Un tasso di regolarizzazione elevato:

  • Rafforza l'influenza della regolarizzazione, riducendo così le probabilità di overfitting.
  • Tende a produrre un istogramma dei pesi del modello con le seguenti caratteristiche:
    • una distribuzione normale
    • un peso medio pari a 0.

Un tasso di regolarizzazione basso:

  • Riduce l'influenza della regolarizzazione, aumentando così le probabilità di overfitting.
  • Tende a produrre un istogramma dei pesi del modello con una distribuzione uniforme.

Ad esempio, l'istogramma dei pesi del modello per un'elevata percentuale di regolarizzazione potrebbe avere l'aspetto mostrato in Figura 18.

Figura 18. Istogramma dei pesi di un modello con una media pari a zero e
            una distribuzione normale.
Figura 18. Istogramma dei pesi per un tasso di regolarizzazione elevato. La media è zero. Distribuzione normale.

 

Al contrario, un tasso di regolarizzazione basso tende a produrre un istogramma più piatto, come mostrato nella Figura 19.

Figura 19. Insieme di dati che mostra la distribuzione dei pesi di un modello con una media pari a zero e che rientra tra una distribuzione uniforme e una normale.
Figura 19. Istogramma del peso per un tasso di regolarizzazione basso. La media può essere o meno pari a zero.

 

Scegliere il tasso di regolarizzazione

Il tasso di regolarizzazione ideale produce un modello che si generalizza bene ai nuovi dati non rilevati in precedenza. Purtroppo, questo valore ideale dipende dai dati, quindi devi eseguire alcune operazioni di Ottimizzazione.

Interruzione anticipata: un'alternativa alla regolarizzazione basata sulla complessità

L'interruzione anticipata è un metodo di regolarizzazione che non prevede un calcolo della complessità. L'interruzione anticipata, invece, significa semplicemente terminare l'addestramento prima che il modello convergi completamente. Ad esempio, termina l'addestramento quando la curva di perdita per il set di convalida inizia ad aumentare (la pendenza diventa positiva).

Sebbene l'interruzione anticipata aumenti in genere la perdita di addestramento, può diminuire la perdita di test.

L'interruzione anticipata è una forma di regolarizzazione rapida, ma raramente ottimale. È molto improbabile che il modello risultante sia buono quanto un modello addestrato in modo accurato con il tasso di regolarizzazione ideale.

Trovare l'equilibrio tra il tasso di apprendimento e il tasso di regolarizzazione

Il tasso di apprendimento e il tasso di regolarizzazione tendono a modificare i pesi in opposite direzioni. Un tasso di apprendimento elevato spesso allontana i pesi da zero; un tasso di regolarizzazione elevato avvicina i pesi a zero.

Se il tasso di regolarizzazione è elevato rispetto al tasso di apprendimento, i pesi deboli tendono a produrre un modello che fa previsioni scadenti. Al contrario, se il tasso di apprendimento è elevato rispetto al tasso di regolarizzazione, i pesi elevati tendono a produrre un modello overfit.

Il tuo obiettivo è trovare l'equilibrio tra il tasso di apprendimento e il tasso di regolarizzazione. Questa operazione può essere complessa. Peggio ancora, una volta trovato questo equilibrio sfuggente, potresti dover modificare il tasso di apprendimento. Inoltre, quando modifichi il tasso di apprendimento, dovrai trovare di nuovo il tasso di regolarizzazione ideale.