PATTERN RECOGNITION
(I PARTE)
Intelligenza Artificiale - Pattern
Recognition 1
1
Riconoscimento di Forme
Intelligenza Artificiale - Pattern
Recognition 1
2
CONCETTI DI BASE
Col termine di pattern si intende
genericamente una descrizione di un oggetto.
Le descrizioni possono provenire da
fenomeni fisici catturati mediante sensori,
oppure essere frutto di processi di astrazione.
Qui interessano quelli del primo tipo (figure,
suoni, ecc.).
Intelligenza Artificiale - Pattern
Recognition 1
3
Applicazioni tipiche:
Task of Classification
Input Data
Output Response
Character recognition
Optical signals or strokes
Name of character
Speech recognition
Acoustic waveforms
Name of word
Speaker recognition
Voice
Name of speaker
Water prediction
Water maps
Water forecast
Medical diagnosis
Symptoms
Disease
Stock market prediction
Financial news and charts
Predicted market ups and downs
Intelligenza Artificiale - Pattern
Recognition 1
4
Una classe di pattern è una categoria determinata da
alcuni attributi comuni.
Riconoscere è pertanto ricondotto all'attribuzione di
un pattern d'ingresso ad una data classe.
Intelligenza Artificiale - Pattern
Recognition 1
5
Un pattern è dato mediante la misura degli attributi che
lo costituiscono, solitamente in forma vettoriale:
X=
X1
X2
.
.
.
Xn
Intelligenza Artificiale - Pattern
Recognition 1
6
Ecco alcuni esempi di pattern:
Intelligenza Artificiale - Pattern
Recognition 1
7
PROBLEMI IMPLICATI
Se le misure degli attributi sono forniti mediante numeri
reali, è usuale pensare i vettori-pattern come punti in uno
spazio Euclideo n-dimensionale.
Esempio: i calciatori e i fantini sono caratterizzati da
altezza e peso secondo le seguenti distribuzioni
caratteristiche.
Intelligenza Artificiale - Pattern
Recognition 1
8
Altro oggetto di studio è l'estrazione di caratteristiche
distintive (features) o attributi dai dati in input.
Quest'attività è solitamente accompagnata da una
riduzione di dimensionalità del vettore del pattern.
Si parla di preelaborazione ed estrazione delle
caratteristiche (prepocessing and features extraction
problem).
Intelligenza Artificiale - Pattern
Recognition 1
9
Per il riconoscimento e la classificazione è
necessario ancora disporre di una procedura
per determinare la decisione ottima (criteri e
algoritmi).
Il problema è ricondotto alla determinazione
di superfici di separazione (boundaries) tra
le classi a partire dall'osservazione di un
certo numero di vettori.
Intelligenza Artificiale - Pattern
Recognition 1
10
Se, ad esempio, si usa un criterio di decisione che fornisce
un indice di somiglianza o vicinanza del pattern d'ingresso
rispetto a ciascuna classe, lo schema di un classificatore
di pattern è il seguente:
DFG → decision function generator
Intelligenza Artificiale - Pattern
Recognition 1
11
Associato al problema di preelaborazione ed
estrazione delle caratteristiche è la stima e
l'ottimizzazione dei parametri del riconoscitore
(addestramento dei modelli).
Quando il sistema di riconoscimento deve essere
resistente alle distorsioni, flessibile rispetto ad una
grande deviazione dei pattern e capace di aggiustare
da sè i parametri occorre affrontare il problema
dell'adattamento.
Intelligenza Artificiale - Pattern
Recognition 1
12
Intelligenza Artificiale - Pattern
Recognition 1
13
FUNZIONI DI DECISIONE
Il compito principale di un sistema di
riconoscimento è determinare la classe di
appartenenza dei pattern in analisi.
Occorre stabilire le regole su cui basare queste
decisioni.
Un possibile approccio è l'uso di funzioni di
decisione.
Intelligenza Artificiale - Pattern
Recognition 1
14
Si considerino ad esempio il caso in cui vi sono due
classi ω1 e ω2, separabili mediante una retta:
Intelligenza Artificiale - Pattern
Recognition 1
15
L'equazione della retta sia
d(x)= w1x1 + w2x2 + w3 = 0
dove w1 e w2 sono i parametri.
Sostituendo in d(x) le coordinate di un punto che
appartiene alla classe ω1, si ottiene un valore positivo.
Intelligenza Artificiale - Pattern
Recognition 1
16
Sostituendo in d(x) le coordinate di un punto
che appartiene alla classe ω2, si ottiene un
valore negativo.
Per i valori che cadono sulla linea di
demarcazione, la classe è indeterminata.
Pertanto d(x) può essere usata come funzione
discriminante.
Intelligenza Artificiale - Pattern
Recognition 1
17
Questo approccio si può estendere al caso in
cui ci sono più di due classi, e si può
scegliere come funzione discriminante
qualsiasi funzione dello spazio euclideo, non
necessariamente lineare.
Intelligenza Artificiale - Pattern
Recognition 1
18
Funzioni di decisione lineari
Una funzione di decisione lineare nel caso più generale di
n dimensioni assume la forma:
d ( x ) = w1 x1 + w2 x2 + ... + wn xn + wn +1 = w ' x + wn +1
w è detto vettore dei pesi o dei parametri.
Intelligenza Artificiale - Pattern
Recognition 1
19
Funzioni di decisione lineari
Per convenzione si aggiunge una componente unitaria
(cioè un 1) al vettore pattern e il peso wn +1
al vettore dei pesi, per cui:
′
x = ( x1 , x2 ,..., xn ,1)
′
w = (w1 , w2 ,..., wn , wn +1 )
e
d (x) = w' x
Intelligenza Artificiale - Pattern
Recognition 1
20
Quindi nell’esempio precedente di una funzione di decisione
per due classi si ha:
⎧ > 0 se x ∈ ω1
d (x) = w' x ⎨
⎩< 0 se x ∈ ω2
Cosa succede se vi sono più classi ω1 , ω2 ,..., ωM ?
Intelligenza Artificiale - Pattern
Recognition 1
21
Caso 1:
Le classi sono separabili mediante singole superfici di
decisione. In questo caso si ha ancora:
⎧ > 0 se x ∈ ωi
con i=1,2,…,M
di ( x ) = wi ' x ⎨
⎩< 0 altrimenti
dove:
′
wi = (wi1 , wi 2 ,..., wi ,n +1 )
è il vettore pesi associato con la i-esima funzione di
decisione.
Intelligenza Artificiale - Pattern
Recognition 1
22
Esempio
Se x appartiene ad ω1 è chiaro dalla geometria che
d1 ( x ) > 0 mentre d 2 ( x ) < 0 e d3 ( x ) < 0
Intelligenza Artificiale - Pattern
Recognition 1
23
Esempio numerico
Intelligenza Artificiale - Pattern
Recognition 1
24
Le funzioni di decisione sono:
d1 ( x ) = − x1 + x2
d 2 ( x ) = x1 + x2 − 5
d 3 ( x ) = − x2 + 1
I limiti di decisione sono le rette:
− x1 + x2 = 0
x1 + x2 − 5 = 0
− x2 + 1 = 0
Se x = (6,5) , sostituendo si ha:
d1 ( x ) = −1
d2 ( x ) = 6
d 3 ( x ) = −4
il punto appartiene a ω2
Intelligenza Artificiale - Pattern
Recognition 1
25
Si osservi che:
Tutti i punti per cui è d i = k ( x ) > 0 e d i ≠ k ( x ) < 0
sono assegnati alla classe ω k : le superfici determinano
cioè una regione di decisione;
Ci possono essere punti per cui più di una d i ( x )
è maggiore di zero (oppure tutte le d i ( x ) sono minori
di zero); per questi punti non si può avere una
decisione adottando questo schema di classificazione.
Intelligenza Artificiale - Pattern
Recognition 1
26
Caso 2:
Ogni classe è separabile da ciascuna altra mediante una
distinta superficie di decisione, cioè le classi sono
separabili a coppie.
In questo caso ci sono M ( M − 1) superfici di decisione
2
(la combinazione di M classi prese a due a due).
Le funzioni di decisione sono qui nella forma:
d ij ( x ) = w 'ij x
Intelligenza Artificiale - Pattern
Recognition 1
27
Se
x
appartiene alla classe ωi allora
per tutti i
j ≠ i.
d ij ( x ) > 0
Queste funzioni hanno la proprietà che
d ij ( x ) = − d ji (x )
Intelligenza Artificiale - Pattern
Recognition 1
28
Esempio
Intelligenza Artificiale - Pattern
Recognition 1
29
Esempio numerico
d12 ( x ) = − x1 − x2 + 5
d13 ( x ) = − x1 + 3
d 23 ( x ) = − x1 + x2
Intelligenza Artificiale - Pattern
Recognition 1
30
Graficamente:
Intelligenza Artificiale - Pattern
Recognition 1
31
Ad esempio, la regione della classe ω1 è determinata
dai valori di
x
per i quali è
d12 ( x ) > 0
e
d13 ( x ) > 0
( d 23 ( x ) in questo caso è irrilevante).
Si rammenti che vale la relazione
d ij ( x ) = − d ji (x )
Intelligenza Artificiale - Pattern
Recognition 1
32
Pertanto se si deve classificare
x = ( 4,3)'
sostituendo si ha:
d12 ( x ) = −2
d13 ( x ) = −1
d 23 ( x ) = −1
e dalla relazione precedente si desume:
d 21 ( x ) = 2
d 31 ( x ) = 1
Intelligenza Artificiale - Pattern
Recognition 1
d 32 ( x ) = 1
33
Essendo
d3 j ( x ) > 0
per j=1,2
allora il pattern è assegnato alla classe
Intelligenza Artificiale - Pattern
Recognition 1
ω3 .
34
Caso 3:
Esistono M funzioni di decisione d k ( x ) = w 'k x con
k = 1,2,…M con la proprietà che se x appartiene alla
classe ωi , sia d i ( x ) > d j ( x ) per tutti i j ≠ i
Può essere considerato una particolarizzazione del caso
2, poiché si può definire:
dij ( x ) = di ( x ) − d j ( x )
= ( wi − w j )' x
= w 'ij x
Intelligenza Artificiale - Pattern
Recognition 1
35
Si può verificare facilmente che se d i ( x ) > d j ( x ) per tutti
i j ≠ i , allora si verifica anche che d ij ( x ) > 0 per tutti i
j ≠ i : se una classe è separabile con le condizioni del
caso 3, lo è anche con quelle del caso 2 (il viceversa non
è generalmente vero).
Intelligenza Artificiale - Pattern
Recognition 1
36
Esempio
Intelligenza Artificiale - Pattern
Recognition 1
37
Per i pattern della classe ω1, si richiede che d1 ( x ) > d 2 ( x )
e d1 ( x ) > d 3 ( x ) , ovvero si richiede che questi pattern
cadano sul lato positivo della superficie d1 ( x ) − d 2 ( x ) = 0
e d1 ( x ) − d3 ( x ) = 0 .
In generale si richiede che i pattern della classe ωi
cadano sul lato positivo delle superfici d i ( x ) − d j ( x ) = 0
con j = 1...M e j ≠ i
Intelligenza Artificiale - Pattern
Recognition 1
38
Anche qui vale che il lato positivo di d i ( x ) − d j ( x ) = 0
è il lato negativo di d j ( x ) − d i ( x ) = 0
Intelligenza Artificiale - Pattern
Recognition 1
39
Esempio numerico
Intelligenza Artificiale - Pattern
Recognition 1
40
Le funzioni di decisione siano:
d1 ( x ) = − x1 + x2
d 2 ( x ) = x1 + x2 − 1
d3 ( x ) = − x2
I confini tra le classi si determinano così:
d1 ( x ) − d 2 ( x ) = −2 x1 + 1 = 0
d1 ( x ) − d3 ( x ) = − x1 + 2 x2 = 0
d 2 ( x ) − d3 ( x ) = x1 + 2 x2 − 1 = 0
Intelligenza Artificiale - Pattern
Recognition 1
41
Per trovare la regione che corrisponde alla classe ω1
occorre trovare la regione per cui d1 ( x ) > d 2 ( x ) e
d1 ( x ) > d 3 ( x ) , cioè la regione che cade sul lato positivo
dei piani − 2 x1 + 1 = 0 e − x1 + 2 x2 = 0
.
Se poi è richiesto di classificare il pattern x = (1,1)' ,
sostituendo si ha: d1 ( x ) = 0 , d 2 ( x ) = 1 , d 3 ( x ) = −1
.
Essendo d 2 > d1 e d 2 > d 3 , il pattern appartiene alla classe
ω2 .
Intelligenza Artificiale - Pattern
Recognition 1
42
Funzioni di decisione generalizzate
I confini tra le classi non sono sempre esprimibili mediante
piani.
Si può stabilire una funzione di discriminazione non lineare
introducendo opportune funzioni f i ( x ) , così
d ( x ) = w1 f1 ( x ) + w2 f 2 ( x ) + ... + wk f k ( x ) + wk +1
Le f i ( x ) sono funzioni reali a singolo valore.
Intelligenza Artificiale - Pattern
Recognition 1
43
Poiché una volta valutate le f i ( x ) forniscono un solo
valore, si può porre:
⎛
⎜
⎜
*
x =⎜
⎜
⎜
⎜
⎝
f1 ( x ) ⎞
⎟
f2 ( x ) ⎟
M ⎟
⎟
fk ( x ) ⎟
⎟
1 ⎠
e riscrivere l’espressione precedente come d ( x ) = w ' x *
Intelligenza Artificiale - Pattern
Recognition 1
44
Se, ad esempio, x = ( x1 , x2 )' , una funzione discriminante
quadratica è :
d ( x ) = w x + w12 x1 x2 + w x + w1 x1 + w2 x2 + w3
2
11 1
2
22 2
allora ponendo x = (x12 , x1 x2 , x22 , x1 , x2 ,1)
*
′
w = (w , w , w , w , w , w )
si ha: d ( x * ) = w ' x *
11
12
22
1
2
3
*
(si osservi che la dimensionalità k di x è maggiore della
dimensionalità n di x ).
Intelligenza Artificiale - Pattern
Recognition 1
45
Si può generalizzare la forma quadratica così:
n
n −1
d ( x ) = ∑ w jj x + ∑
j =1
2
j
n
∑w
j =1 k = j +1
n
jk
x j xk + ∑ w j x j + wn +1
j =1
(n + 1)(n + 2) termini pesi)
n(n − 1)
+n=
(ci sono n +
2
2
Confrontando l’espressione precedente con quella generale:
d ( x ) = w1 f1 ( x ) + w2 f 2 ( x ) + ... + wk f k ( x ) + wk +1
si deduce che f i ( x ) = x ⋅ x con p, q = 1,2,..., n e s, t = 0,1
s
p
t
q
Intelligenza Artificiale - Pattern
Recognition 1
46
Si può dedurre per induzione una forma generale per
funzioni polinomiali di ordine r:
f i ( x ) = x x ...x
S1
p1
S2
p2
Sr
pr
con p1 , p2 ,... pr = 1,2,..., n e s1 , s2 ,..., sr = 0,1
e ancora una forma recursiva per ricavare d(x):
n
d r (x) = ∑
n
∑
p1 =1 p2 = p1
...
n
r −1
w
x
x
...
x
+
d
(x)
∑ p1 p2 ... pr p1 p2 pr
pr = pr −1
0
dove r è il grado di non linearità e d ( x ) = wn +1
Intelligenza Artificiale - Pattern
Recognition 1
47
Lo spazio dei pattern e lo spazio dei pesi
Si supponga che esistano solo due classi ω1 e ω2 ,
2
2
(
x
,
x
e
ciascuna rappresentata da due punti (x , x )
1
2 ).
1
1
1
2
Se le classi sono linearmente separabili esiste una
funzione d ( x ) che, se è d ( x ) > 0 per una classe è
d ( x ) < 0 per l’altra.
Intelligenza Artificiale - Pattern
Recognition 1
48
′
deve
(
)
w
=
w
,
w
,
w
Quindi il vettore dei pesi
1
2
3
soddisfare le relazioni:
w x + w x + w3 > 0
1
1 11
1
2 12
w x + w x + w3 > 0
1
1 21
1
2 22
w x + w x + w3 < 0
2
1 11
2
2 12
w x + w x + w3 < 0
2
1 21
2
2 22
w è pertanto la soluzione del sistema di disuguaglianze.
Intelligenza Artificiale - Pattern
Recognition 1
49
Si preferisce porre il sistema moltiplicando per -1 le
ultime due disuguaglianze:
w x + w x + w3 > 0
1
1 11
1
2 12
w x + w x + w3 > 0
1
1 21
1
2 22
− w x − w x − w3 > 0
2
1 11
2
2 12
− w x − w x − w3 > 0
2
1 21
2
2 22
Si osservi che le x sono i coefficienti e le w le variabili.
Intelligenza Artificiale - Pattern
Recognition 1
50
Il luogo dei punti che soddisfa le disuguaglianze è detto
spazio dei pesi.
Osservazione
Lo spazio dei pattern è uno spazio euclideo n-dimensionale.
In questo spazio, w è un insieme di coefficienti che
determinano una superficie di decisione:
Intelligenza Artificiale - Pattern
Recognition 1
51
Lo spazio dei pesi è uno spazio euclideo (n+1)-dimensionale.
In questo spazio, ogni disuguaglianza rappresenta il lato
positivo o negativo di un iperpiano che passa per l’origine
(con equazioni tipo w1 x11 '+ w2 x12 '+ w3 = 0 ).
Intelligenza Artificiale - Pattern
Recognition 1
52
Nota alla figura precedente:
posizione e lato positivo degli iperpiani: la
figura b) corrisponde al primo set di
disuguaglianze, la figura c) al secondo set: la
soluzione ovviamente è la stessa.
La regione delle soluzioni è caratterizzata
dall’essere una figura conica (più
precisamente, un cono poliedrico convesso).
Intelligenza Artificiale - Pattern
Recognition 1
53
Dicotomia
Una misura del potere discriminante delle funzioni di
decisione è il numero di modi con cui possono classificare
un dato set di pattern.
Si consideri uno spazio bidimensionale con 4 pattern
x1 , x2 , x3 , x4
Intelligenza Artificiale - Pattern
Recognition 1
54
Ciascuna linea corrisponde ad una differente classificazione
dei pattern in due classi.
Ad esempio, la linea 1 separa x1 dal gruppo x2 , x3 , x4 .
Poiché possiamo decidere di assegnare x1 o ad ω1 o ad ω2 ,
la linea 1 produce dueIntelligenza
possibili
classificazioni.
Artificiale
- Pattern
Recognition 1
55
In questo caso il numero di raggruppamenti in due classi
4
2
(dicotomie) è 14 (cioè due in meno di = 16 ).
Si può dimostrare che il numero di dicotomie lineari
di N punti in uno spazio euclideo n-dimensionale,
se i punti sono ben distribuiti, è dato da:
⎧ n N −1
⎪2∑ Ck se N > n + 1
(
N − 1)!
N −1
D( N,n ) = ⎨ k =0
con Ck =
( N − 1 − k )!k!
⎪⎩ 2 N se N ≤ n + 1
D( N,n ) cresce rapidamente al crescere di N e n!
Intelligenza Artificiale - Pattern
Recognition 1
56
Realizzazione delle funzioni di decisione
Se la determinazione dei parametri delle funzioni di
decisione è complessa, la realizzazione di classificatori
multiclasse è relativamente semplice.
Un possibile diagramma a blocchi, ipotizzando di trattare
una multiclasse di tipo 3 ( d i ( x ) > d j ( x ) per tutti i j ≠ i )
è nella figura seguente.
Intelligenza Artificiale - Pattern
Recognition 1
57
Se la funzione di decisione è di tipo qualsiasi, il preprocessor
realizza il calcolo necessario in:
d ( x ) = w1 f1 ( x ) + w2 f 2 ( x ) + ... + wk f k ( x ) + wk +1
Intelligenza Artificiale - Pattern
Recognition 1
58
Se la funzione di valutazione è lineare si può avere una
realizzazione semplice e poco costosa in hardware: per
ogni classe si utilizza una rete resistiva:
Intelligenza Artificiale - Pattern
Recognition 1
59
Se poi si hanno solo due classi, il sistema si semplifica
ulteriormente mediante l’uso di “threshold gate”:
Valore 1 ⇒ classe ω1
Valore -1 ⇒ classe ω2
Intelligenza Artificiale - Pattern
Recognition 1
60
Scarica

Pattern Recognition 1