Parliamo di split utilizzati per dividere il dataset in training, validation e test nel Machine Learning

Articolo in lingua originale di Barak Or, PhD

In questo post ci occuperemo di determinare il rapporto più adeguato tra training, validation e test set in database piccoli e grandi.

Background

La suddivisione di un dataset in training, validation e test set è un passaggio cruciale nella costruzione di un modello di machine learning poiché permette al modello di essere addestrato su un set, essere messo a punto su un altro e poi valutato su un set finale. I dataset di dimensioni maggiori beneficiano di una maggiore porzione di dati di training, mescolando e garantendo una distribuzione normale per evitare distorsioni. Durante questo processo è necessario dividere l’intero dataset per avere successo nel nostro task.

unsplash

Split più comuni per dividere il dataset in training, validation e test

Dividere un dataset in training, validation e test non riguarda solamente le dimensioni del dataset ma anche la distribuzione statistica dei dati.

Immagine dell’autore

Lo scopo della suddivisione dei dati in questi set è quello di addestrare il modello sul training set, regolare gli iperparametri sul validation set e valutare le prestazioni del modello finale sul test set. Se i set di training, di validation e di test hanno distribuzioni statistiche diverse, il modello può avere buone prestazioni sui set di training e di validation ma scarse sul set di test, il che è noto come overfitting.

Pertanto, è importante assicurarsi che i set di training, validation e test abbiano distribuzioni statistiche simili. Ciò significa che la percentuale di campioni di ogni classe deve essere più o meno la stessa in tutti gli insiemi. Se il set di dati è sbilanciato, potrebbe essere necessario utilizzare tecniche come il campionamento stratificato per garantire che tutti i set abbiano una rappresentazione proporzionale di ciascuna classe.

Un’altra considerazione è quella di garantire che i campioni negli insiemi di training e di test siano selezionati in modo casuale. Ciò consente di evitare qualsiasi distorsione sistematica che potrebbe essere presente nel set di dati, come l’ordine dei campioni o la loro posizione all’interno del set di dati.

Determinare le dimensioni appropriate di training, validation e test st dipende da vari fattori come le dimensioni del dataset, la complessità, il numero delle feature e la natura del problema. In generale, dataset di dimensioni maggiori porteranno a set di training maggiori in quanto permettono al modello di comprendere relazioni complesse tra le features e la variabile target. Tuttavia, anche le dimensioni di validation e test set sono importanti in quanto permetton odi stabilire le performance del modello e la capacità di generalizzazione. Solitamente, è pratica comune dividere il dataset con una percentuale di training del 60-80%, 10-20% di validation e 10-20% di test.

Considerazioni su training, validation e test set

La dimensione appropriata per training, validation e test set in un modello di machine learning è un fattore cruciale che spesso viene trascurato. La divisione comunemente utilizzata di 70/15/15 o addirittura 80/10/10 potrebbe non essere l’approccio migliore per i database più grandi, e la dimensione di questi set dovrebbe essere determinata in base alle dimensioni del dataset stesso.

Ad esempio, in un grande set di dati con 1.000.000 di campioni, una divisione di 98/1/1 può essere sufficiente per il testing, mentre la maggior parte dei dati viene utilizzata per l’addestramento. Tuttavia, è fondamentale rimescolare il set di dati e assicurarsi che abbia una distribuzione normale prima di dividerlo in questi insiemi.

Durante la fase di addestramento di un modello di ML, l’obiettivo è raggiungere un livello di generalizzazione che consenta al modello di ottenere buone prestazioni su dati nuovi e non visti (“capacità di generalizzazione”). Per verificare se la generalizzazione è stata raggiunta, abbiamo bisogno di un set di dati che sia statisticamente simile ai dati di addestramento. Ciò significa che la distribuzione dei dati nell’insieme di test deve essere la stessa di quella dell’insieme di addestramento.

Si pone quindi la domanda: di quanti campioni abbiamo bisogno nell’insieme di test per rappresentare accuratamente la distribuzione dei dati? Questo dipende da vari fattori, come le dimensioni del dataset e l’efficacia di tecniche come il rimescolamento e la normalizzazione. In generale, un test set più piccolo può essere sufficiente se viene selezionato correttamente e se rappresenta la stessa distribuzione statistica del set di addestramento. Tuttavia, è importante assicurarsi che l’insieme di test sia sufficientemente grande da fornire una valutazione significativa delle capacità di generalizzazione del modello.

Le ragioni alla base di questo approccio sono due. In primo luogo, i dataset di grandi dimensioni possono trarre vantaggio dall’utilizzo di una percentuale maggiore di dati per l’addestramento, in quanto ciò può aiutare il modello ad apprendere relazioni più complesse tra le caratteristiche e la variabile target. In secondo luogo, il rimescolamento del set di dati e la garanzia di una distribuzione normale prima della suddivisione possono aiutare a prevenire le distorsioni nei set risultanti, che possono influire negativamente sull’accuratezza del modello.

Comprendendo l’importanza delle dimensioni del dataset e i vantaggi del rimescolamento e della distribuzione normale, è possibile prendere decisioni informate sulle dimensioni dei set di training, validation e test nello sviluppo di modelli di machine learning.

Immagine dell’autore

Dataset di piccole dimensioni

La regola dell’80/10/10 può non essere appropriata per insiemi di dati di piccole dimensioni, in quanto può risultare insufficiente per l’apprendimento del modello. In questi scenari, la cross-validation è una tecnica comunemente utilizzata.

La cross-validation prevede la suddivisione del set di dati in k sottoinsiemi uguali, o “fold”. Di questi, k-1 sottoinsiemi sono utilizzati per l’addestramento del modello, mentre il sottoinsieme rimanente è riservato ai test. Questo processo viene ripetuto k volte, e ogni fold viene utilizzato una volta come test set. I risultati di ciascun fold vengono poi mediati per fornire una stima finale delle prestazioni del modello.

Un vantaggio della cross-validation è che aiuta a garantire che il modello non si adatti in modo eccessivo ai dati di addestramento. L’overfitting si verifica quando un modello è troppo complesso e si adatta troppo strettamente ai dati di addestramento, e alla fine si traduce in prestazioni scarse su dati nuovi e non visti. La cross-validation affronta questo problema valutando le prestazioni del modello su più sottoinsiemi di dati, che possono fornire una stima più affidabile della capacità del modello di generalizzarsi ai nuovi dati.

Tuttavia, uno svantaggio della cross-validation è che può essere computazionalmente costosa, in particolare per i modelli complessi. Inoltre, la scelta del numero di fold può avere un impatto sui risultati ottenuti: valori maggiori di k forniscono generalmente una stima più accurata delle prestazioni del modello, ma aumentano il costo computazionale.

Conclusioni

Lavorando con un database molto grande o molto piccolo, determinare le dimensioni ottimali per i set di training, validation e test richiede particolare attenzione. La quantità di dati disponibili, la complessità del problema e il livello di accuratezza desiderato sono tutti fattori importanti che entrano in gioco. Tuttavia, la cosa più importante è assicurare che il modello sia capace di generalizzare effettivamente sui nuovi dati. Non esiste un unico approccio per determinare come dividere questi set.

 

Grazie per l’attenzione!

 

Altre risorse:

[1] How (and why) to create a good validation set: https://www.fast.ai/posts/2017-11-13-validation-sets.html

[2] What is the Difference Between Test and Validation Datasets?

https://machinelearningmastery.com/difference-test-validation-datasets/

Autore

Barak Or è un imprenditore e un esperto di AI & navigation; ex-QUalcomm. Barak ha conseguito un Ph.D nel campo del Machine Learning e Sensor Fusion. Ha conseguito laurea magistrale e triennale in ingegneria informatica e B.A. in Economia & Management al Technion. Vincitore del premio Gemunder. Autore di diversi paper e brevetti. Fondatore e CEO di ALMA Tech. LTD, una compagnia di Artificial Intelligence  e Advanced Sensor Fusion.

 

Share:

Contenuti
Torna in alto