Convalida incrociata in Machine Learning: 4 tipi di convalida incrociata
Pubblicato: 2020-11-30Sommario
introduzione
Lo sviluppo del modello è un passaggio cruciale nel ciclo di vita di un progetto di scienza dei dati in cui cercheremo di addestrare il nostro set di dati con diversi tipi di modelli di Machine Learning, sia di algoritmi supervisionati che non supervisionati basati sul problema aziendale.
Poiché siamo consapevoli del fatto che disponiamo di molti modelli che possono essere utilizzati per risolvere un problema aziendale, dobbiamo assicurarci che qualsiasi modello che selezioniamo alla fine di questa fase dovrebbe funzionare bene con i dati invisibili. Quindi, non possiamo limitarci alle metriche di valutazione per selezionare il nostro modello con le migliori prestazioni.
Abbiamo bisogno di qualcosa di più oltre alla metrica che può aiutarci a decidere il nostro modello finale di Machine Learning che possiamo distribuire alla produzione.
Il processo per determinare se i risultati matematici che calcolano le relazioni tra le variabili sono accettabili come descrizioni dei dati è noto come Validazione . Di solito, una stima dell'errore per il modello viene effettuata dopo aver addestrato il modello sul set di dati del treno, meglio noto come valutazione dei residui.
In questo processo, misuriamo l' errore di allenamento calcolando la differenza tra la risposta prevista e la risposta originale. Ma questa metrica non può essere considerata attendibile perché funziona bene solo con i dati di addestramento. È possibile che il modello stia Underfitting o Overfitting dei dati.
Quindi, il problema con questa tecnica di valutazione o qualsiasi altra metrica di valutazione è che non fornisce un'indicazione delle prestazioni del modello rispetto a un set di dati invisibile. La tecnica che aiuta a conoscere questo sul nostro modello è nota come Cross-Validation .

In questo articolo, conosceremo di più sui diversi tipi di tecniche di convalida incrociata, vantaggi e svantaggi di ciascuna tecnica. Iniziamo con la definizione di Cross-Validation.
Convalida incrociata
La convalida incrociata è una tecnica di ricampionamento che aiuta a rendere il nostro modello sicuro della sua efficienza e accuratezza sui dati invisibili. È un metodo per valutare i modelli di Machine Learning addestrando diversi altri modelli di Machine Learning su sottoinsiemi del set di dati di input disponibile e valutandoli sul sottoinsieme del set di dati.
Abbiamo diversi tipi di tecniche di convalida incrociata, ma vediamo le funzionalità di base della convalida incrociata: il primo passaggio consiste nel dividere il set di dati pulito in partizioni K di uguale dimensione.
- Quindi dobbiamo trattare il Fold-1 come un test fold mentre l'altro K-1 come un treno fold e calcolare il punteggio del test-fold.
- Dobbiamo ripetere il passaggio 2 per tutte le pieghe prendendo un'altra piega come test rimanendo come un treno.
- L'ultimo passo sarebbe prendere la media dei punteggi di tutte le pieghe.
Leggi: Progetti di apprendimento automatico per principianti
Tipi di convalida incrociata
1. Metodo di resistenza
Questa tecnica funziona rimuovendo una parte del set di dati di addestramento e inviandola a un modello che è stato addestrato sul resto del set di dati per ottenere le previsioni. Quindi calcoliamo la stima dell'errore che indica come sta andando il nostro modello su insiemi di dati invisibili. Questo è noto come il metodo Holdout.
Professionisti
- Questo metodo è completamente indipendente dai dati.
- Questo metodo deve essere eseguito solo una volta, quindi ha costi di calcolo inferiori.
contro
- La Performance è soggetta a una varianza maggiore data la minore dimensione dei dati.
2. Convalida incrociata K-Fold
In un mondo guidato dai dati, non ci sono mai dati sufficienti per addestrare il tuo modello, inoltre rimuoverne una parte per la convalida pone un problema maggiore di Underfitting e rischiamo di perdere modelli e tendenze importanti nel nostro set di dati, che a sua volta aumenta la distorsione. Quindi, idealmente, abbiamo bisogno di un metodo che fornisca ampie quantità di dati per il training del modello e lasci grandi quantità di dati per i set di convalida.

