Anteprima
Vedrai una selezione di 12 pagine su 53
Appunti completi di Machine Learning Pag. 1 Appunti completi di Machine Learning Pag. 2
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 6
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 11
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 16
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 21
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 26
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 31
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 36
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 41
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 46
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Appunti completi di Machine Learning Pag. 51
1 su 53
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ASE.

→metodo simile ad EPE visto all’inizio. In questo caso minimizzo ASE crossvalidato (per evitare

overfitting)

Post-pruning Cart in R = Regularization/shrinkage 31

Federico Clerici

Si inserisce un parametro di complessità che penalizza gli errori per gli alberi grandi. Viene

moltiplicato per il n° di split e sommato alla loss function. È usato per controllare la

dimensione del decision tree e selezionare la dimensione ottimale dell’albero, basandosi sulla

cross-validation.

Il parametro di complessità è chiamato alpha o cp (in R).

Regularization tree (caso regressione, target quantitativo)

Obiettivo: trovare un albero con |T| gruppi finali per cui il valore della loss function

crossvalidata sia il più piccolo possibile. +∝ ||

Per la classificazione la Loss Function per il pruning è:

Regola: si fa pruning dove xerror (cross validation error) è minimo o la somma di xerror+xstd

è minima (guardo slides per capire bene, difficile da spiegare a parole)

→dopo tale numero di split |T| il valore di xerror comincia ad aumentare, causando

overfitting. Se xerror>rel_error (errore nel training) allora abbiamo overfitting.

Per indicare a che split fermarsi passiamo a Caret il parametro di complessità CP

One std error rule (rpart default)

Ci consente di trovare il miglior parametro di complessità e quindi il numero di nodi a cui

prunare

1) Cerco il CP con xerror minimo

2) Aggiungo xstd a xerror ed ottengo c*

3) Cerchiamo nella tabella se c’è un valore di CP con associato un xerror<c*

4) Se c’è, esso sarà il miglior parametro di complessità, altrimenti rimaniamo al CP trovato

allo step 1)

→ rpart tuna con l’errore crossvalidato come metrica di default. Se passiamo il cp disegna solo

albero

Importanza delle variabili negli alberi

Per importanza delle variabili in un albero di classificazione/regressione si intende l’incidenza

di esse nella classificazione (non quante volte discriminano tra i vari nodi!!!).

Solo variabili che discriminano hanno importanza>0 devono entrare nell’albero

• ∑

() = Δ(, )

Variable importance: ∈

È la riduzione dell’indici di Gini che la variabile porta in tutti gli split

→se una variabile ha elevata capacità discriminatoria ed entra più volte nell’albero,

allora risulterà più importante

• () = ()/( )

Relative importance: max

→misura l’importanza di una variabile rispetto alla variabile più importante

Per decidere quali variabili tenere si decide un valore di cutoff, per cui teniamo in analisi le

variabili con importanza superiore ad esso.

Se abbiamo eventi rari, l’albero non riuscirà a dividere nulla, in quanto abbiamo già lo split

migliore (c’è già purezza elevata)

→bilancio il dataset, fitto l’albero e poi correggo le prior/posterior, ottenendo l’albero corretto

Preprocessing alberi decisionali

Non è richiesto, in quanto: 32

Federico Clerici

• Robusti ai dati mancanti (vengono inseriti nel nodo con maggiore numerosità)

• Non richiedono model selection (anzi, lo fanno e sono utili come input per altri

modelli)

Model selector e input surrogati

Gli alberi tendono a selezionare poche variabili, omettendone alcune che potrebbero essere

importanti allo stesso modo. Tali variabili sono dette variabili surrogate.

Possono essere considerate analoghe alle variabili collineari, che hanno lo stesso potere

esplicativo ma non vengono incluse, in quanto ce ne sono altre che lavorano al loro posto.

Nella selezione delle variabili conviene includere le variabili surrogate, in quanto potrebbero

essere predittori importanti per il target di altri modelli (soprattutto se usiamo gli alberi per

fare model selection per altri algoritmi).

Alberi come pre-processing per i modelli lineari

Spesso gli alberi decisionali (a partecipazione binaria) vengono utilizzati come step intermedio

in modelli lineari/logistici sfruttando la loro capacità di dicotomizzare le covariate per avere

una maggiore capacità esplicativa (analogo a trasformazione con optimal grouping)

→alberi trovano un cutoff per variabili continue e le dicotomizzano

Vantaggi segmentazione binaria

• Facile leggibilità della regola di classificazione (anche per i non statistici)

→ interpretabile

• Funge da model selection (seleziona le variabili maggiormente discriminanti, con

criteri di selezione non parametrici)

• Non sono sensibili alle differenze di scala degli input, e neppure alle distribuzioni

asimmetriche (no preprocessing richiesto)

• È robusto ai dati mancanti

• Fornisce un modo di dicotomizzare gli input continui (o aggrega in due classi quelli

categorici) per essere utilizzati in modelli parametrici successivi

→ analogo a trasformazione con optimal grouping

• →

Molto veloci nella fase di training e validation hanno memoria, i risultati dal training

vengono tenuti in memoria per il validation

Svantaggi segmentazione binaria

• Instabilità: un piccolo cambiamento nei dati può generare serie di split diversi, con

annessa variazione di decision boundaries e performance

→ i classificatori generati hanno una varianza molto elevata e quindi risultano instabili

