Ensemble learning

Bayes optimal classifierEdit

Il Bayes optimal classifier è una tecnica di classificazione. È un insieme di tutte le ipotesi nello spazio delle ipotesi. In media, nessun altro ensemble può sovraperformarlo. Il classificatore ottimale naive Bayes è una versione di questo che presuppone che i dati siano condizionatamente indipendenti sulla classe e rendono il calcolo più fattibile. Ad ogni ipotesi viene assegnato un voto proporzionale alla probabilità che il set di dati di allenamento venga campionato da un sistema se tale ipotesi fosse vera. Per facilitare i dati di formazione di dimensioni finite, il voto di ogni ipotesi è anche moltiplicato per la probabilità precedente di tale ipotesi. Il classificatore ottimale di Bayes può essere espresso con la seguente equazione:

y = a r g a m a s c j ∈ C ∑ h i ∈ H P ( c j | h i ) P ( T | h ) P ( h i ) {\displaystyle y={\underset {c_{j}\in C}{\mathrm {argmax} }}\sum _{h_{i}\in H}{P(c_{j}|h_{i})P(T|h_{i})P(h_{i})}}

dove y {\displaystyle y} è prevista classe a, C {\displaystyle C} è l’insieme di tutte le possibili classi, H {\displaystyle H} è l’ipotesi di spazio, P {\displaystyle P} si riferisce a una probabilità, e T {\displaystyle T} è la formazione di dati. Come insieme, il classificatore ottimale di Bayes rappresenta un’ipotesi che non è necessariamente in H {\displaystyle H} . L’ipotesi rappresentata dal classificatore ottimale di Bayes, tuttavia, è l’ipotesi ottimale nello spazio d’insieme (lo spazio di tutti i possibili ensemble costituiti solo da ipotesi in H {\displaystyle H} ).

Questa formula può essere rideterminata usando il teorema di Bayes, che dice che il posteriore è proporzionale alla probabilità rispetto al precedente:

P ( h i | T ) ∝ P ( T | h ) P ( h i ) {\displaystyle P(h_{i}|T)\propto P(T|h_{i})P(h_{i})}

quindi

y = a r g a m a s c j ∈ C ∑ h i ∈ H P ( c j | h i ) P ( h i | T ) {\displaystyle y={\underset {c_{j}\in C}{\mathrm {argmax} }}\sum _{h_{i}\in H}{P(c_{j}|h_{i})P(h_{i}|T)}}

Bootstrap di aggregazione (insaccamento)Modifica

articolo Principale: Bootstrap aggregazione

Bootstrap aggregazione, spesso abbreviato con l’insaccamento, che coinvolge ogni modello ensemble voto con peso uguale. Al fine di promuovere la varianza del modello, insaccamento treni ogni modello nel complesso utilizzando un sottoinsieme disegnato a caso del set di formazione. Ad esempio, l’algoritmo random forest combina alberi decisionali casuali con insaccamento per ottenere una precisione di classificazione molto elevata.

Nel bagging i campioni vengono generati in modo tale che i campioni siano diversi l’uno dall’altro, tuttavia è consentita la sostituzione. Sostituzione significa che un’istanza può verificarsi in più campioni più volte o non può apparire in alcuni campioni a tutti. Questi campioni vengono poi dati a più studenti e quindi i risultati di ogni studente sono combinati sotto forma di voto.

BoostingEdit

Articolo principale: Boosting (meta-algorithm)

Boosting implica la creazione incrementale di un ensemble addestrando ogni nuova istanza del modello per enfatizzare le istanze di allenamento che i modelli precedenti classificavano erroneamente. In alcuni casi, il potenziamento ha dimostrato di produrre una precisione migliore rispetto all’insacco, ma tende anche ad essere più probabile che si adattino eccessivamente ai dati di allenamento. Di gran lunga, l’implementazione più comune di boosting è Adaboost, anche se alcuni algoritmi più recenti sono segnalati per ottenere risultati migliori.

