Pattern Classification 2° Edizione
Macchine di Percezione
• Costruire una macchina in grado di riconoscere
pattern:
– Riconoscimento vocale
– Identificazione delle impronte digitali
– OCR (Optical Character Recognition)
– DNA identificazione delle sequenze
1
Cosimo.Distante@imm.cnr.it
Esempio
• “Ordinamento di specie di pesci mediante
un sistema di visione che acquisisce
immagini di oggeti che scorrono su un
nastro trasportatore”
Branzino
Specie
Salmone
2
Cosimo.Distante@imm.cnr.it
• Analisi del problema
– Configura una telecamera ed ottieni qualche immagine campione
per estrarre caratteristiche degli oggetti (features)
•Lunghezza
•Luminosità
•Larghezza
•Numero e forma delle pinne
•Posizione della bocca, ecc…
Questo è l’insieme di tutte le features suggerite per essere usate nel nostro
classificatore al fine di discriminare le due specie!
3
Cosimo.Distante@imm.cnr.it
• Preprocessing
– Utilizza l’operazione di segmentazione per isolare i singoli pesci
presenti nell’immagine e per isolarli dallo sfondo
• L’informazione del singolo pesce viene inviata ad un
estrattore di feature il cui proposito è quello di ridurre la
dimensione dei dati, misurando lunghezza, larghezza
luminosità ecc.
• Le features vengono inviate ad un classificatore
4
Cosimo.Distante@imm.cnr.it
“Salmone”
5
“Branzino”
Cosimo.Distante@imm.cnr.it
• Classificazione
– Seleziona la lunghezza del pesce come
possibile feature (caratteristica) per la
discriminazione.
6
Cosimo.Distante@imm.cnr.it
Branzino
Salmone
7
Cosimo.Distante@imm.cnr.it
La sola lunghezza è una debole feature!
Seleziona la luminosità come possibile
feature.
8
Cosimo.Distante@imm.cnr.it
Branzino
Salmone
9
Cosimo.Distante@imm.cnr.it
• Soglia decisionale e relazione costo
– Muovere il nostro intorno decisionale verso valori più
piccoli di luminosità in modo da minimizzare una
funzione costo (ridurre il numero di branzini che
vengono classificati come salmone!)
Task della teoria decisionale
10
Cosimo.Distante@imm.cnr.it
• Adotta la luminosità e aggiungi la larghezza del
pesce
xT = [x1, x2]
Pesce
Luminosità
11
Larghezza
Cosimo.Distante@imm.cnr.it
Salmone
Branzino
12
Cosimo.Distante@imm.cnr.it
• Possiamo aggiungere altre feature non correlate con
quelle che abbiamo selezionato. Una precauzione va
presa nel non ridurre le performance del sistema
aggiungendo “feature rumorose”
• Idealmente, il migliore intervallo di decisione
sarebbe quello che fornisce performance ottimali
come nella figura seguente:
13
Cosimo.Distante@imm.cnr.it
Branzino
Salmone
14
Cosimo.Distante@imm.cnr.it
• Tuttavia, la nostra soddisfazione è ancora
prematura poiché lo scopo principale nel
disegnare un classificatore è quello di
classificare correttamente pattern nuovi (mai
visti prima!)
Generalizzazione!
15
Cosimo.Distante@imm.cnr.it
Branzino
Salmone
16
Cosimo.Distante@imm.cnr.it
Sistema di Pattern Recognition
• Sensing
– Utilizzo di un trasduttore (telecamera, sensori di gas
microfono ecc.)
– I sistemi di PR dipendono dalla larghezza di banda,
dalla risoluzione, sensitività, distorsione ecc del
trasduttore
• Segmentazione e raggruppamento
– I Pattern dovrebbero essere ben separati e non
sovrapposti
17
Cosimo.Distante@imm.cnr.it
Sistema di Pattern Recognition
Decisione
Post-processing
Classificazione
Feature Extraction
Segmentazione
Sensing
Input
Assegna il vettore delle feature estratte e selezionate ad una
classe, dopo essere stato opportunamente addestrato.
L’Addestramento serve a trovare l’iperpiano di separazione
tra le classi di appartenenza delle features.
Attenua i problemi derivanti dal rumore dei sensori.
•Tecniche statistiche: Bayes, Linear discriminant analysis…
•Tecniche neurali: SOM, ART, Backprop., Radial Basis
Functions…
•Soft-Computing: Neuro-Fuzzy classifier....
Caratterizza un oggetto da riconoscere in modo tale da
avere misurazioni con valori simili per oggetti nella stessa
categoria. Invarianti da trasformazioni irrilevanti dell’input
(scala, rotazione ecc.).
•Wavelet Analysis
•Fourier Analysis
•Principal Component analysis
Separazione del dato di
interesse dal background
18
Cosimo.Distante@imm.cnr.it
Estrazione delle Features
Obbiettivo: estrarre componenti significative (o attributi), meno
ridondanti di quelle contenute nel segnale originario (es. colore, forme,
tessitura ecc.).
Scopo:
• Riduzione dello spazio dei segnali in modo da contenere sufficiente
informazione per discriminare le sotto-popolazioni in questione.
• Rimozione di informazione ridondante e rumorosa (features
fortemente correlate).
• Devono essere
significative all’uomo.
19
Cosimo.Distante@imm.cnr.it
SPAZIO DELLE CARATTERISTICHE
Nello spazio delle caratteristiche si possono accumulare diverse classi
(corrispondenti a tipologie diverse di oggetti) che potranno essere separate
mediante opportune funzioni discriminanti.
Dominio spaziale
Dominio delle caratteristiche
x2
4
1
1
3
2
1
x1
2 22
2
22 2 2
22
2
1
1
111 1
1
1
1
3
3 33
33
3
44 4 4
4 4 4
44 4
x1
x2
Tali funzioni discriminanti, rappresentano nello spazio delle caratteristiche a ndimensioni, le ipersuperfici di separazione dei cluster, che caratterizzano in modo
dominante il processo di classificazione.
20
Cosimo.Distante@imm.cnr.it
SPAZIO DELLE CARATTERISTICHE
Le ipersuperfici si possono semplificare con iperpiani ed in tal caso si parla di funzioni
discriminanti linearmente separabili.
L’abilità del processo di classificazione si basa sulla capacità di separare senza errori i
vari cluster, che in diverse applicazioni sono localizzati molto vicini tra loro, oppure
risultano sovrapposti generando una non corretta classificazione.
x2
x2
x1
x1
21
Cosimo.Distante@imm.cnr.it
Disegno di un Classificatore
•
•
•
•
•
•
Collezionare i dati
Scelta delle features
Scelta del modello
Addestramento (Training)
Valutazione
Complessità computazionale
22
Cosimo.Distante@imm.cnr.it
Start
Collezionare dati
Scelta delle features
Conoscenza a priori
(invarianze)
Scelta del modello
Addestramento
Del classificatore
Valutazione del
classificatore
Fine
23
Cosimo.Distante@imm.cnr.it
• Collezionare Dati
– Come facciamo a sapere quando abbiamo
collezionato un adeguato e rappresentativo
insieme di esempi di training e testing per il
nostro sistema?
24
Cosimo.Distante@imm.cnr.it
• Scelta delle feature
– Dipende dalle caratteristiche del dominio del
problema. Semplici da estrarre, invarianti a
trasformazioni irrilevanti e insensibili al
rumore.
25
Cosimo.Distante@imm.cnr.it
• Scelta del modello
– Se non siamo soddisfatti delle performance del
nostro classificatore di pesci possiamo scegliere
di saltare ad un’altra classe di modello.
26
Cosimo.Distante@imm.cnr.it
• Training
– Usare i dati per determinare il classificatore
più appropriato. Vi sono molte procedure
differenti per addrestrare classificatori e
scegliere diversi modelli
27
Cosimo.Distante@imm.cnr.it
• Valutazione
– Misura l’errore (o le performance) e si può
scegliere di passare da un insieme di feature ad
un altro.
28
Cosimo.Distante@imm.cnr.it
• Complessità computazionale
– Qual’é il trade-off tra facilità di calcolo e
performance?
– (Quanto un algoritmo è scalabile in base al
numero di features, pattern o categorie?)
29
Cosimo.Distante@imm.cnr.it
Apprendimento e Adattamento
• Supervised learning
– Un teacher fornisce l’etichetta della categoria o il costo
per ciascun pattern nell’insieme di training (training
set)
• Unsupervised learning
– Il sistema forma clusters o “raggruppamenti naturali”
dei pattern di input
30
Cosimo.Distante@imm.cnr.it