• Possibilità di cadere in regole di classificazione semplicistiche

Risoluzione instabilità alberi: Perturb and Combine

Sono metodi messi a punto per sfruttare l’instabilità degli alberi e creare modelli più “potenti”.

Si basano su:

1. Modificare la distribuzione dei dati

2. Modificare il metodo di costruzione dei risultati

Di seguito citiamo alcuni metodi di perturbazione:

- Resample

- Subsample 33

Federico Clerici →

- Add noise più l’albero si allena con rumore e più si abitua a generalizzare su nuovi

dati

- Adaptively reweight

- Randomly choose from the competitor splits

Ensemble methods

Gli insiemi di alberi si sono dimostrati più adeguati a effettuare previsioni rispetto agli alberi

singoli. Inoltre, la loro variabilità risulta essere molto inferiore.

La classificazione finale di un insieme di alberi è fatta mediante la media delle classificazioni

dei singoli alberi uso il metodo del maggior pivot (% più elevata sarà la classificazione

finale).

Ci sono tre modalità per combinare i modelli:

1) Modelli combinati: si calcola la media delle stime basate sui valori previsti da un

numero M di modelli predittivi diversi fittati sullo stesso dataset di training.

Un’alternativa è il metodo Stacking modelli diversi e stesso dataset

2) Bagging and boosting models: si combinano i valori previsti con lo stesso modello

predittivo basato su dataset di training differenti selezionati dallo stesso dataset

(resampling, tipo Bootstrap) modello fisso e cambio dataset

3) Bagging and boosting model con alcune differenze (Random Forest)

1) Modelli combinati

L’idea è quella di fare la media delle previsioni dei diversi modelli sullo stesso dataset

→ ottengo un indice riassuntivo, pertanto la varianza diminuisce sicuramente, oltre ad

ottenere una migliore performance classificativa.

• Target continuo: uso media delle previsioni prodotte dagli M modelli

• Target categorico: uso maggiore pivot (valore del target più frequente in %)

Aspetto migliorabile: la media è un indice riassuntivo troppo semplificativo, sarebbe meglio

procedere in un modo diverso (tba)

Come migliora l’accuracy?

Se la varianza diminuisce significa che l’errore di previsione diminuirà, in quanto è difficile che

un elevato numero di modelli sbagli a prevedere (guarda slide 8 advanced trees)

Modellazione stratificata

È una tecnica di modellazione che consiste nel creare modelli separati in base a covariate che

hanno un forte potere predittivo, in modo da ottenere un albero ancora più puro.

Es. creo un modello per sex=male e per sex=female

o Pro: se la varianza spiegata è una componente importante della varianza del target (?)

o Contro: se non ci sono sufficienti osservazioni in alcuni strati il modello sarà meno

potente, con stime instabili e pessima generalizzazione

Stacking (metodo alternativo a modelli combinati)

Consiste nell’allenamento di diversi algoritmi sui dati disponibili, dopodiché le previsioni sono

combinate mediante un algoritmo “meta-classifier”, che viene tunato per effettuare la

34

Federico Clerici

previsione finale. Le previsioni p degli altri modelli sono quindi gli input del nuovo meta-

i

algoritmo. Viene utilizzata la regressione logistica come meta-algoritmo.

Steps:

1) I dati di training sono separati in A e B (50%-50%). Si fittano K modelli sui dati A

2) Si calcolano le previsioni su B (p ) con i K modelli fittati prima

iB

3) Si fitta il meta-modello usando le previsioni p come input e y come target sul dataset

iB

B

4) Previsioni con il meta-modello su dati di validation

→comparare metriche di validation calcolate agli step 2 e 3

5) Applicare il meta-classificatore sul dataset di score usando le posterior ottenute sui

dataset di score allo step 4 per trovare le previsioni finali di y sul dataset di score

Nello step 3 avviene lo stacking, in cui si combinano i diversi modelli tramite il meta-modello

Lo stacking performa tipicamente meglio rispetto ad un singolo modello.

Ottiene risultati migliori anche rispetto ai modelli combinati con utilizzo di maggiore pivot o

media semplice per diminuire la varianza, che talvolta può risultare troppo semplificativo

2) Bagging trees

Obiettivo: ridurre la varianza degli alberi (solitamente elevata)

È il metodo di default di Caret in R.

Steps:

1) Creazione M campioni Bootstrap dal dataset a disposizione

→i dati non inclusi nei campioni bootstrap vengono utilizzati come “naturale” dataset

di validation (Out Of Bag data)

2) Fittare un albero (massima larghezza possibile, unpruned) su ogni campione creato

3) Aggregare le previsioni degli alberi e classificare con il maggior pivot (nel caso di

variabili categoriche) o media delle previsioni (nel caso di target continuo)

Parametro di tuning: numero di campioni M da creare con Boostrap (solitamente ne bastano

500)

→notiamo che i bagged trees lavorano molto bene con elevato numero di sample Bootstrap

Durante il campionamento le decision rules per le singole iterazioni potrebbero sembrare

assurde, ma nel complesso si otterrà un ottimo risultato 35

Federico Clerici

→il risultato del bagging applicato ai decision tree sar&agr

Dettagli
Publisher
A.A. 2023-2024
53 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Fedede11 di informazioni apprese con la frequenza delle lezioni di Data mining e machine learning e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Lovaglio Pietro Giorgio.