Intelligenza ArtificialeMachine LearningMetodi di riduzione dell’overfitting

overfitting
L’overfitting si verifica quando un modello cerca di prevedere una tendenza nei dati che è troppo rumorosa. Ciò è dovuto a un modello eccessivamente complesso con troppi parametri. Un modello sovradimensionato è impreciso perché la tendenza non riflette la realtà presente nei dati. Questo può essere giudicato se il modello produce buoni risultati sui dati visti (set di addestramento) ma si comporta male sui dati non visti (set di test). L’obiettivo di un modello di apprendimento automatico è generalizzare bene dai dati di addestramento a tutti i dati dal dominio del problema. Questo è molto importante in quanto vogliamo che il nostro modello faccia previsioni in futuro su dati che non ha mai visto prima.
Questi sono i principali metodi per ridurre overfitting.

Semplificare il modello

 

Il primo passo quando si ha a che fare con l’overfitting è diminuire la complessità del modello. Per diminuire la complessità, possiamo semplicemente rimuovere i livelli o ridurre il numero di neuroni per rendere la rete più piccola. Mentre si fa questo, è importante calcolare le dimensioni di input e output dei vari strati coinvolti nella rete neurale. Non esiste una regola generale su quanto rimuovere o quanto grande dovrebbe essere la tua rete. Ma se la tua rete neurale è troppo adatta, prova a ridurla.

Early stopping

 

L’arresto anticipato è una forma di regolarizzazione durante l’allenamento di un modello con un metodo iterativo, come la discesa del gradiente. Poiché tutte le reti neurali apprendono esclusivamente utilizzando la discesa del gradiente, l’arresto anticipato è una tecnica applicabile a tutti i problemi. Questo metodo aggiorna il modello in modo da adattarlo meglio ai dati di addestramento ad ogni iterazione. Fino a un certo punto, questo migliora le prestazioni del modello sui dati sul set di test. Oltre quel punto, tuttavia, il miglioramento dell’adattamento del modello ai dati di addestramento porta a un maggiore errore di generalizzazione. Le regole di arresto anticipato forniscono indicazioni su quante iterazioni possono essere eseguite prima che il modello inizi a sovraadattare.
Effetto dell’early stopping sulle funzioni di perdita nei set di training e di set rispetto l’evoluzione dei cicli di training (o epoche).

Data augmentation

 

Nel caso delle reti neurali, aumento dei dati significa semplicemente aumentare la dimensione dei dati che sta aumentando il numero di immagini presenti nel set di dati. Alcune delle tecniche più diffuse per l’aumento delle immagini sono capovolgimento, traslazione, rotazione, ridimensionamento, modifica della luminosità, aggiunta di rumore ecc. Per un riferimento più completo, sentiti libero di controllare documentazioni e imgaug.
Esempio di Data Augmentation su un’immagine.

Regolarizzazione L1 e L2

La regolarizzazione è una tecnica per ridurre la complessità del modello. Lo fa aggiungendo un termine di penalità alla funzione di perdita. Le tecniche più comuni sono note come regolarizzazione L1 e L2:
La penalità L1 mira a minimizzare il valore assoluto dei pesi.
La penalità L2 mira a ridurre al minimo l’ampiezza al quadrato dei pesi.
Formule matematiche delle regolarizzazioni L1 e L2.

Dropout

Il dropout è una tecnica di regolarizzazione che impedisce l’overfitting delle reti neurali. Metodi di regolarizzazione come L1 e L2 riducono l’overfitting modificando la funzione di costo. Dropout d’altra parte, modifica la rete stessa. Rilascia in modo casuale i neuroni dalla rete neurale durante l’allenamento in ogni iterazione. Quando rilasciamo diversi set di neuroni, equivale ad addestrare diverse reti neurali. Le diverse reti si adattano in modi diversi, quindi l’effetto netto dell’abbandono sarà di ridurre l’overfitting.
Rappresentazione grafica dell’applicazione di Dropout su una rete neurale.
Flavio Bernardotti

Flavio Bernardotti

House of Codes
Technical Advisor and Business Partner

Scrivi un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con un *

https://www.houseofcodes.it/wp-content/uploads/2020/12/Webp.net-resizeimage-3-320x78.png
https://www.houseofcodes.it/wp-content/uploads/2017/03/logo_white.png
Iscriviti alla newsletter

Se vuoi ricevere le nostre news sul mondo tecnologico, sottoscrivi alla nostra newsletter. Zero spam.

    House of Codes – Malta

    4, Triq L-Isqof Pace,

    MLH 1067, Mellieha, Malta

    House of Codes – Italia

    Via Lazio 63 B/4

    65015 Montesilvano (PE), Italia

    Iscriviti alla newsletter

    Se vuoi ricevere le nostre news sul mondo tecnologico, sottoscrivi alla nostra newsletter. Zero spam.

      House of Codes – Malta

      4, Triq L-Isqof Pace,

      MLH 1067, Mellieha, Malta

      House of Codes – Italia

      Via Lazio 63 B/4

      65015 Montesilvano (PE), Italia

      Copyright by House of Codes. Tutti i diritti riservati.