Quale misura dell'errore di addestramento segnalare per le foreste casuali?


15

Attualmente sto adattando foreste casuali per un problema di classificazione usando il randomForestpacchetto in R, e non sono sicuro su come segnalare errori di addestramento per questi modelli.

Il mio errore di allenamento è vicino allo 0% quando lo calcolo usando le previsioni che ottengo con il comando:

predict(model, data=X_train)

dove X_trainsono i dati di allenamento.

In una risposta a una domanda correlata , ho letto che si dovrebbe usare l' errore di addestramento out-of-bag (OOB) come metrica dell'errore di addestramento per foreste casuali. Questa quantità viene calcolata dalle previsioni ottenute con il comando:

predict(model)

In questo caso, l'errore di addestramento OOB è molto più vicino all'errore medio di test 10 CV, che è dell'11%.

Mi chiedo:

  1. È generalmente accettato segnalare l'errore di addestramento OOB come misura dell'errore di addestramento per foreste casuali?

  2. È vero che la misura tradizionale dell'errore di allenamento è artificialmente bassa?

  3. Se la misura tradizionale dell'errore di addestramento è artificialmente bassa, quali due misure posso confrontare per verificare se la RF è troppo adatta?

Risposte:


10

Da aggiungere alla risposta di @Soren H. Welling.

1. È generalmente accettato segnalare l'errore di addestramento OOB come misura dell'errore di addestramento per foreste casuali?

No. L'errore OOB sul modello addestrato non è uguale all'errore di addestramento. Può, tuttavia, servire come misura della precisione predittiva.

2. È vero che la misura tradizionale dell'errore di addestramento è artificialmente bassa?

Questo è vero se stiamo riscontrando un problema di classificazione utilizzando le impostazioni predefinite. L'esatto processo è descritto in un post sul forum di Andy Liaw , che mantiene il randomForestpacchetto in R, come segue:

Per la maggior parte, le prestazioni sul set di allenamento non hanno senso. (È il caso della maggior parte degli algoritmi, ma soprattutto per la RF.) Nell'impostazione predefinita (e consigliata), gli alberi vengono portati alla dimensione massima, il che significa che molto probabilmente c'è solo un punto dati nella maggior parte dei nodi terminali, e il la previsione sui nodi terminali è determinata dalla classe di maggioranza nel nodo o dal punto dati solitario. Supponiamo che sia sempre così; cioè, in tutti gli alberi tutti i nodi terminali hanno un solo punto dati. Un particolare punto dati sarebbe "in-bag" in circa il 64% degli alberi nella foresta e ognuno di questi alberi ha la previsione corretta per quel punto dati. Anche se tutti gli alberi in cui i punti dati sono fuori borsa hanno dato una previsione sbagliata, con il voto della maggioranza di tutti gli alberi, alla fine ottieni ancora la risposta giusta. Quindi, in pratica, la previsione perfetta sul set di treni per RF è "di progettazione".

nodesize > 1sampsize < 0.5N(Xio,yio)

3. Se la misura tradizionale dell'errore di addestramento è artificialmente bassa, quali due misure posso confrontare per verificare se la RF è troppo adatta?

Se eseguiamo RF con nodesize = 1e sampsize > 0.5, l'errore di addestramento della RF sarà sempre vicino a 0. In questo caso, l'unico modo per sapere se il modello è troppo adatto è mantenere alcuni dati come set di validazione indipendente. È quindi possibile confrontare l'errore del test 10 CV (o l'errore del test OOB) con l'errore sul set di convalida indipendente. Se l'errore del test 10 CV è molto più basso dell'errore sul set di validazione indipendente, il modello potrebbe essere troppo adatto.


2

[modificato il 21.7.15 alle 8:31 CEST]

Suppongo che tu abbia usato la RF per la classificazione. Perché in questo caso l'algoritmo produce alberi completamente sviluppati con nodi terminali puri di una sola classe target.

predict(model, data=X_train)

Questa linea di codifica è come un cane che insegue [~ 66% della] sua coda. La previsione di qualsiasi campione di allenamento è la classe del campione di allenamento stesso. Per la regressione, la RF si arresta se il nodo contiene 5 o meno campioni o se il nodo è puro. Qui l'errore di previsione sarà piccolo ma non 0%.

