Overfitting: complessità del modello

Nell'unità precedente è stato introdotto il seguente modello, con molti errori nella categoria di alberi nel set di test:

Figura 16. La stessa immagine della Figura 13. Si tratta di una forma complessa che
            classifica in modo errato molti alberi.
. Figura 16. Il modello complesso con comportamento anomalo dell'unità precedente.

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

Figura 17. Un modello a linee rette che fa un lavoro eccellente
            separando gli alberi malati da quelli sani.
. Figura 17. Un modello molto più semplice.

Il modello semplice generalizza meglio del modello complesso con nuovi dati. Vale a dire che il modello semplice ha fatto previsioni migliori sul set di test rispetto al modello complesso.

La semplicità batte la complessità da molto tempo. Infatti, la preferenza per la semplicità risale all'antica Grecia. Secoli dopo, un frate trecentesco di nome Guglielmo d'Occam formalizzato la preferenza per la semplicità in una filosofia nota come Occam's rasoio. Questa filosofia rimane un principio fondamentale di molte scienze, tra cui e il machine learning.

Esercizi: verifica le tue conoscenze

Stai sviluppando un'equazione di fisica. Quale delle seguenti formule più da vicino al Rasoio di Occam?
Una formula con tre variabili.
Tre variabili sono più adatte a Occam di dodici.
Una formula con dodici variabili.
Dodici variabili sembrano troppo complicate, vero? Le due formule della fisica più famose di tutti i tempi (F=ma e E=mc2) coinvolgono ciascuna solo tre variabili.
Stai per partecipare a un nuovo progetto di machine learning e stai per selezionare il tuo le prime funzionalità. Quante funzionalità dovresti scegliere?
Scegli da 1 a 3 caratteristiche che sembrano avere una forte capacità predittiva.
È meglio che la pipeline di raccolta dati inizi con un solo due funzionalità. Questo ti aiuterà a confermare che il modello ML funziona come previsto. Inoltre, quando crei una base da un paio di caratteristiche, ti sentirai come se stessi facendo progressi!
Scegli da 4 a 6 caratteristiche che sembrano avere una forte capacità predittiva.
Puoi sempre utilizzare tutte queste funzioni, ma è comunque meglio iniziano con meno. Un minor numero di caratteristiche di solito significa meno elementi non necessari complicanze.
Scegliendo quante più caratteristiche possibile, in modo da poter iniziare a osservare quali hanno il potere predittivo più efficace.
Inizia in piccolo. Ogni nuova funzionalità aggiunge una nuova dimensione al tuo addestramento del set di dati. Quando la dimensionalità aumenta, il volume dello spazio aumenta così rapidamente che i dati di addestramento disponibili diventano sparsi. La più scarseggiano i dati, più è difficile per un modello apprendere la relazione tra le caratteristiche davvero importanti e l'etichetta. Questo fenomeno è chiamata "maledizione della dimensionalità".

Regolarizzazione

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

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

Un approccio per mantenere un modello semplice è penalizzare i modelli complessi; cioè per rendere il modello più semplice durante l'addestramento. Complesso penalizzante è una forma di regolarizzazione.

Perdita e complessità

Finora, questo corso ha suggerito che l'unico obiettivo durante la formazione fosse minimizzare la perdita; cioè:

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

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

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

Sfortunatamente, la perdita e la complessità sono in genere correlate al contrario. Come 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 migliora sia sui dati di addestramento che su quelli reali. Ciò significa che il modello deve trovare un compromesso ragionevole tra perdita e complessità.

Che cos'è la complessità?

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

Allenamento: controlla le tue intuizioni

Finora, siamo stati piuttosto vaghi su quale sia effettivamente la complessità dall'indirizzo IP interno. Quale delle seguenti idee ritieni ragionevole le metriche della complessità?
La complessità è una funzione dei pesi del modello.
Sì, questo è un modo per misurare i modelli complessità. Questa metrica è chiamata L1 regolarizzazione.
La complessità è una funzione del quadrato dei pesi del modello.
Sì, puoi misurare il rendimento di alcuni modelli la complessità in questo modo. Questa metrica è chiamato L2 regolarizzazione.
La complessità è una funzione dei bias di tutte le caratteristiche un modello di machine learning.
Il bias non misura la complessità.