Nell'unità precedente è stato introdotto il seguente modello, con molti errori nella categoria
di alberi nel set di test:
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.
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.