Nell'apprendimento automatico lavoriamo spesso con ampi spazi di ipotesi. Ciò significa che ci saranno sempre molte ipotesi / spiegazioni / modelli non ancora falsati nella struttura dei dati del nostro set di formazione. Nella statistica classica lo spazio delle ipotesi è spesso piccolo e quindi l'adattamento diretto al modello è informativo di conseguenza per una teoria della probabilità assunta. Nell'apprendimento automatico la mancanza diretta di adattamento è correlata al pregiudizio del modello. La distorsione è la "inflessibilità" del modello. Non è cosìin ogni caso fornire un'approssimazione del potere di generalizzazione (la capacità di prevedere nuovi eventi). Per i modelli algoritmici la convalida incrociata è lo strumento migliore per approssimare il potere di generalizzazione, poiché non viene formulata alcuna teoria. Tuttavia, se i presupposti del modello di campionamento indipendente falliscono, il modello può essere comunque inutile, anche quando una validazione incrociata ben eseguita suggeriva diversamente. Alla fine, la prova più forte è prevedere in modo soddisfacente un numero di serie di test esterni di varia origine.

Torna al CV: il bagaglio fuori borsa è spesso un tipo di CV accettato. Personalmente ritengo che OOB-CV fornisca risultati simili a CV 5 volte, ma questo è un disturbo molto piccolo. Se per fare un paragone, diciamo RF a SVM, allora OOB-CV non è utile come normalmente eviteremmo di inserire SVM. Invece sia SVM che RF verrebbero incorporati nello stesso schema di convalida incrociata, ad esempio 10 ripetizioni 10 volte con partizioni corrispondenti per ogni ripetizione. Ogni fase di ingegnerizzazione delle funzionalità sarebbe spesso necessaria anche per la convalida incrociata. Se mantenere le cose pulite l'intera linea di dati potrebbe essere incorporata nel CV.

Se ottimizzi il tuo modello con il tuo set di test (o convalida incrociata) stai di nuovo gonfiando lo spazio delle tue ipotesi e le prestazioni di previsione convalidate sono probabilmente troppo ottimistiche. Sarà invece necessario un set di calibrazione (o loop CV di calibrazione) per ottimizzare e un set di validazione di test (o loop CV di validazione) per valutare il modello ottimale finale.

In senso estremo, il tuo punteggio di validazione sarà imparziale solo se non agisci mai su questo risultato, quando lo vedi. Questo è il paradosso della convalida, come perché dovremmo ottenere una conoscenza che è vera solo se non agisci su di essa. In pratica, la comunità accetta volentieri alcuni preconcetti della pubblicazione, in cui i ricercatori che hanno ottenuto una convalida troppo ottimistica a caso hanno maggiori probabilità di pubblicare, rispetto a quelli che purtroppo hanno una convalida troppo pessimistica. Pertanto a volte perché non è possibile riprodurre altri modelli.


Grazie per questo. Due domande: (1) In che modo la previsione di un campione di allenamento è la classe del campione di allenamento stesso? Devono essere presenti alberi che non utilizzano il campione di addestramento utilizzati nella procedura di voto a maggioranza no? (2) Quindi come valuteresti se una misura RF è troppo adatta?
Berk, U.

(1) bene sì, ero un po 'veloce lì, ho modificato la risposta. Ogni campione verrà inserito in circa il 66% degli alberi. Se durante l'allenamento un campione in un albero è stato inserito, finirà nello stesso nodo durante la previsione in ~ 66%, e questo è sufficiente per ottenere il voto a maggioranza ogni volta. Confermare abbassando la dimensione del campione, ad esempio il 30% dei campioni di treno, e notare un aumento dallo 0% dell'errore di classificazione. (2) Penso di aver risposto. La RF non si adatta di per sé, ma durante la messa a punto è possibile creare un contesto in cui si otterrà un risultato OOB-CV troppo ottimistico. Incorpora l'intero processo in un nuovo CV per esserne sicuro.
Soren Havelund Welling,
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.