Convalida incrociata K-fold nell'apprendimento automatico

Aggiornato su September 02, 2024 3 minuti a leggere

Convalida incrociata K-fold nell'apprendimento automatico

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.