Nella convalida incrociata K-Fold, i dati sono divisi in k sottoinsiemi oppure possiamo prenderlo come metodo di controllo ripetuto k volte, in modo tale che ogni volta uno dei k sottoinsiemi venga utilizzato come insieme di validazione e l'altro k-1 sottoinsiemi come insieme di addestramento. Viene calcolata la media dell'errore su tutte le k prove per ottenere l'efficienza totale del nostro modello.
Possiamo vedere che ogni punto dati sarà in un set di convalida esattamente una volta e sarà in un set di allenamento k-1 tempo. Questo ci aiuta a ridurre la distorsione poiché utilizziamo la maggior parte dei dati per l'adattamento e riduce la varianza poiché la maggior parte dei dati viene utilizzata anche nel set di convalida.
Professionisti
- Questo aiuterà a superare il problema della potenza di calcolo.
- I modelli potrebbero non essere influenzati molto se nei dati è presente un valore anomalo.
- Ci aiuta a superare il problema della variabilità.
contro
- I set di dati sbilanciati avranno un impatto sul nostro modello.
3. Convalida incrociata K-Fold stratificata
La tecnica di convalida incrociata K Fold non funzionerà come previsto per un set di dati sbilanciato. Quando abbiamo un set di dati sbilanciato, abbiamo bisogno di una leggera modifica alla tecnica di convalida incrociata K Fold, in modo tale che ogni piega contenga approssimativamente gli stessi strati di campioni di ciascuna classe di output del completo. Questa variazione dell'utilizzo di uno strato nella convalida incrociata K Fold è nota come convalida incrociata K Fold stratificata.
Professionisti
- Può migliorare diversi modelli utilizzando l'ottimizzazione degli iperparametri.
- Ci aiuta a confrontare i modelli.
- Aiuta a ridurre sia la distorsione che la varianza.
4. Convalida incrociata Leave-P-Out
In questo approccio lasciamo p punti dati fuori dai dati di addestramento su un totale di n punti dati, quindi np campioni vengono utilizzati per addestrare il modello e p punti vengono utilizzati come set di validazione. Questo viene ripetuto per tutte le combinazioni, quindi viene calcolata la media dell'errore.

Professionisti
- Ha una casualità Zero
- Il Bias sarà più basso
contro
- Questo metodo è esaustivo e computazionalmente impossibile.
Leggi anche: Carriera nell'apprendimento automatico
Conclusione
In questo articolo, abbiamo appreso l'importanza della convalida di un modello di apprendimento automatico nel ciclo di vita del progetto di scienza dei dati, abbiamo imparato cos'è la convalida e la convalida incrociata, abbiamo esplorato i diversi tipi di tecniche di convalida incrociata, abbiamo conosciuto alcuni vantaggi e svantaggi di tali tecniche.
Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Status di Alumni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Qual è la necessità della convalida incrociata nell'apprendimento automatico?
La convalida incrociata è una tecnica di apprendimento automatico in cui i dati di addestramento sono suddivisi in due parti: un set di addestramento e un set di test. Il set di addestramento viene utilizzato per creare il modello e il set di test viene utilizzato per valutare le prestazioni del modello durante la produzione. Il motivo per farlo è che c'è il rischio che il modello che hai costruito non funzioni bene nel mondo reale. Se non esegui la convalida incrociata del tuo modello, c'è il rischio che tu abbia creato un modello che funziona perfettamente con i dati di addestramento, ma non funziona bene con i dati del mondo reale.
Che cos'è la convalida incrociata k-fold?
Nell'apprendimento automatico e nel data mining, la convalida incrociata k-fold, a volte chiamata convalida incrociata leave-one-out, è una forma di convalida incrociata in cui i dati di addestramento sono divisi in k sottoinsiemi approssimativamente uguali, con ciascuno dei k- 1 sottoinsieme utilizzato come dati di test a sua volta e il restante sottoinsieme utilizzato come dati di addestramento. K è spesso 10 o 5. La convalida incrociata K-fold è particolarmente utile nella selezione del modello, poiché riduce la varianza delle stime dell'errore di generalizzazione.
Quali sono i vantaggi della convalida incrociata?
La convalida incrociata è una forma di convalida in cui il set di dati è suddiviso in un set di addestramento e un set di test (o set di convalida incrociata). Questo set viene quindi utilizzato per testare l'accuratezza del modello. In altre parole, ti fornisce una metodologia per misurare quanto è buono il tuo modello basato su un campione dei tuoi dati. Ad esempio, viene utilizzato per stimare l'errore del modello che è indotto dalla discrepanza tra l'input di addestramento e l'input di test.