Blocco Appunti 2011-12 n.1 - Dipartimento di Matematica e Informatica

Transcript

Blocco Appunti 2011-12 n.1 - Dipartimento di Matematica e Informatica
Pattern Recognition
Appunti per le lezioni
(2011-2012)
INTRODUZIONE
Queste note sono una traccia di lavoro “in corso d'opera”.
Segnalare gli inevitabili errori a [email protected]
Queste note possono essere copiate, fotocopiate, stampate, integrate, revisionate, triturate, bruciate e
gettate via a vostro piacere.
Se ci fate soldi ricordatevi di donare qualcosa a chi ne ha bisogno.
LIBRI DI TESTO:
Sezioni dai libri:
PATTERN CLASSIFICATION . Duda, Hart, Stork, Wiley Interscience.
STATISTICAL PATTERN RECOGNITION. 2002, A.Webb, Wiley and Sons.
SOFTWARE
Si da per scontata la conoscenza di Matlab e ove possibile si riporta codice in tale linguaggio.
Blocco Appunti n.1 - Che cosa intendiamo per “Pattern Recognition”
“Pattern” è una parola inglese derivata dal latino “Pater”.
Essa viene utilizzata per descrivere la umana attività del riconoscere “la causa generatrice” delle
osservazioni disponibili. Scientificamente è una disciplina nata negli anni 60 e consolidatasi in un
nucleo di consocenze e metodi matematici e informatici nei successivi trenta anni. Essa è tutt'ora in
evoluzione e piena di interessanti problemi aperti.
Tutti nella vita quotidiana facciamo “pattern recognition” quando data una occhiata dalla finestra
decidiamo di uscire con il cappotto o con l’ombrello, quando rispondiamo con un sorriso a chi ci
sorride e con un grugno a chi ci presenta un aspetto ostile.
“Pattern Recognition Automatico” è il tentativo di replicare al computer la capacità umana di
“indurre” conclusioni a partire dalla analisi dei dati.
Poiché la capacità di “indurre” concetti astratti e generalizzazioni a partire da semplici osservazioni
è probabilmente uno dei tratti distintivi della specie “homo sapiens”, tale disciplina è stata
considerata al suo sorgere (spesso esageratamente) una sorta di frontiera della intelligenza
artificiale. Oggi i suoi limiti e scopi sono ben definiti e molto del fascino “pioneristico” che l'ha
fatta nascere si è sedimentato.
L’approccio scientifico moderno allo studio e alla simulazione delle capacità umane di “Pattern
Recognition” si distingue per le seguenti caratteristiche:
a) utilizza linguaggi matematici adatti a gestire ragionamenti incerti che tengano in
considerazione rumore e osservazioni non precise. Tali linguaggi sono quelli della “teoria
della probabilità” e della “statistica matematica”.
b) formulazione delle inferenze in maniera automatica mediante la analisi di grandi quantità
di dati. Fino alla metà del novecento i ricercatori potevano permettersi di lavorare su data set
composti da qualche centinaio al massimo di terne o quadruple. Il computer moderno ha
incrementato di milioni di volte questa capacità di calcolo.
L’attività centrale del Pattern Recognition oggi è dunque elaborare algoritmi efficienti
implementabili sulle architetture di calcolo contemporanee per la formulazione di ipotesi plausibili
e verificabili sui dati stessi.
Un punto di vista molto comune per avvicinarsi alle problematiche del Pattern Recognition è il
"problema della classificazione” delle osservazioni e che sarà il filo rosso da seguire per tutto
questo corso.
Un esempio quotidiano di classificazione
Per facilitare la riflessione illustreremo di seguito un esempio "giocattolo": la discriminazione tra
esseri umani di sesso maschile e di sesso femminile. Consideriamo questo problema in un contesto
in cui esso è banale: una fantasiosa società nudista. In tale contesto il problema è risolubile con la
diretta osservazione delle “caratteristiche sessuali primarie” (cioè presenza di specifici organi).
In inglese la parola “caratteristica” si traduce con il termine “feature” che per la sua valenza tecnica
adottiamo in tutto il resto di questa dispensa.
Una feature è un aspetto direttamente osservabile relativo ad un fenomeno per il quale si può
registrare una precisa misura quantitativa (un valore numerico intero o double) o categoriale
(vero/falso, dolce/salato, festivo/feriale, rosso/verde/giallo eccetera).
Le feature che i cittadini della società nudista terrebbero in considerazione sarebbero:
presenza/assenza di seni sviluppati, presenza/assenza degli organi genitali maschili/femminili,
presenza/assenza di peluria. Tale ovvio insieme di dati osservabili potrebbe integrarsi con misure di
altezza, peso, proporzioni tra le varie parti del corpo eccetera.
Si osservi che, presumibilmente, i nostri amici nudisti si limiterebbero ad utilizzare la osservazione
delle caratteristiche più ovvie ed immediate per risolvere il probelma di clasificare i propri simili in
“maschi/femmine”.
A partire dalla osservazione di varie feature il classificatore giunge alla decisione di “etichettare”
(in inglese: “label”) il dato sotto osservazione in una categoria più astratta e generale.
Nel nostro esempio della comunità nudista le etichette (o classi o popolazioni o gruppi) sono il
“genere maschile” e il “genere femminile”.
La “classe” di un oggetto è quindi un concetto astratto e generale che "spiega" le osservazioni.
In un certo senso l'assegnazione ad una classe costituisce la “sintesi” delle osservazioni.
Un nostro amico nudista se incontra un suo simile non deve registrarlo con una lunga descrizione
quale ad esempio: "portatore di seni, privo di pene, non peloso" ma semplicemente come
"femmina".
Complichiamo il problema e consideriamo il caso realistico della attuale società occidentale. Noi
siamo quasi sempre in grado di decidere il genere (“classe”) di un passante (“dato osservato”) senza
necessariamente chiedergli di denudarsi di fronte a noi. Le feature a nostra disposizione sono:
altezza, massa apparente, capelli, abiti, peluria, stile nel movimento, timbro vocale eccetera. In base
all'osservazione di ciò che è manifesto e palese siamo in grado (anche in questo caso in maniera
praticamente inconscia) di riconoscere il “genere”, cioè la etichetta con cui etichettare l’altro
individuo.
Questi esempi fanno intenzionalmente sorridere e sembrano un po' paradossali, ma rimaniamo con
essi ancora un po': ricordate le polemiche che ancora oggi i nostri anziani fanno quando vedono
passare un uomo con i capelli molto lunghi e una donna con la testa rasata?
Questi esempi (si chiamano tecnicamente “outliers statistici”) mettono in crisi l’algoritmo con cui il
nonno discrimina il genere…
Concludendo, tracciamo la “morale” che l’esempio ci insegna: fare Pattern Recognition significa
dedurre per un dato osservato direttamente mediante la analisi delle sue caratteristiche misurate
(feature) l’insieme generale cui esso appartiene (la classe o label).
Tale attività può essere immediata e semplice (e quindi poco prona ad errori) come nel caso dei
nudisti, o complessa e articolata (e quindi anche imprecisa in alcuni casi limite) come nel caso della
nostra vita quotidiana.
Un esempio concreto.
Dopo il fantasioso esempio della colonia nudista, passiamo ad un caso più concreto.
In un ospedale ortopedico sono state condotti studi sulla postura della schiena di 310 pazienti.
In particolare sono state effettuate per ciascun paziente sei misure.
Esse sono: incidenza pelvica, tilt pelvico, angolo di lordosi lombare, inclinazione sacrale, raggio
pelvico e grado di spondilolistesi.
Il significato di questi parametri numerici non è ovviamente di specifico interesse per questo corso,
si tratta comunque di misure numeriche di angoli dedotte da radiografie della zona lombo-sacrale
dei pazienti. Di tutta la popolazione dei pazienti, 210 di essi sono stati classificati dai medici come
“anormali” e 100 come “normali”. In percentuale si tratta di 67% di record anormali e 33% di
record normali.
Questa informazione ha un corrispettivo visuale per esempio in un diagramma a torta come segue:
Dal punto di vista dell'informatico i dati relativi a questo esempio sono memorizzati in una struttura
ovvia di tabella composta da 310 righe e sette colonne (sei colonne per i dati provenienti dalle
misure e una ultima colonna per la diagnosi).
Una possibile applicazione del Pattern Recognition è decidere (o almeno dare un suggerimento al
medico umano) dato un paziente e le misure anatomiche indicate se esso è con maggiore probabilità
“normale” o “anormale”.
Prima di “provare” ad usare una tecnica algoritmica di classificazione è però buona norma
“esplorare” i dati sia dal semplice punto di vista descrittivo che, ove possibile, visuale.
Leggere direttamente la tabella non è particolarmente rivelatore di “regolarità” in essi. Occorre una
qualche forma di “sommario”.
La Statistica suggerisce varie misure “descrittive” di una popolazione.
Esse includono, al minimo, la media e la radice quadrata della varianza dei dati secondo le usuali
definizioni.
E' facile compilare la seguente tabellina (valori approssimati all'intero minore):
Media f1 Sigma f1 Media f2 Sigma f2 Media f3 Sigma f3 Media f4 Sigma f4 Media f5 Sigma f5 Media f6 Sigma f6
Tutti
602
313
570
320
611
355
600
311
663
310
499
369
Anormali
605
313
568
321
599
351
594
321
672
314
514
373
Normali
596
315
574
319
634
363
613
290
644
304
466
361
Tale tabella ci dice che nelle situazioni normali e anormali alcune misure “tendono” a essere al di
sopra della media totale e altre al di sotto.
La differenza tra le medie nei due casi è significativa o dovuta ad errori e a casualità nell'insieme
dei pazienti osservati? La statistica ha una serie di strumenti matematici per rispondere a questa
domanda.
E se le differenze per ciascuna caratteristica misurata sono prese ad una ad una poco espressive, c'è
un modo per considerarle assieme e potere “apprendere” dalle misure il “concetto” di paziente
normale/anormale?
Rispondere sì oppure no a questa ultima domanda per i vari dati sperimentali che si osservano è lo
scopo principale del Pattern Recognition.
Oltre alle misure in tabella è possibile per ciascuno dei tre gruppi di dati considerati andare a
tracciare i “box-plot” dei dati. Essi riportano in maniere comparativa e visuale per ciascuna
caratteristica misurata e per ciascuna popolazione le seguenti misure:
•
minimo valore osservato;
•
•
•
•
primo quartile, cioè il valore al di sotto del quale si ha il 25% delle osservazioni;
mediana, cioè il valore al di sotto del quale si ha il 50% delle osservazioni;
terzo quartile, cioè il valore al di sotto del quale si ha il 75% delle osservazioni;
valore massimo.
Nel caso in esame ecco i boxplot che si ottengono:
Nei box-plot la X rossa indica il valore medio. Quando esso coincide con la mediana i dati sono
approssimativamente simmetricamente distribuiti, altrimenti si dice che essi sono asimmetricamente
deviati. Il box-plot e le sue numerosi varianti presenti nella letteratura scientifica sono dei buoni
“sommari visuali” quando i dati si “addensano” intorno ad un valore centrale. Una informazione più
precisa si ottiene considerando gli istogrammi dei dati. Di seguito gli istogrammi delle sei
caratteristiche per ciascuna delle tre popolazioni dei nostri dati. I valori sono stati inseriti in 10
intervalli (in inglese bin) equi-spaziati per agevolare il confronto.
I grafici annunciano cattive notizie per un classificatore automatico: le caratteristiche non sembrano
differire di molto nella loro distribuzione individuale tra i gruppi normali-anormali!
Le sei misure sui pazienti ortopedici sono orientate all'osservazione di caratteristiche fisicamente
diverse. E' però lecito chiedersi se esse sono indipendenti. Cioè un valore particolarmente deviato
dalla media per una caratteristica si verifica frequentemente assieme a forti deviazioni dalla media
delle altre caratteristiche? Questo sarebbe per esempio il caso delle caratteristiche altezza-peso di un
individuo. Sebbene esse non siano una funzione dell'altro un individuo alto tende a pesare più di
uno basso.
Esistono rigorosi metodi matematici per misurare la correlazione tra variabili ma un modo
preliminare e intuitivo per farsi una diea preliminare è di nuovo un grafico. Detto scattergramma.
Esso è come nella figura che si riporta di seguito. Ciascun sub-plot nella posizione (i,j) rappresenta i
record anormali in rosso e i record normali in blu come punti nei piani cartesiani che hanno per
coordinate la caratteristica i-esima in ascissa e la caratteristica j-esima in ordinata.
Come si vede dal disegno i due insiemi di record occupano la medesima area dello spazio a sei
dimensioni descritto dalle sei coordinate (detto anche spazio delle caratteristiche) e si
sovrappongono moltissimo tra loro. Qualsiasi algoritmo di Pattern Recognition che vorrà
distinguerli non avrà vita facile!
Altri esempi di collezioni di dati usate come esempi nel corso
Salmoni e SeaBass: Questo insieme di dati è usato dal Duda nella sua introduzione ed è per tale
ragione divenuto abbastanza “classico”. Lunghezza e colore sono gli attributi di ciascun record,
classificare in questo caso significa trovare la specie o “l’etichetta”(label) per ciascun nuovo pesce
osservato.
Una possibile presentazione dei dati in questo caso sarebbe una tabella che per ciascun pesce
riporta: lunghezza, colore dominante registrato con i canali RGB o con qualche altra codifica.
La tabella ha una ultima colonna “specie di pesce” che il classificatore dovrà cercare di riempire a
partire dai dati che sono forniti in modo da non confondere troppi salmoni (pesci pregiati) con “sea
bass” pesci meno pregiati. Questo esempio mostra tra le altre cose che gli errori di classificazione
non hanno tutti la stessa rilevanza. Nonostante una accurata ricerca in rete, non ho trovato questi
dati disponibili.
Iris di Fisher: si tratta di un arci-classico della Pattern Recognition. Nel 1916 il naturalista e
matematico Fisher raccolse 150 iris. 50 di essi di specie “setosa”, 50 di specie “virginica” e 50 di
specie “versicolor”. Da bravo naturalista e botanico egli era in grado di classificare ciascun iris
nella sua corretta specie. In questo egli si aiutò certamente anche dalla osservazione della pianta da
cui il fiore era stato spiccato. Per ciascuno dei 150 fiori Fisher rilevò le seguenti 4 misure (feature
quantitative): lunghezza petalo, larghezza petalo, lunghezza sepalo, larghezza sepalo ed ovviamente
annotò la osservazione qualitativa della specie.
Il problema che Fisher intendeva studiare e verificare era: è possibile assegnare correttamente la
specie conoscendo solo le 4 misure del fiore senza sapere nulla altro sulla pianta da cui il fiore era
stato colto? Erano necessarie tutte e 4 le misure? Le 4 misure erano “indipendenti” tra loro (grande
petalo implica spesso grande sepalo)?
Queste domande originarono numerose ricerche e Fisher usò il suo data set per fornire evidenze che
alcune sue idee matematiche erano corrette. La dimensione del data set (150 record) è piccola e
maneggevole (lo era anche al tempo dei calcolatori tascabili e del calcolo manuale!). Questo data
set è spesso inadeguato per verificare la validità degli schemi più complessi di classificazione
automatica ma è di notevole valore come strumento di comprensione nella didattica. Esso verrà
spesso usato nelle demo e nei laboratori di questo corso.
I dati sono disponibili al sito del corso.
I dati degli iris si prestano bene per introdurre alcuni altri modi grafici per la esplorazione. Essi
sono dati numerici a 4 dimensioni. Una prima modalità di visualizzazione è lo scattergramma che
abbiamo già incontrato in precedenza.
L'analisi dei diagrammi mostra che la classe “rossa” è separata abbastanza chiaramente dalle altre
per ogni combinazione di coppie di caratteristiche considerate. Le altre due classi sono invece
contigue o mescolate a seconda della coppia di caratteristiche considerate.
Quando la dimensione dei dati è elevata sono state introdotte alcune altre idee per la
visualizzazione.
La prima è classica è il metodo delle coordinate parallele.
In esso i valori k-dimensionali osservati per ciascuna caratteristica vengono tutti riportati in scala
nell'intervallo 0,1, assegnando 0 al valore minimo e 1 al valore massimo assunto da ciascuna
caratteristica separatamente (normalizzazione).
Successivamente, ciascun record di dati diviene una spezzata passante per k punti posti a quota
proporzionale al valore normalizzato per ciascuna caratteristica.
Questo è il risultato osservabile per gli iris di Fisher.
Variazione: il parallel plot potrebbe essere reso più leggibile scambiando di posto le varie
caratteristiche. Per esempio nel nostro caso se si scambia la prima con la seconda caratteristica si ha
un effetto “allineamento” per le tre classi abbastanza marcato. La originale seconda caratteristica
può essere a sua volta mappata secondo la regola: f(v)= 1-v minimizzando le intersezioni tra archi.
Si otterrebbe in tal caso il grafico:
Una ulteriore, molto popolare, variazione del metodo delle coordinate parallele è il digramma a
ragnatela. Il principio è il medesimo delle coordinate parallele ma il plot avviene in coordinate
polari anziché su assi paralleli. Ecco il diagramma che si ottiene per gli iris di Fisher sia nel caso in
cui essi non vengano normalizzati (sinistra) e nel caso in cui essi sono normalizzati (destra).
Studenti e carriera di lavoro: si raccolgano per ciascuno studente i dati anagrafici, il censo della sua
famiglia e i voti conseguiti negli esami dei corsi universitari. Queste informazioni sono le
“osservazioni” o feature osservate. Si vuole “predire” (a volte classificare è una forma di predizione) in quale delle classi si troverà lo studente dieci anni dopo la Laurea: reddito basso, reddito
medio, reddito alto. Predizioni di questo tipo non hanno generalmente un grande valore sul singolo
“studente” che ha una alta probabilità di essere erroneamente classificato dato l’elevato numero di
fattori che intervengono e la impossibilità di tenere conto di tutti i fattori in un modello matematico
che rimanga maneggevole. Esse sono però assai importanti per predire il futuro “statistico” (cioè in
“aggregato”) della intera popolazione. Non ho un insieme di dati ben consolidato per questo
problema da distribuire per i vostri esercizi.
Dati passeggeri Titanic: è stato compilata una tabella di 1046 record ciascuno relativo ad un
passeggero del tragico ultimo viaggio del Titanic. Per ogni record si registra: classe di imbarco (1, 2
o 3), sesso (m=0, f=1), età in anni, sopravvivenza (morto=0, salvato=1). Anche questo insieme di
dati sarà usato spesso per scopi didattici nel corso. Questi dati saranno disponibili nel sito del corso.
La rete è una fonte inesauribile di dati. Un sito spesso utilizzato dai ricercatori e dagli studiosi di
Pattern Recognition. Esistono numerosi site che fungono da “hub” per tali collezioni di dati e
vengono costantemente aggiornati. Una ricerca su un motore di ricerca con le parole “data set”,
“bench-mark” “pattern recognition” “machine learning”, produrrà abbondanti risultati.