Nel potenziamento, viene dato un peso uguale (distribuzione di probabilità uniforme) ai dati di allenamento del campione (ad esempio D1) al round iniziale. Questi dati (D1) vengono quindi dati a uno studente di base (ad esempio L1). Alle istanze classificate in modo errato da L1 viene assegnato un peso superiore alle istanze classificate correttamente, ma tenendo presente che la distribuzione di probabilità totale sarà uguale a 1. Questi dati potenziati (ad esempio D2) vengono quindi dati al secondo studente di base (ad esempio L2) e così via. I risultati vengono poi combinati sotto forma di votazione.

Bayesian model averagingEdit

Bayesian model averaging (BMA) fa previsioni usando una media su diversi modelli con pesi dati dalla probabilità posteriore di ciascun modello dato i dati. BMA è noto per dare generalmente risposte migliori di un singolo modello, ottenuto, ad esempio, tramite regressione graduale, specialmente dove modelli molto diversi hanno prestazioni quasi identiche nel set di allenamento ma possono altrimenti eseguire in modo diverso.

La domanda più ovvia con qualsiasi tecnica che usi il teorema di Bayes è la precedente, cioè una specifica della probabilità (soggettiva, forse) che ogni modello sia il migliore da usare per un dato scopo. Concettualmente, BMA può essere utilizzato con qualsiasi precedente. I pacchetti ensembleBMA e BMA per R utilizzano il precedente implicito dal criterio di informazione bayesiano, (BIC), dopo Raftery (1995). Il pacchetto BAS per R supporta l’uso dei priori impliciti dal criterio di informazione Akaike (AIC) e di altri criteri sui modelli alternativi, nonché dei priori sui coefficienti.

La differenza tra BIC e AIC è la forza della preferenza per la parsimonia. La penalità per la complessità del modello è ln l(n ) k {\displaystyle \ln (n)k} per il BIC e 2 k {\displaystyle 2k} per l’AIC. La teoria asintotica del campione di grandi dimensioni ha stabilito che se esiste un modello migliore, con l’aumento delle dimensioni del campione, il BIC è fortemente coerente, cioè lo troverà quasi certamente, mentre l’AIC potrebbe no, perché l’AIC può continuare a collocare un’eccessiva probabilità posteriore su modelli che sono più complicati di quanto debbano essere. Se invece ci preoccupiamo di più dell’efficienza, vale a dire, minimo errore di previsione quadrato medio, quindi asintoticamente, AIC e AICc sono “efficienti” mentre BIC non lo è.

Burnham e Anderson (1998, 2002) hanno contribuito notevolmente a introdurre un pubblico più ampio alle idee di base del modello bayesiano che calcola la media e rende popolare la metodologia. La disponibilità di software, inclusi altri pacchetti open source gratuiti per R oltre a quelli sopra menzionati, ha contribuito a rendere i metodi accessibili a un pubblico più ampio.

Haussler et al. (1994) ha dimostrato che quando BMA viene utilizzato per la classificazione, il suo errore previsto è al massimo il doppio dell’errore previsto del classificatore ottimale di Bayes.

Bayesian model combinationEdit

Bayesian model Combination (BMC) è una correzione algoritmica alla media del modello bayesiano (BMA). Invece di campionare ogni modello nell’insieme individualmente, campiona dallo spazio di possibili ensemble (con ponderazioni del modello tratte casualmente da una distribuzione di Dirichlet con parametri uniformi). Questa modifica supera la tendenza di BMA a convergere verso dare tutto il peso ad un singolo modello. Sebbene BMC sia un po ‘ più costoso dal punto di vista computazionale rispetto a BMA, tende a produrre risultati notevolmente migliori. I risultati di BMC hanno dimostrato di essere migliori in media (con significatività statistica) rispetto a BMA e insaccamento.

L’uso della legge di Bayes per calcolare i pesi del modello richiede il calcolo della probabilità dei dati forniti a ciascun modello. In genere, nessuno dei modelli nell’ensemble è esattamente la distribuzione da cui sono stati generati i dati di allenamento, quindi tutti ricevono correttamente un valore vicino allo zero per questo termine. Questo funzionerebbe bene se l’ensemble fosse abbastanza grande da campionare l’intero spazio del modello, ma raramente è possibile. Di conseguenza, ogni modello nei dati di allenamento farà sì che il peso dell’ensemble si sposti verso il modello dell’ensemble più vicino alla distribuzione dei dati di allenamento. Si riduce essenzialmente a un metodo inutilmente complesso per eseguire la selezione del modello.

