Regolarizzazione per la semplicità: lambda

Gli sviluppatori di modelli ottimizzano l'impatto complessivo del termine di regolarizzazione moltiplicandone il valore per uno scalare noto come lambda (detto anche tasso di regolarizzazione). In altre parole, gli sviluppatori di modelli puntano a quanto segue:

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

L'esecuzione della regolarizzazione di L2 ha il seguente effetto su un modello

  • Incoraggia i valori di ponderazione verso 0 (ma non esattamente 0)
  • Incoraggia la media dei pesi verso 0, con una distribuzione normale (a campana o gaussiana).

Aumentare il valore lambda rafforza l'effetto di regolarizzazione. Ad esempio, l'istogramma dei pesi per un valore elevato di lambda potrebbe avere l'aspetto mostrato nella Figura 2.

Istogramma dei pesi di un modello con media zero e distribuzione normale.

Figura 2. Istogramma dei pesi.

L'abbassamento del valore della funzione lambda tende a restituire un istogramma più piatto, come mostrato nella Figura 3.

Istogramma dei pesi di un modello con una media pari a zero che si trova tra una distribuzione piatta e una distribuzione normale.

Figura 3. Istogramma dei pesi prodotti da un valore lambda inferiore.

Quando scegli un valore lambda, l'obiettivo è trovare il giusto equilibrio tra semplicità e adattamento dei dati di addestramento:

  • Se il valore lambda è troppo alto, il modello sarà semplice, ma corri il rischio di subfit dei dati. Il modello non apprenderà abbastanza sui dati di addestramento per fare previsioni utili.

  • Se il valore lambda è troppo basso, il modello sarà più complesso e corri il rischio di overfit dei dati. Il modello apprenderà troppo le particolarità dei dati di addestramento e non sarà in grado di generalizzare a nuovi dati.

Il valore ideale di lambda produce un modello che si generalizza bene a dati nuovi, precedentemente non considerati. Sfortunatamente, il valore ideale di lambda dipende dai dati, quindi dovrai eseguire un'ottimizzazione.