Convalida incrociata K-fold nell'apprendimento automatico
Aggiornato su September 02, 2024 3 minuti a leggere

La convalida incrociata K-fold è una tecnica utilizzata per valutare le prestazioni di un modello. È particolarmente utile per stimare quanto bene un modello si generalizzerà a dati nuovi e invisibili. Il processo prevede la divisione del set di dati in sottoinsiemi o pieghe “k” di dimensioni approssimativamente uguali. Ecco una ripartizione dei passaggi:
1. Suddivisione del set di dati:
Il set di dati è diviso in sottoinsiemi o pieghe di “k” di uguali dimensioni. Ad esempio, se hai 1.000 campioni e scegli “k” come 5, ogni piega conterrà 200 campioni.
2. Formazione e valutazione iterative:
Il modello viene addestrato “k” volte. In ogni iterazione, viene utilizzata una piega diversa come set di convalida e le pieghe rimanenti vengono utilizzate per l’addestramento. Per esempio:
-
Iterazione 1: Piega 1 come convalida, piega 2 a k per allenamento
-
Iterazione 2: Piega 2 come convalida, Piega 1 e 3 a k per allenamento
-
Iterazione 3: Piega 3 come convalida, Piega 1 e 2 e 4 a k per allenamento
-
… e così via finché tutte le pieghe non saranno state utilizzate come set di validazione.
3. Valutazione delle prestazioni:
Dopo ogni iterazione, le prestazioni del modello vengono valutate utilizzando una metrica scelta (ad esempio accuratezza, precisione, richiamo, ecc.) sul set di validazione. Viene calcolata la media o combinata dei parametri prestazionali di ciascuna iterazione per fornire una stima complessiva delle prestazioni del modello.
4. Aggregazione delle metriche:
I parametri prestazionali (ad esempio i punteggi di precisione) di ciascuna iterazione vengono mediati o combinati per fornire una valutazione complessiva delle prestazioni del modello. Questa metrica aggregata rappresenta le prestazioni previste del modello su dati invisibili.
Vantaggi della convalida incrociata K-fold rispetto a una semplice suddivisione treno/test
-
Migliore utilizzo dei dati: la convalida incrociata K-fold fa un uso migliore dei dati disponibili poiché ogni campione viene utilizzato sia per l’addestramento che per la convalida.
-
Varianza ridotta nella stima delle prestazioni: fornisce una stima più affidabile delle prestazioni del modello riducendo la varianza associata a una singola suddivisione treno/test.
-
Generalizzazione: aiuta a comprendere come si comporta il modello su diversi sottoinsiemi di dati, valutando quindi la sua capacità di generalizzazione.
Scegliere il valore di ‘k’
-
Valori ‘k’ più alti: l’utilizzo di un valore ‘k’ più alto (ad esempio 10 o più) si traduce in set di validazione più piccoli, che possono portare a una distorsione inferiore nella stima delle prestazioni ma a un costo computazionale più elevato.
-
Valori ‘k’ inferiori: l’utilizzo di un valore ‘k’ inferiore (ad esempio 3 o 5) riduce le spese di calcolo ma può portare a un errore maggiore nella stima delle prestazioni a causa di una convalida più piccola insiemi.
Negli scenari pratici
-
Per set di dati di grandi dimensioni, valori “k” più elevati possono essere computazionalmente costosi.
-
Quando il set di dati è piccolo, un “k” più alto potrebbe non fornire dati sufficienti in ogni piega per un addestramento affidabile del modello.
-
Generalmente, valori come 5 o 10 sono comunemente usati poiché raggiungono un equilibrio tra efficienza computazionale e stima affidabile delle prestazioni.