Le possibili ponderazioni per un insieme possono essere visualizzate come distese su un simplesso. Ad ogni vertice del simplesso, tutto il peso è dato a un singolo modello nell’insieme. BMA converge verso il vertice più vicino alla distribuzione dei dati di allenamento. Al contrario, BMC converge verso il punto in cui questa distribuzione proietta sul simplex. In altre parole, invece di selezionare il modello più vicino alla distribuzione generatrice, cerca la combinazione di modelli più vicini alla distribuzione generatrice.

I risultati di BMA possono spesso essere approssimati utilizzando la convalida incrociata per selezionare il modello migliore da un bucket di modelli. Allo stesso modo, i risultati di BMC possono essere approssimati utilizzando la convalida incrociata per selezionare la migliore combinazione di ensemble da un campionamento casuale di possibili ponderazioni.

Bucket of modelsEdit

Un “bucket of models” è una tecnica di ensemble in cui viene utilizzato un algoritmo di selezione del modello per scegliere il modello migliore per ogni problema. Se testato con un solo problema, un bucket di modelli non può produrre risultati migliori del miglior modello nel set, ma se valutato su molti problemi, in genere produrrà risultati molto migliori, in media, rispetto a qualsiasi modello nel set.

L’approccio più comune utilizzato per la selezione del modello è la selezione cross-validation (a volte chiamata “bake-off contest”). È descritto con il seguente pseudo-codice:

For each model m in the bucket: Do c times: (where 'c' is some constant) Randomly divide the training dataset into two datasets: A, and B. Train m with A Test m with BSelect the model that obtains the highest average score

La selezione di convalida incrociata può essere riassunta come: “provali tutti con il set di allenamento e scegli quello che funziona meglio”.

Gating è una generalizzazione della selezione Cross-Validation. Si tratta di formazione di un altro modello di apprendimento per decidere quale dei modelli nel secchio è più adatto per risolvere il problema. Spesso, un perceptron viene utilizzato per il modello di gating. Può essere usato per scegliere il modello “migliore” o può essere usato per dare un peso lineare alle previsioni di ciascun modello nel bucket.

Quando un secchio di modelli viene utilizzato con una grande serie di problemi, può essere auspicabile evitare di addestrare alcuni dei modelli che richiedono molto tempo per allenarsi. Landmark learning è un approccio meta-apprendimento che cerca di risolvere questo problema. Si tratta di addestrare solo gli algoritmi veloci (ma imprecisi) nel bucket e quindi utilizzare le prestazioni di questi algoritmi per aiutare a determinare quale algoritmo lento (ma accurato) è più probabile che faccia meglio.

StackingEdit

Stacking (a volte chiamato generalizzazione stacked) comporta la formazione di un algoritmo di apprendimento per combinare le previsioni di diversi altri algoritmi di apprendimento. Innanzitutto, tutti gli altri algoritmi vengono addestrati utilizzando i dati disponibili, quindi un algoritmo combinatore viene addestrato per effettuare una previsione finale utilizzando tutte le previsioni degli altri algoritmi come input aggiuntivi. Se viene utilizzato un algoritmo combinatore arbitrario, l’impilamento può teoricamente rappresentare una qualsiasi delle tecniche di ensemble descritte in questo articolo, sebbene, in pratica, un modello di regressione logistica sia spesso usato come combinatore.

L’impilamento in genere produce prestazioni migliori di qualsiasi singolo modello addestrato. È stato utilizzato con successo sia su compiti di apprendimento supervisionato (regressione, classificazione e apprendimento a distanza )che su apprendimento non supervisionato (stima della densità). È stato anche usato per stimare il tasso di errore di insacco. È stato segnalato per superare la media del modello bayesiano.I due top-performer nel concorso Netflix utilizzato miscelazione, che può essere considerato come una forma di impilamento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *