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