Qual è la differenza tra bootstrap e validazione incrociata?


21

Ho usato la validazione incrociata di K-fold per una solida valutazione dei miei modelli di apprendimento automatico. Ma sono consapevole dell'esistenza del metodo di bootstrap anche per questo scopo. Tuttavia, non riesco a vedere la differenza principale tra loro in termini di stima delle prestazioni.

A mio avviso, il bootstrap sta anche producendo un certo numero di sottoinsiemi di training + testing casuali (anche se in modo diverso) quindi qual è il punto, il vantaggio di utilizzare questo metodo rispetto al CV? L'unica cosa che ho potuto capire che in caso di bootstrap si potrebbe produrre artificialmente un numero virtualmente arbitrario di tali sottoinsiemi mentre per CV il numero di istanze è una sorta di limite per questo. Ma questo aspetto sembra essere un piccolo fastidio.

Risposte:


17

Sia la convalida incrociata che il bootstrap sono metodi di ricampionamento .

  • bootstrap esegue il campionamento con sostituzione (e di solito produce nuovi set di dati "surrogati" con lo stesso numero di casi del set di dati originale). A causa del disegno con sostituzione, un set di dati con bootstrap può contenere più istanze degli stessi casi originali e può omettere completamente altri casi originali.
  • la validazione incrociata esegue il campionamento senza sostituzione e produce quindi set di dati surrogati più piccoli dell'originale. Questi set di dati sono prodotti in modo sistematico in modo tale che dopo un numero prestabilito di set di dati surrogati, ciascuno degli casi originali sia stato lasciato fuori esattamente una volta. Questo è chiamato k-piega validazione incrociata o lasciare- x -out validazione incrociata con , ad esempio leave-one-out omette validazione incrociata 1 caso per ogni set surrogata, cioè .knx=nkk=n

  • Come suggerisce la convalida incrociata del nome , il suo scopo principale è misurare le prestazioni (generalizzazione) di un modello. Al contrario, il bootstrap viene utilizzato principalmente per stabilire funzioni di distribuzione empirica per una vasta gamma di statistiche (diffusa come nel variare, per esempio, dalla variazione della media alla variazione dei modelli nei modelli di insiemi insaccati).

  • L'analogo sinistro della procedura bootstrag si chiama jackknifing (ed è in realtà più vecchio del bootstrap).

  • L'analogo bootstrap per incrociare le stime di convalida dell'errore di generalizzazione è chiamato stima out-of-bootstrap (perché i casi di test sono quelli che sono stati esclusi dal set di training ricampionato bootstrap).

[convalida incrociata vs. convalida fuori dal bootstrap] Tuttavia, non riesco a vedere la differenza principale tra loro in termini di stima delle prestazioni.

Questa intuizione è corretta: in pratica spesso non c'è molta differenza tra la validazione incrociata ripetuta di -fold e il bootstrap. Con un numero totale simile di modelli surrogati valutati, l'errore totale [della misurazione dell'errore di predizione del modello] è risultato simile, sebbene il oob abbia tipicamente più distorsioni e meno varianze rispetto alle stime CV corrispondenti.k

Esistono numerosi tentativi di ridurre la distorsione da oob (.632-bootstrap, .632 + -bootstrap), ma se miglioreranno effettivamente la situazione dipende dalla situazione attuale.

Letteratura:


L'unica cosa che ho potuto capire che in caso di bootstrap si potrebbe produrre artificialmente un numero virtualmente arbitrario di tali sottoinsiemi mentre per CV il numero di istanze è una sorta di limite per questo.

Sì, ci sono meno combinazioni possibili per CV rispetto al bootstrap. Ma il limite per CV è probabilmente superiore a quello di cui sei a conoscenza. Per un set di dati con casi e -fold cross validation, haiknk

  • CV combinazioni senza sostituzione (per k <n che sono molto più delle possibilità che vengono solitamente valutate) vs.(nk)k
  • bootstrap / oob combinazioni con sostituzione (che sono di nuovo molto più che, per esempio, 100 o 1000 modelli surrogati che vengono generalmente valutati)(2n1n)

3

Il bootstrap è qualsiasi test o metrica che si basa sul campionamento casuale con sostituzione. È un metodo che aiuta in molte situazioni come la convalida delle prestazioni di un modello predittivo, i metodi di ensemble, la stima della distorsione e la varianza del parametro di un modello, ecc. Funziona con eseguendo il campionamento con la sostituzione dal set di dati originale e supponendo allo stesso tempo che i punti di dati che non sono stati scelti siano il set di dati di test. Possiamo ripetere questa procedura più volte e calcolare il punteggio medio come stima delle prestazioni del nostro modello. Inoltre, Bootstrapping è correlato ai metodi di addestramento dell'ensemble, perché possiamo costruire un modello usando ogni set di dati bootstrap e "raggruppare" questi modelli in un ensemble usando il voto di maggioranza (per la classificazione) o calcolando la media (per le previsioni numeriche) per tutti questi modelli come il nostro risultato finale.

La convalida incrociata è una procedura per convalidare le prestazioni di un modello e viene eseguita suddividendo i dati di addestramento in k parti. Partiamo dal presupposto che le parti k-1 sono il set di addestramento e l'altra parte è il nostro set di test. Possiamo ripetere che k volte distribuendo in modo diverso una parte diversa dei dati ogni volta. Infine, prendiamo la media dei punteggi k come stima della nostra performance. La validazione incrociata può soffrire di parzialità o varianza. Aumentando il numero di divisioni, anche la varianza aumenterà e la distorsione diminuirà. D'altra parte, se diminuiamo il numero di divisioni, la distorsione aumenterà e la varianza diminuirà.

In breve, la convalida incrociata divide il set di dati disponibile per creare più set di dati e il metodo Bootstrapping utilizza il set di dati originale per creare più set di dati dopo il ricampionamento con la sostituzione. Il bootstrap non è efficace come la validazione incrociata quando viene utilizzato per la validazione del modello. Il bootstrap riguarda più la costruzione di modelli di ensemble o semplicemente la stima di parametri.


2

La convalida incrociata è una tecnica che mira a vedere quanto bene il tuo modello si generalizza su dati che non sono stati addestrati. Non influisce sui risultati dell'algoritmo, li valuta e basta .

Il bootstrap è un metodo Ensemble che aggrega gli output di diversi modelli, come gli alberi decisionali, al fine di produrre un output medio . Tecnicamente parlando, riduce la varianza di un algoritmo di classificazione basato su un singolo modello, poiché calcola la media dell'output rispetto agli output di diverse varianti della stessa struttura del modello (con parametri diversi). Cambia quindi le prestazioni dell'algoritmo di classificazione, non lo valuta .

In altre parole : la convalida incrociata valuta in che misura un algoritmo si generalizza, mentre il bootstrap in realtà aiuta l'algoritmo a generalizzare meglio.

Puoi effettivamente utilizzare la convalida incrociata su un modello con bootstrap per vedere come si generalizza.


3
Quello è il bagging non il bootstrap vero?
elemolotiv

0
  • Convalida incrociata: fornire stime dell'errore del test.
  • Bootstrap: fornisce l'errore standard delle stime.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.