Efficient construction of regression trees with Range and Region Splitting Yasuhiko Morimoto, Hiromu Ishii, Shinichi Morishita (1997) Gruppo 11: Paola Belingheri Maria Giulia Casanova Alice Spadazzi Sistemi Informativi per le Decisioni L-S Prof. Marco Patella
Costruzione efficiente di alberi di regressione con splitting in intervallo e regione Obiettivo: Predire il valore di un attributo numerico tramite albero di regressione binario in maniera più efficiente rispetto allo split con soglia Indice 1.Introduzione al Range & Region Splitting 2.Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? 3.Il region-splitting permette di ottenere un albero di regressione più preciso? 4.Conclusioni 5.Applicazioni pratiche
1.Introduzione al Range & Region Splitting Costruzione dell’albero di regressione con un test di “Split ad ogni nodo rettangoli! Rischio di overfitting La ghigliottina non è efficiente 0,85 x 22 x height 2 < weight < 1,15 x 22 x height 2 relazione non-lineare fra gli attributi! Albero di regressione binario Esempio Il paziente deve fare la dieta?
Definizioni: Attributi condizionali: numerici, usati per predire Attributo obiettivo A: numerico, il valore da predire Scarto quadratico medio (MSE): tuple test set valore effettivo di A valore predetto = valore medio delle tuple presenti nella foglia in cui finisce t min Domande: 1. Possiamo calcolare in modo efficiente la regione che minimizza MSE? 2. Il region-splitting permette di ottenere un albero di regressione più preciso? Un modo più furbo 1.Introduzione al Range & Region Splitting
Vogliamo predire il valore dell’indice SP500 Attributi: 1.anno 2.mese 3.settimana 4.BPS: US$/Pound 5.GDM: US$/Mark 6.Yen: US$/yen 7.TB3M 8.TB30Y 9.Gold: US$/oncia 10.SP500 Tre tipologie di regioni ammissibili: Valori distribuiti “meglio”! Selezione di due attributi condizionali: Gold e GDM Divisione in N bucket equi-width (N Gold = N GDM) Pixel: intersecando gli N bucket ottengo N 2 pixel D out D in 1.Introduzione al Range & Region Splitting DwDw
Indice 1.Introduzione al Range & Region Splitting 2.Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? 3.Il region-splitting permette di ottenere un albero di regressione più preciso? 4.Conclusioni 5.Applicazioni pratiche
2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? Regioni ammissibili: tutte le combinazioni di N x N pixel N N Esempio: = regioni possibili Varianza Interclasse: min max max V(R) min MSE(R) Selezionare tra queste la regione che minimizza MSE(R): D in D out |D in | + |D out |
2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? Trasformazione STAMP POINT max 1.Poniamo = Poniamo x =, y =, M = 5. D in D out
2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? È una funzione CONVESSA per 0 ≤ x ≤ M calcolo x e y V(R) x y
2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? x y max V(R) in una regione convessa quindi il punto di max corrisponde ad un punto (x,y) che si trova sulla frontiera dell’inviluppo convesso: la regione minima che contiene tutti i punti nel piano θ Come trovare i punti dell’inviluppo? HAND PROBING N N punti da “tastare” Algoritmo Hand-Probing
Guidato da: presi due punti P 1 e P 2 sulla frontiera e Q intersezione delle tangenti all’inviluppo in P 1 e P 2 per ogni punto P interno al triangolo P 1 P 2 Q V(P) ≤ V(Q) se V(Q) ≤ V max corrente, allora pota tutto il triangolo altrimenti esplora il vertice più esterno del triangolo (P 3 ) 2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? Branch-and-bound : algoritmo che permette di individuare ricorsivamente la “direzione più furba” in cui spostarsi alla ricerca della soluzione ottima scarta a priori le soluzioni ammissibili ma non migliorative dell’ottimo corrente Branch-and-Bound Guidato
2 - Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? ─ V max := 0; ─ Per ogni intervallo I = {P i,P j } V max := max {V(P i ),V(P j ), V max } if V(Q) ≤ V max allora pota I else trova il vertice più esterno di I e aggiorna V max Complessità computazionale: O(N 4 log N): rettilineare O(N 3 log N): rettangolare O(N 3 log N): x-monotona V max aumenta mentre I si restringe ad ogni iterazione Algoritmo Branch-and-Bound
Indice 1.Introduzione al Range & Region Splitting 2.Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? 3.Il region-splitting permette di ottenere un albero di regressione più preciso? 4.Conclusioni 5.Applicazioni pratiche
Guadagno sufficiente Guadagno insufficiente 3 - Il region-splitting permette di ottenere un albero di regressione più preciso? Inizio Selezione della regione in cui suddividere le tuple della foglia corrente per ottenere il nuovo nodo di regression tree trovando la regione che massimizza V(R) mediante l’algoritmo “Guided Branch-and-Bound” Creazione di due sotto-alberi: uno con il dataset “interno alla regione e l’altro con il dataset “esterno” ad essa (Avvia due ricorsioni) Fine Calcolo del guadagno di splitting, fatto da MSE nodo padre - MSE nodi figli Alberi di regressione più larghi potrebbero ridurre MSE ma…rischio di overfitting! Fino a che punto espandere l’albero?
3 - Il region-splitting permette di ottenere un albero di regressione più preciso? parametro di pruning generiamo una serie di alberi per diversi valori di α e troviamo il migliore MSE relativo α pruning α = 0,0002 buon valore! MSE nodo padre - MSE nodi figli ≥ α x
3 - Il region-splitting permette di ottenere un albero di regressione più preciso? Anche la pixel-density (n° medio di tuple per pixel) influenza MSE… MSE relativo α pruning …una pixel-density fra 5 e 10 genera minimizza MSE In sintesi : un buon α e una buona pixel-density generano alberi di regressione più precisi e compressi le regioni rettilineari generano gli alberi più precisi
Indice 1.Introduzione al Range & Region Splitting 2.Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? 3.Il region-splitting permette di ottenere un albero di regressione più preciso? 4.Conclusioni 5.Applicazioni pratiche
4 - Conclusioni 1.Possiamo trovare relazioni non-lineari fra gli attributi 2.Possiamo ridurre MSE in media del 10% (in alcuni casi fino al 34%) ma… 3.L’algoritmo è sensibile al numero di attributi (pressoché lineare nel quadrato del numero di attributi) N.B. Costruendo l’albero su un training set “scelto bene” posso rendere ragionevole il costo computazionale
Indice 1.Introduzione al Range & Region Splitting 2.Possiamo calcolare la regione R ottimale ad ogni split in modo efficiente? 3.Il region-splitting permette di ottenere un albero di regressione più preciso? 4.Conclusioni 5.Applicazioni pratiche
5 – Applicazioni pratiche: L’età dell’abalone Abalone: mollusco che vive nei mari della Tasmania e della costa nord dell’Islanda Studio dell’età: affettare la conchiglia del mollusco, colorarla e esaminare al microscopio il numero di anelli presenti lungo e noioso Usiamo il range-region splitting su altri attributi: Fonte:
5 – Applicazioni pratiche: I bracci meccanici del Robot Puma Predire l’accelerazione angolare del braccio meccanico del Robot Puma