Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.

Slides:



Advertisements
Presentazioni simili
Le distribuzioni di probabilità continue
Advertisements

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Sistemi di Classificazione usando NCD
Primo sguardo a metodi multivariati per l'analisi del ttH
Riconoscimento di forme
Programmazione dinamica
Alberi binari di ricerca
Heap binomiali.
Cammini minimi con sorgente singola
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Valutazione delle Prestazioni di un Classificatore
Apprendimento Non Supervisionato
Apprendimento Automatico: Apprendimento Pigro (Lazy Learning)
Valutazione delle ipotesi
Apprendimento Automatico: Valutazione delle Prestazioni
Computational Learning Theory and PAC learning
Metodi di Ensemble Metaclassificatori.
Apprendimento Bayesiano
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Algoritmi e strutture Dati - Lezione 7
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Algoritmi e Strutture Dati (Mod. A)
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Trovare il percorso minimo da b ad ogni altro vertice
TECNOLOGIE DEI SISTEMI DI CONTROLLO
“Riconoscimento di Facce”
Apprendimento di movimenti della testa tramite Hidden Markov Model
APPUNTI SUL LINGUAGGIO C
Algoritmi e Strutture Dati
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Chapter 14, Hastie , Tibshirani and Friedman
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali Lezione.
Bayesian Learning Martedì, 16 Novembre 2004 Giuseppe Manco Readings: Sections , Mitchell Chapter 2, Bishop Chapter 4, Hand-Mannila-Smith Bayesian.
Strutture di controllo in C -- Flow Chart --
OPERAZIONI CON STRINGHE Le operazioni più interessanti da fare, per ora, con le stringhe sono: determinare la lunghezza della stringa, cioè quanti caratteri.
Intelligenza Artificiale
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Calcolo Parallelo e Distribuito
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Towards Robust Indexing for Ranked Queries aa 09/10 Candeloro D. Orlando M. Pedone A. Gruppo 5.
ROCK A Robust Clustering Algorithm for Categorical Attributes Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Sistemi Informativi per le Decisioni a.a. 2005/2006.
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Soluzione 6: Algoritmo Quicksort
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 07/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi e strutture Dati - Lezione 7 1 Algoritmi di ordinamento ottimali L’algoritmo Merge-Sort ha complessità O(n log(n))  Algoritmo di ordinamento.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Algoritmi e Strutture Dati Luciano Gualà
Stima della qualità dei classificatori per l’ analisi dei dati biomolecolari Giorgio Valentini
Transcript della presentazione:

Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8

Metaclassificazione Combinare classificatori (metodi ensemble) Problema –Dato Training set D di dati in X Un insieme di algoritmi di learning Una trasformazione s: X  X’ (sampling, transformazione, partizionamento) –Restituire Un nuovo algoritmo per x  X che combina gli outputs degli algoritmi ottenuti Proprietà –Limitare l’errore Due approcci –Apprendimento e applicazione di ogni classificatore; apprendiamo la funzione che combina dai risultati –Apprendimento dei classificatori e del combinatore concorrentemente

Metaclassificazione Classificatori deboli –Non c’è garanzia che facciano meglio di una scelta random (1 / numero di classi) Più generalmente, con errore alto –Obiettivo: combinando più classificatori deboli, vogliamo ottenere un’altro che sia accurato almeno quanto il migliore dei deboli

Metaclassificazione Idea generale Original Training data.... D 1 D 2 D t-1 D t D Step 1: Data sets multipli C 1 C 2 C t -1 C t Step 2: Classificatori multipli C * Step 3: combinazione

Metaclassificazione Perché funziona? Supponiamo di avere 25 classificatori –Ognuno con un tasso di errore  = 0.35 –Si assuma l’indipendenza tra I classificatori –Probabilità di errore:

Metaclassificazione Combinazione basata sul peso –Voti pesati: ogni classificatore h i è una funzione da x  X a h i (x) –NB: non sempre è necessario che il classificatore sia in H Idea –Collezionamo i voti da un insieme di classificatori –Associamo un peso ad ogni algoritmo Il peso degli algoritmi con errore alto sul training set (test set) hanno peso minore Il combinatore predice l’etichetta (il concetto) con la maggioranza pesata Obiettivo –Migliorare l’accuratezza sul training set Combinare classificatori deboli Limitare il numero di errori in termini del minimo fatto da ciascun classificatore Maggioranza pesata

Metaclassificazione Procedura Algorithm Combiner-Weighted-Majority (D, L) –n  L.size// numero di classificatori –m  D.size// numero di istanze –FOR i  1 TO n DO P[i]  L[i].Train-Classifier (D)// P[i]: i-esimo classificatore w i  1// peso iniziale –FOR j  1 TO m DO// calcolo dell’etichetta q 0  0, q 1  0 FOR i  1 TO n DO IF P[i](D[j]) = 0 THEN q 0  q 0 + w i // voto per 0 (-) IF P[i](D[j]) = 1 THEN q 1  q 1 + w i // voto per 1 (+) Prediction[i][j]  (q 0 > q 1 ) ? 0 : ((q 0 = q 1 ) ? Random (0, 1): 1) IF Prediction[i][j]  D[j].target THEN// c(x)  D[j].target w i   w i //  < 1 (penalizzazione) –RETURN Make-Predictor (w, P)

