Overfitting: complessità del modello

La sezione precedente ha introdotto il seguente modello, che ha classificato erroneamente molti alberi nel set di test:

Figura 16. La stessa immagine della Figura 13. Si tratta di una forma complessa che
            classifica erroneamente molti alberi.
Figura 16. Il modello complesso con problemi della precedente unità.

Il modello precedente contiene molte forme complesse. Un modello più semplice gestirebbe meglio i nuovi dati? Supponiamo di sostituire il modello complesso con un modello incredibilmente semplice: una linea retta.

Figura 17. Un modello a linea retta che separa in modo eccellente gli alberi malati da quelli sani.
Figura 17. Un modello molto più semplice.

Il modello semplice generalizza meglio del modello complesso sui nuovi dati. In altre parole, il modello semplice ha fatto previsioni migliori sul set di test rispetto al modello complesso.

La semplicità batte la complessità da molto tempo. In effetti, la preferenza per la semplicità risale all'antica Grecia. Secoli dopo, un frate del XIV secolo di nome Guglielmo di Occam formalizzò la preferenza per la semplicità in una filosofia nota come rasoio di Occam. Questa filosofia rimane un principio di base essenziale di molte scienze, incluso il machine learning.

Esercizi: verifica la comprensione

Stai sviluppando un'equazione fisica. Quale delle seguenti formule è più conforme al rasoio di Occam?
Una formula con dodici variabili.
Una formula con tre variabili.
Stai lavorando a un nuovo progetto di machine learning e stai per selezionare le tue prime funzionalità. Quante funzionalità dovresti scegliere?
Scegli 1-3 caratteristiche che sembrano avere una forte capacità predittiva.
Scegli quante più funzionalità possibili per iniziare a osservare quelle con la maggiore capacità predittiva.
Scegli 4-6 caratteristiche che sembrano avere una forte capacità predittiva.

Regolarizzazione

I modelli di machine learning devono soddisfare contemporaneamente due obiettivi in conflitto:

  • Adattarsi bene ai dati.
  • Adatta i dati nel modo più semplice possibile.

Un approccio per mantenere un modello semplice è penalizzare i modelli complessi, ovvero costringere il modello a diventare più semplice durante l'addestramento. L'applicazione di una penalità ai modelli complessi è una forma di regolarizzazione.

Perdita e complessità

Finora, questo corso ha suggerito che l'unico obiettivo dell'addestramento fosse minimizzare la perdita, ovvero:

minimize(loss)

Come hai visto, i modelli incentrati esclusivamente sulla minimizzazione della perdita tendono a presentare overfitting. Un algoritmo di ottimizzazione dell'addestramento migliore riduce al minimo una combinazione di perdita e complessità:

minimize(loss + complexity)

Purtroppo, perdita e complessità sono in genere inversamente proporzionali. Man mano che la complessità aumenta, la perdita diminuisce. Man mano che la complessità diminuisce, la perdita aumenta. Dovresti trovare una via di mezzo ragionevole in cui il modello effettui buone predizioni sia sui dati di addestramento sia su quelli reali. In altre parole, il modello deve trovare un compromesso ragionevole tra perdita e complessità.

Che cos'è la complessità?

Hai già visto alcuni modi diversi per quantificare la perdita. Come quantificheresti la complessità? Inizia l'esplorazione con il seguente esercizio:

Esercizio: controlla il tuo intuito

Finora abbiamo parlato in modo piuttosto vago di cosa sia effettivamente la complessità. Quale delle seguenti idee ritieni possa essere una metrica di complessità ragionevole?
La complessità è una funzione del quadrato dei pesi del modello.
La complessità è una funzione dei pesi del modello.
La complessità è una funzione dei bias di tutte le caratteristiche del modello.