Regolarizzazione per semplicità: regolarizzazione L2

Considera la seguente curva di generalizzazione, che mostra la perdita sia per il set di addestramento che per il set di convalida rispetto al numero di iterazioni di addestramento.

La funzione di perdita per il set di addestramento si riduce gradualmente. Al contrario, la funzione di perdita per l'insieme di convalida declina, ma poi inizia ad aumentare.

Figura 1. Perdita del set di addestramento e del set di convalida.

La Figura 1 mostra un modello in cui la perdita di addestramento diminuisce gradualmente, ma la perdita di convalida alla fine aumenta. In altre parole, questa curva di generalizzazione mostra che il modello si overfitting ai dati nel set di addestramento. Incanalando la nostra Ockham interiore, forse potremmo evitare l'overfitting penalizzando i modelli complessi, un principio chiamato regularizzazione.

In altre parole, invece di puntare semplicemente a ridurre al minimo la perdita (minimizzazione del rischio empirico):

$$\text{minimize(Loss(Data|Model))}$$

ora riduciamo al minimo la perdita e la complessità, che è chiamata minimizzazione del rischio strutturale:

$$\text{minimize(Loss(Data|Model) + complexity(Model))}$$

Il nostro algoritmo di ottimizzazione dell'addestramento ora è una funzione di due termini: il termine della perdita, che misura il livello di adattamento del modello ai dati, e il termine di regolarizzazione, che misura la complessità del modello.

Machine Learning Crash Course si concentra su due modi comuni (e in qualche modo correlati) per pensare alla complessità dei modelli:

  • La complessità del modello dipende dalle ponderazioni di tutte le caratteristiche.
  • Modella la complessità come funzione del numero totale di caratteristiche con ponderazioni diverse da zero. (Un modulo successivo tratta questo approccio.)

Se la complessità del modello è una funzione delle ponderazioni, una ponderazione di caratteristica con un valore assoluto elevato è più complessa di una ponderazione di caratteristica con un valore assoluto basso.

Possiamo quantificare la complessità utilizzando la formula di regolarizzazione L2, che definisce il termine di regolarizzazione come la somma dei quadrati di tutte le ponderazioni delle caratteristiche:

$$L_2\text{ regularization term} = ||\boldsymbol w||_2^2 = {w_1^2 + w_2^2 + ... + w_n^2}$$

In questa formula, ponderazioni vicine a zero hanno scarso impatto sulla complessità del modello, mentre ponderazioni outlier possono avere un impatto enorme.

Ad esempio, un modello lineare con le seguenti ponderazioni:

$$\{w_1 = 0.2, w_2 = 0.5, w_3 = 5, w_4 = 1, w_5 = 0.25, w_6 = 0.75\}$$

Ha un termine di regolarizzazione L2 pari a 26.915:

$$w_1^2 + w_2^2 + \boldsymbol{w_3^2} + w_4^2 + w_5^2 + w_6^2$$ $$= 0.2^2 + 0.5^2 + \boldsymbol{5^2} + 1^2 + 0.25^2 + 0.75^2$$ $$= 0.04 + 0.25 + \boldsymbol{25} + 1 + 0.0625 + 0.5625$$ $$= 26.915$$

Tuttavia, \(w_3\) (in grassetto sopra), con un valore quadrato di 25, contribuisce quasi tutta la complessità. La somma dei quadrati delle altre cinque ponderazioni aggiunge solo 1,915 al termine di regolarizzazione L2.