Metodi ed Applicazioni del Pattern Recognition Alessandra Scotto di Freca, Ph.D. (eng.) R.U. T.D. @ [email protected] Problema di Classificazione p(c|x) p ( c | x )= p ( x | c ) p(c) / p(x) dove c = { , } Pattern Recognition System Ad esempio scansione di un immagine contenente mele e pere. Ad esempio da RGB -> (0,1) Individuazione delle zone di interesse Individuazione di x (width, Selezione Scelta della regola di classificazione che descrive la p(C|x) weight, luminance, ... ) Combinazione Valutazione delle prestazioni Studio 1: regola di classificazione (Statistical Pattern Recognition) Pattern: x = (x1, …, xF) Classificatori: Approccio probabilistico: stima delle distribuzioni dei campioni (parametriche e non parametriche) Approccio geometrico: costruzione delle regioni di decisione ottenute minimizzando opportune funzioni di errore Concetto di similitudine (prototype based classifiers) un pattern è associato alla classe il cui prototipo è più vicino (definizione di una metrica) Tecniche che in fase di addestramento consistono nel raggruppamento di oggetti con caratteristiche comuni e nell’estrazione da essi di un prototipo che in fase di classificazione li rappresenti, nel piano delle caratteristiche questo problema di ricerca si trasforma nella minimizzazione della distanza del prototipo dagli oggetti da rappresentare Studio 1: regola di classificazione Reti Neurali Reti neurali di Kohonen permettono l’uso di algoritmi di Learning Competitivo e soffrono dei problemi di: Sottoutilizzo dei nodi Fenomeno dell’overtraining Soluzione proposta in letteratura: metodi basati sulla “coscienza” FSCL i nodi vengono distribuiti in modo uniforme sulla base delle frequenze Cluster poco popolati hanno poca forza nell’ attrarre a se neuroni Dynamic Learning Vector Quantization ( DLVQ ) Assegnazione di neuroni dinamica senza nessuna conoscenza a priori ne sulla distribuzione statistica dei dati ne sul numero di cluster del features space Reti di Kohonen LVQ 3 Wn e Wc sono i neurone più vicini al sample x, Wc è della stessa classe di x. Alpha è il parametro di attrazione che i sample hanno sul neurone della propria classe Gamma è di repulsione per neuroni di classi diverse Beta è di attrazione per neuroni più vicini a sample di altre classi. Studio 2: regola di combinazione Perché combinare? Se consideriamo un insieme di L classificatori e ipotizziamo che essi commettano errori indipendenti. Usando la regola del majority vote per combinarli, la probabilità d’errore del combinatore è quella che più L/2 classificatori sbaglino: L i L −i p ( 1 − p ) ∑ i = ( L +1) / 2 i L Se L = 11 e p = 0,25 la probabilità che sbaglino contemporaneamente più di 6 classificatori è minore uguale di 0,034 Combinare classificatori addestrati con diverse regole o diversi features set migliora le prestazioni finali purché i classificatori commettano errori diversi. Hp indipendenza dei risultati di classificazione Studio 2: regola di combinazione Architettura di un possibile sistema di combinazione E1 E2 Ek e1 ∈ {C1,…,CN } e2 ∈ {C1,…,CN } Combining Rule ^u arg max p (u | e1 ,..., ek ) u∈C ek ∈ {C1,…,CN } Scelta della regola di combinazione: • È sempre possibile ipotizzare che i classificatori commettano errori indipendenti? • Utilizzo di informazioni aggiuntive quali l’affidabilità del singolo? Studio 2: regola di combinazione Bayesian Network Riformulazione del problema di combining in un problema di Pattern Recognition dalle uscite dei classificatori e1, …, ek calcolo la p(u, e1, …, ek ) Proprietà delle reti Bayesiane • Strumento per il calcolo della probabilità congiunta; • ha un addestramento parametrico e strutturale; • la struttura appresa ha la forma di D.A.G (grafo diretto aciclico), i cui archi rappresentano le relazioni di dipendenza condizionale tra le variabili, nodi del grafo. • Dall’apprendimento dai dati permette una fattorizzazione della probabilità n congiunta P ( x1 ,...., x n ) = dal momento che ∏ P(x i =1 i | pa i ) P ( xi | pai , Nd (xi) ) = P ( xi | pai ) Studio 2: Bayesian Network E2 Esempio di D.A.G. prodotto dall’algoritmo di apprendimento E3 E5 E1 U E4 arg max p(u | e1 ,..., e5 ) = arg max u∈C u∈C p (u, e1 ,..., e5 ) = arg max p(u, e1 ,..., e5 ) p (e1 ,..., e5 ) u∈C p (u , e1 ,..., e5 ) = p (e3 | u ) p (u | e4 , e5 ) p (e5 | e2 , e1 ) p (e2 ) p (e1 ) p (e4 ) eu è il set di esperti direttamente legati al nodo u: P (u , e u ) = p (e3 | u ) p (u | e4 , e5 ) Q(e1 ,..., e5 ) = p (e5 | e2 , e1 ) p (e2 ) p (e1 ) p (e4 ) p(u, e1 ,..., e5 ) = P(u, e u ) Q ( e1 ,..., e5 ) Studio 2: regola di combinazione Bayesian Combiner e1 e2 M A P BN ek La BN apprende la La Combining Rule: u* R U L E p (u, e1 ,..., ek ) arg max p (u | e1 ,..., ek ) = arg max P (u , e u ) u∈C u∈C Studio 3: Bayesian Network apprendimento strutturale E2 E3 Dipendenza statistica E5 Y E1 U X P(X,Y)==P(X|Y)P(Y) P(Y|X)P(X) P(Y)P(X) P(X,Y) E4 Introduzione di un Algoritmo genetico per l’apprendimento: In letteratura un individuo intrinsecamente DAG 1 … moreover The data structure allows an easy implementation of the genetic operators: crossover operator swaps parts of two MLs generating new solutions by combining parts of previously generated ones mutation operator can modify a single graph in two different ways: swapping two elements of the main list m-mutation adding and/or deleting one or more arcs s-mutation … moreover crossover operator swaps parts of two MLs generating new solutions by combining parts of previously generated ones July 28th 2009 14 … moreover mutation operator can modify a single graph in two different ways: m-mutation swapping two elements of the main list July 28th 2009 s-mutation adding and/or deleting one or more arcs 15 Bayesian Networks Applicazioni 1. Studio della probabilità congiunta 2. Studio delle dipendenze statistiche tra v.a. X3 X4 X2 P(X5 | X1, X2 ,X3 , X4 ) X5 ?? X1 Studio 4: Feature selection Applicazione al Telerilevamento Land cover maps from satellite hyperspectral images LANDSAT 7 GA s nd a b 0 20 00 … .. 1 11 0 CLASSIFIER 00 0 1 0 00 0 10 0 OPTIMAL FEATURE SUBSET Applicazione1: Paleografia La paleografia è la disciplina che studia la storia della scrittura specialmente quella manoscritta. Un argomento di ricerca in tale campo è l’individuazione delle mani che hanno compartecipato alla realizzazione di un testo. Application 1: Handwriting Online: sequenza di punti Offline: scansione da un documento Pre-elaborazioni sulla sequenza di punti o sulle immagini Individuazione delle zone di interesse Individuazione dei descrittori Scelta della regola classificazione Interpretazione dell’inchiostro: Segmentazione immagine R. corsivo R. caratteri isolati Interpretazione parola Parola da riconoscere Preprocessing Sbrogliatura Segmentazione Ink Matcher Classificatore Reference set di parole Architettura del sistema di classificazione Descrizione Handwriting recognition The goal is to recognize handwritten words. An important preliminary step is to recognize the so called “strokes”: ... an elementary movement during word generation. Handwriting recognition String Matching Algorithm • Selects the matching inks (invariants) • “Global” similarity measure If we would recognize Having a reference set composed by Handwriting recognition Ink Interpretation: Results for the word BEAR with a reference set of 22 words Start End wed w11 w21 w31 w32 w41 w51 w52 . . whk . Inconsistente. estensibile 0 0 2 3 5 5 5 6 6 6 7 7 7 7 7 8 8 8 8 12 4 7 11 6 11 12 15 13 14 15 11 13 15 15 15 11 12 12 15 15 86 85 75 89 80 77 76 77 87 78 88 79 86 80 75 85 88 77 75 83 str1 str2 str3 str4 str5 str6 str7 str8 str9 str10 str11 str12 str13 str14 str15 str16 b b b b b b m b b m b b/y b b/e b/e m m m/a b b/e b/e m m/a o o h/o h/o c/o a a e m/a a m/a o o o a a w/a a e/a v a a o/n o/w o a a/r w/a a a v a a a o/n h/e a a/k a/k a o/n o/w o/m a/r a/r a a a v a a a o/n h/e a/l n w o/m a/r r a a/s a/r v/e a/n a/l a n e/r a/l n w m r r a/s a/s a/r v/e a/n a/l a n e/r o/r n w m r r w/e w/e e/v m r r r/o r/o o s r e/r n s r e/r n r/s r n r/s r n a n r r r r r/e r r/e Handwriting recognition Ink interpretation: Last results on Unipen(online) RR =76,92% Collaborazioni Prof. Claudio De Stefano Francesco Fontanella Ciro D’Elia Cristina Marrocco Prof. Angelo Marcelli (@ unisa) Prof. Marilena Maniaci (@ unicas – Dipartimento di Filosofia e Storia) Recogniform Techonolgies Elsag Datamat D’appolonia