Quando non dovrei usare un classificatore d'ensemble?


17

In generale, in un problema di classificazione in cui l'obiettivo è prevedere con precisione l'appartenenza alla classe fuori campione, quando non dovrei usare un classificatore di ensemble?

Questa domanda è strettamente correlata a Perché non usare sempre l'apprendimento d'insieme? . Questa domanda ci chiede perché non usiamo sempre ensemble. Voglio sapere se ci sono casi in cui gli ensemble sono noti per essere peggiori (non solo "non meglio e una perdita di tempo") rispetto a un equivalente non ensemble.

E per "classificatore d'ensemble" mi riferisco in particolare a classificatori come AdaBoost e foreste casuali, al contrario, ad esempio, di una macchina vettoriale di supporto potenziata roll-your-own.


2
Non utilizzerei i metodi di ensemble se non si dispone di diversità tra i singoli metodi. In altre parole, ensemble è utile quando si combinano diversi set di metodi.
previsioni

2
@forecaster Non ho potuto fare a meno di aggiungere un ottimo documento su ciò che gli autori definiscono la diversità "buona" e "cattiva" pages.bangor.ac.uk/~mas00a/papers/gblkMCS10.pdf nel contesto degli ensemble
Vladislavs Dovgalecs

@xeon bell'articolo. indipendentemente dai metodi di apprendimento automatico, sia che si tratti di foreste casuali o di ensemble (che combinano) metodi diversi, la diversità aiuta sicuramente. C'è una forte teoria dietro questo e si chiama e . nun'tureBioologiocun'lly ionSpiored
previsioni

Risposte:


7

Il modello più vicino al vero processo di generazione dei dati sarà sempre il migliore e batterà la maggior parte dei metodi di ensemble. Quindi, se i dati provengono da un processo lineare, lm () sarà molto superiore alle foreste casuali, ad esempio:

    set.seed(1234)
p=10
N=1000
#covariates
x = matrix(rnorm(N*p),ncol=p)
#coefficients:
b = round(rnorm(p),2)
y = x %*% b + rnorm(N)
train=sample(N, N/2)
data = cbind.data.frame(y,x)
colnames(data) = c("y", paste0("x",1:p))
#linear model
fit1 = lm(y ~ ., data = data[train,])
summary(fit1)
yPred1 =predict(fit1,data[-train,])
round(mean(abs(yPred1-data[-train,"y"])),2)#0.79

library(randomForest)
fit2 = randomForest(y ~ ., data = data[train,],ntree=1000)
yPred2 =predict(fit2,data[-train,])
round(mean(abs(yPred2-data[-train,"y"])),2)#1.33

13

Non consiglio di usare un classificatore di ensemble quando il modello deve essere interpretabile e spiegabile. A volte sono necessarie previsioni e spiegazioni delle previsioni.

Quando devi convincere le persone che vale la pena credere alle previsioni, un modello altamente accurato può essere molto convincente, ma ho faticato a convincere le persone ad agire su previsioni quando i metodi sono troppo complessi per il loro livello di comfort.

Nella mia esperienza, la maggior parte delle persone si sente a proprio agio con modelli di additivi lineari, modelli che potrebbero segnare a mano e se provi a spiegare il potenziamento adattivo, gli iperpiani e gli effetti di interazione di 5 ° livello, risponderanno come se stessi lanciando loro magia nera.

D'altra parte, le persone possono sentirsi a proprio agio con la complessità del modello, ma vogliono comunque interiorizzare alcune intuizioni. Gli scienziati, ad esempio, potrebbero non considerare un modello di scatola nera come un progresso nella conoscenza umana, anche se il modello è altamente accurato.

L'analisi di importanza variabile può aiutare con approfondimenti, ma se l'ensemble è più accurato di un modello di additivo lineare, l'ensemble sta probabilmente sfruttando alcuni effetti non lineari e di interazione che l'analisi di importanza variabile non può spiegare completamente.


Non quello che cercavo, ma i punti positivi. +1
Shadowtalker,

3

Vorrei aggiungere alla risposta di Branco. Gli ensemble possono essere altamente competitivi e fornire risultati molto buoni. Negli accademici, ad esempio, questo è ciò che conta. Nell'industria, gli ensemble potrebbero essere troppo difficili da implementare / mantenere / modificare / port. Il lavoro di Goef Hinton su "Dark Knowledge" riguarda esattamente questo: come trasferire la "conoscenza" di un grande ensemble in un modello facile da spostare. Afferma che gli ensemble sono cattivi al momento del test: sono estremamente ridondanti e il tempo di calcolo può essere fonte di preoccupazione.

Il suo team ha ottenuto alcuni risultati interessanti, suggerisco di dare un'occhiata alle sue pubblicazioni o almeno alle diapositive. Se la mia memoria è buona, questo è stato uno degli argomenti caldi del 2013 o 2014.

Le diapositive su Dark Knowledge sono disponibili qui: http://www.ttic.edu/dl/dark14.pdf

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.