Metaclassificazione Proprietà Vantaggi –Limitazione dell’errore D training set, L insieme di classificatori k numero minimo di errori su D da parte di qualche L[i], 1  i  n Proprietà: gli errori sono al più 2.4 (k + log n)

Metaclassificazione Bagging Bootstrap Aggregating –Campionamento mirato Dato: D contenente m istanze Creiamo S[i] pescando a caso (con rimpiazzamento) m istanze da D S[i] di dimensione m: il rimpiazzamento può far replicare le scelte –Tipicamente, si lascia fuori lo 0.37 di D –Bagging Creiamo k bootstrap training sets S[1], S[2], …, S[k] Costruiamo un classificatore distinto su ogni S[i] (k classificatori in totale) Classifichiamo la nuova istanza con il voto (non pesato) Idea –“two is better than one” –Lo stesso dataset crea più classificatori NB: stesso algoritmo (istanziazioni diverse) o algoritmi differenti

Metaclassificazione Procedura Algorithm Combiner-Bootstrap-Aggregation (D, L, k) –FOR i  1 TO k DO S[i]  Sample-With-Replacement (D, m) Train-Set[i]  S[i] P[i]  L[i].Train-Classifier (Train-Set[i]) –RETURN (Make-Predictor (P, k)) Function Make-Predictor (P, k) –RETURN (fn x  Predict (P, k, x)) Function Predict (P, k, x) –FOR i  1 TO k DO Vote[i]  P[i](x) –RETURN (argmax (Vote[i])) Function Sample-With-Replacement (D, m) –RETURN (m istanze campionate utilizzando la distribuzione uniforme da D)

Metaclassificazione Proprietà Quando migliora l’accuratezza? –Classificatori instabili Piccoli cambiamenti nel training set causano modifiche sostanziali nel risultato decision trees, neural networks; –Non vale per k-nearest neighbor –Sperimentalmente Significativo con classificatori instabili Degrada le performances nei classificatori stabili

Metaclassificazione Stacking Idea –Costruiamo più classificatori Ognuno ottenuto con un sottoinsieme di D –Costruiamo il combinatore sul validation set Stacked Generalization Combina Classif.Classif y x 11 x 12 y Predictions Combina Classif. x 21 x 22 yy Predictions Combina y yy Predizioni

Metaclassificazione Procedura Algorithm Combiner-Stacked-Gen (D, L, k, n, m’, Levels) –Partiziona D in k segmenti, S[1], S[2], …, S[k] –FOR i  1 TO k DO Validation-Set  S[i] // m/k istanze FOR j  1 TO n DO Train-Set[j]  Sample-With-Replacement (D ~ S[i], m’) // m - m/k istanze IF Levels > 1 THEN P[j]  Combiner-Stacked-Gen (Train-Set[j], L, k, n, m’, Levels - 1) ELSE P[j]  L[j].Train-Classifier (Train-Set[j]) Combiner  L[0].Train-Classifier (Validation-Set.targets, Apply-Each (P, Validation-Set.inputs)) –Predictor  Make-Predictor (Combiner, P) –RETURN Predictor

Metaclassificazione Proprietà Simile alla cross-validation –k-fold: il validation set è ruotato –Tipicamente, migliora la capacità di generalizzare Rimedio contro l’overfitting

Metaclassificazione Idea –Apprende un insieme di classificatori da D, Ri-pesa le istanze per enfatizzare la misclassificazione Classificatore finale  combinazione pesata di classificatori Differente dagli altri metodi –WM: tutti i classificatori allenati sullo stesso D –Bagging, stacking: partizionamento su training/validation, campioni indipendenti S[i] di D –Boosting: dati campionati con distribuzioni differenti Boosting

Metaclassificazione Esempio: AdaBoost Classificatori di base: C 1, C 2, …, C T Errore: Importanza di un classificatore:

Metaclassificazione Esempio: AdaBoost Aggiornamento dei pesi: Classificazione:

Metaclassificazione AdaBoost: Procedure Algorithm Combiner-AdaBoost (D, L, k) –m  D.size –FOR i  1 TO m DO// inizializzazione Distribution[i]  1 / m// campionamento –FOR j  1 TO k DO P[j]  L[j].Train-Classifier(Distribution, D) Error[j]  Count-Errors(P[j], Sample-According-To (Distribution, D))  [j]  Error[j] / (1 - Error[j]) FOR i  1 TO m DO// aggiorniamo D Distribution[i]  Distribution[i] * ((P[j](D[i]) = D[i].target) ?  [j] : 1) Distribution.Renormalize () –RETURN (Make-Predictor (P, D,  )) Function Make-Predictor (P, D,  ) –// Combiner(x) = argmax v  V  j:P[j](x) = v log (1/  [j]) –RETURN (fn x  Combiner(x))

Metaclassificazione Esempio [1]

Metaclassificazione Esempio [2] E 1 = 0.3  1 =0.42

Metaclassificazione Esempio [3]

Metaclassificazione Esempio [4] E 2 = 0.21  2 =0.27

Metaclassificazione Esempio [5]

Metaclassificazione Esempio [6] E 3 = 0.14  3 =0.16

Metaclassificazione Esempio [7] =

Metaclassificazione Proprietà In generale –Sperimentalmente molto efficace –Molte varianti dell’algoritmo precedente Area di ricerca attiva