Resolució de problemes de reconeixement de patrons
description
Transcript of Resolució de problemes de reconeixement de patrons
Resolució de problemes de reconeixement de
patrons
2. Resolució de problemes de reconeixement de patrons.
• Introducció.• Reconeixement estadístic.• Reconeixement estructural.
Bibliografia addicional:
“Introduction to Pattern Recognition”M. Friedman and A. KandelWorld Scientific, 1999
“Pattern Classification”, 2nd EditionR.O. Duda, P.E. Hart, D.G. StorkWiley, 2001
Classifiqueu cada un dels objectes en una de les 8 classes d’acord amb la seva similitud, indiqueu el resultat de la classificació a la següent taula:
Classes: Objectes per classificar:
1
2
3
4
5
6
7
8
a b c d e
Objectes a b c d e
Resultat classificació
Exercici 1: Com es poden classificar els següents objectes en una de les 8 classes que es donen ?
Classes: Objectes per classificar:
1
2
3
4
5
6
7
8
a b c d e
Objectes a b c d e
Resultat classificació
9
10
11
12
13
14
15
16
Exercici 1: Què passa si augmentem les classes ?
Espai de característiques: es una representació de coneixement que definim com:
Lèxic: característiques, eixos, punts, sistema de coordenades, classes, partició de l’espai, funció de decisió.
Estructural: • Els punts són vectors de tantes dimensions com l’espai.• Les característiques van associades a cada un dels eixos de
l’espai.• Una classe vindrà donada per una part de la partició de l’espai.
Semàntic: • Els punts representen objectes.• Les coordenades del punts representen la descripció dels
objectes en base a les seves característiques. • Una part de l’espai representarà tots els objectes semblants o
una classe.Procedimental:
• Proc. que extreuen les característiques que descriuen un objecte.
• Proc. que permeten dividir l’espai en una partició.• Proc. que decideixen a quina classe pertany un punt.
Passos a seguir en un problema
1. Definició de l’espai de característiques• Captació de característiques interessants
(depèn del problema)
• Exploració de l’espai Reducció de la dimensió – Transformació de Karhunen-Loeve
2. Categorització o partició de l’espai (aprenentatge)• Supervisada.
Amb o sense assumpcions sobre les propietats de l’espai
• No-supervisada
3. Classificació o funcions de decisió (presa de decisió)• Lineal, no-lineal• Probabilística• Veí més proper
Selecció de característiques interessants (depèn del problema)
Exemple: Construcció d’un OCR (Object Character Recognigtion), característiques per a reconeixer les lletres
• Canvis de negre a blanc horitzontals/verticals.• Centre de gravetat (x,y)• Distància màxima i mínima des del contorn al centre de la
imatge.• Píxels a la part dreta / a la part esquerra • Píxels a la part superior / a la part inferior• Número de trams horitzontals• …
ba d p q
Exploració de l’espai de característiques
d2 dimensions (espai observable)
Pèrdua d’informació
Objectiu: Reduir la dimensió de l’espai a una dimensió menor minimitzant la pèrdua d’informació.
Eina: Transformada de Karhunen-Loeve (Anàlisi de components principals)
Per a n punts, en un espai de dimensió d, representats a la matriu:
nd
n
d
xx
xx
X
1
111 busquem un canvi de base que permeti acumular
la màxima informació en un nombre menor de dimensions (essencialment 1, 2 o 3 per a que pugui ser més observable, i ens informi sobre l’eficàcia de cada característica)
Algorisme:
1. Construir, R, la matriu de covarianca de X:
2. Calculem els valors propis de R:
i els vectors propis de R
es poden calcular trobant la solució de l’equació:
3. Apliquem el canvi de base sobre la mostra, de manera que ara les primeres dimensions poden concentrar la major part de la informació, i permeten construir representacions més observables:
XXn
R T
11
d 21
0
IR dccc
21
id
iii
d
yyyx
c
c
1
1
'
'
1c2c
1
211
1 yyy nnn yyy 21
Representació amb pèrdua
d
jj
2
Cas 2D
Exemples:
)1.0()9.0( 21
)5.0()5.0( 21
)0.0()3.0()7.0( 321
Exemple real:(extret del llibre “Handbook of Pattern Recognition and Computer Vision”, ed. Chen et al. World Scientific, 1993 pàg. 7)
Cada patró representa una frase dita per una de les 8 persones de les categories que es donen, cada frase ha estat repetida 5 vegades. Per a cada frase s’han extret 5 característiques del senyal grabat.
Per
sona
1P
erso
na 2
Per
sona
8
Passos a seguir en un problema
1. Definició de l’espai de característiques• Captació de característiques interessants
(depèn del problema)
• Exploració de l’espai Reducció de la dimensió – Transformació de Karhunen-Loeve
2. Categorització o partició de l’espai (aprenentatge)• Supervisada.
Amb o sense assumpcions sobre les propietats de l’espai
• No-supervisada
3. Classificació o funcions de decisió (presa de decisió)• Lineal, no-lineal,
APRENENTATGE SUPERVISAT: Existeix un conjunt de mostres d’aprenentatge de les que es coneix a quina classe pertany cada una.
Problema: Definir funcions de decissió adequades
1C
2C
Exemple:
Exemple:
Funció de decissió (per classificar )
0)( xd
y
)0)(( yd
1C2C
1Cy
2Cy
Si llavors
Sinó
fSi
11
)(
d
d
iii wxwxd
0)( 21 cxbxaxd
En general :
Funcions de decissió lineal: són adequades quan les classes es poden separar amb un hiperplà (recta, pla, …)
Exemple:
1C
2C
Funcions de decissió no lineal: són adequades quan les classes no es poden separar amb una funció no lineal i es pot definir una funció no-lineal que les separi.
y
)0)(( yd
1Cy
2Cy
Si llavors
Sinó
fSi
0)( 222
21 xxRxd
0)( xd
1C
2C
R
Exemple:Funció de decissió (per classificar )
Exemple:
1C
2C
Funcions de decissió probabilística: són adequades quan es basen en el fet de suposar que les dades presenten una estructura probabilística amb una funció de densitat coneguda
y
kiNxCp iii ..1:),(~)/( (*)
Si llavors
fSi
)}/({max)/(..1:
yCpyCp jkj
i
iCy
(*) Aquesta assumpció és un cas particular del classificador de Bayes que s’estudiarà en cursos posteriors.
1C
2C
Exemple:És habitual assumir que una mostra de
punts d’una classe segueix una distribució Normal, aleshores
Funció de decissió (per classificar )
Estimació de la densitat de probabilitat, si la densitat assumida és normal, aleshores s’han d’estimar dos paràmetres:
Cas (d=1):
Cas (d>1):
mitjana:covariança:
2
2
2
)(
2
1),(
x
eN
)()'(2
1
2/12/
1
)2(
1),(
xx
deN
d dimensió devector :
dxd dimensions dematriu :
Aproximacions habituals:
in
i
i
ii x
n 1
1
i. classe la a mostra de elementsd' Número :in
iii
i XXn
'1
1
i. classe la a mostra de elementsd' Número :in
i classe la de mostra la de elements dels d)(nmatriu i
: iX
APRENENTATGE NO SUPERVISAT: No existeix un conjunt de mostres d’aprenentatge de les que es coneix a quina classe pertany cada una.
Problema: Buscar automàticament l’estructura de les dades per agrupaments (Definir algorismes de Clustering)
Algorisme k-means
Definicions prèvies:
E : Conjunt d’elements que formen el conjunt d’aprenentatge
k : Nombre de classes en que es vol dividir l’espai
: Conjunt de punts de la classe i.
: Centre d’inèrcia de la classe i.
: Centre d’inèrcia de la classe i a l’instant t.
: distància entre dos punts.
{ }n..1:i)xx(x:xE id
i1
ii ∀==
iC
iCI
tiCI
)y,x(d
Algorisme
Funció k-means (E , k )
1. Escollir aleatòriament k punts de E per inicialitzar
2. Repetir1. Per a ( cada classe ) fer
1.
2. Calcular el nou
2. FPer3. t++;
3. Fins que ( )
4. Retornar( )
FFunció
kiCI i ...1:,0
kiCi ...1:,
)},(),(,:{ tj
tii CIxdCIxdijExC
i
C
j
jdi
C
j
jti CxCxCI
ii
###
1
#
11
1
kiCICI ti
ti ..1:;1
{ }k..1:i
tiCI
Anàlisi de l’algorisme:
Complexitat del k-means:
L’estructura inherent de les dades determina el número d’iteracions,
observació d’un cas concret:
elementsd' núm:n
classes de núm:k
iteracionsd' núm:tn)k(tΟ ××
)n(O)0t()nk( 2⇒→⇒→
Principal desavantatge: cal coneixer el número de classes en que s’ha de dividir l’espai de classes.
Estimació automàtica del número de classes:
Anàlisi de la variància: consisteix en l’aplicació del k-means per a diferents número de classes.
Per a cada número es pot calcular la funció discriminant de Fisher, que interessa minimitzar:
Existeix un algorisme que introdueix alguns procediments heurístics per ajustar automàticament el número de classes d’una mostra donada:
ISOSDATA (Iterative Self-Organizing Analysis Tecniques)
ji,{1..k}{1..k}j)(i,
k
1ii
sclasse entre Distància
classe la de Distància
Fórmules interessants:
1. Distància entre dos punts
2. Distància entre un punt i una classe
3. Distància d’una classe
4. Distància entre dues classes
21
1
2
11
)(),(
),,(),,,(
d
iii
dd
yxyxd
yyyxxx
miCxxxdm
Cxd im
i
i ...1:,,),(1
),(1
22
miCxxxmm
CD im
j
m
ji
d
k
ik
jk ...1::,)(
)1(
1)(
1 1 1
22
2211
1 1
2
2121
2
...1::,...1::
,),(1
),(1 2
mjCxmiCx
xxdmm
CCD
ji
m
j
m
j
ji
2. Resolució de problemes de reconeixement de patrons.
• Introducció.• Reconeixement estadístic.• Reconeixement estructural.
Exemple: Com es poden classificar els següents objectes en 4 classes ?
Exemple: Com es poden classificar els següents objectes en 4 classes ?
e e e
e e es s ss
a a
aab
b
b
be e e
e e es s ss
a a
bba
b
a
be e e
e e es s ss
a b
abb
a
a
be e e
e e es s ss
a b
bab
b
a
a
Xarxa semàntica o graf: es una representació de coneixement que definim com:
Lèxic: node, arc, etiqueta d’arc, correpondència, matriu d’adjacència.
Estructural: • Qualsevol arc sempre va unit a dos nodes, node origen i node
destí.• Les etiquetes sempre van associades als arcs.• La matriu d’adjacència d’una xarxa és NxN, on N: núm. de
nodes.Semàntic:
• Depèn de l’aplicació, però en general: Node=Objecte Node=Estat d’un problemaArc= Relacions entre objectes Arc=Canvi d’estat
Procedimental: • Proc. que construeixen un graf.• Proc. que comparen o fan correspondència entre grafs.• Proc. que retornen tots els nodes destí d’un node donat.
Representació amb matriu d’adjacència
1. Llista de nodes amb la seva llista de nodes destí.
2. Matriu d’adjacència
a b
c
d
e
((a (b d)) (b (e)) (c (a b)) (d (c) ) (e (d)) )
((a ((e1 b) (e7 d))) (b ((e2 e))) (c ((e5 a) (e6 b)) (d ((e4 c))) (e ((e3 d))))
a b
c
d
e
e1
e2
e4
e5
e6
e7
e3
edcba
01000
00100
00011
10000
01010
e
d
c
b
a
edcba
03000
00400
00075
20000
07010
e
d
c
b
a
e
e
ee
e
ee
1 2
5
4
3
a b
e
d
c
Correspondència entre dos grafs G1 i G2: Trobar una substitució dels nodes de G1 amb els de G2 que faci que els dos grafs siguin iguals.
G1 G2
?=
1 2
5
4
3
a b
e
d
c
Correspondència entre dos grafs G1 i G2: Trobar una substitució dels nodes de G1 amb els de G2 que faci que els dos grafs siguin iguals.
G1 G2
?=
Substitució solució:
1=c2=
b3=
e4=
d5=
a
5 2
3
4
1
1 2
5
4
3
a b
e
d
c
Correspondència entre dos grafs G1 i G2: Trobar una substitució dels nodes de G1 amb els de G2 que faci que els dos grafs siguin iguals.
00011
10000
01000
00100
01010
)1(GMA
adebc
54321
01000
10000
01010
00100
00011
00011
10000
01000
00100
01010
5
4
3
2
1
a
d
e
b
c
Permutació per
columnes
1=c2=b3=e4=d5=a
Permutació
per files
1=c2=b3=e4=d5=a
01000
00001
01010
10000
00110
)2(GMA
1 2
5
4
3
a b
e
d
c
Correspondència entre dos grafs G1 i G2: Trobar una substitució dels nodes de G1 amb els de G2 que faci que els dos grafs siguin iguals.
00011
10000
01000
00100
01010
)1(GMA
34125
01000
00001
01010
10000
00110
edcba
01000
10000
01010
00100
00011
3
4
1
2
5
e
d
c
b
a
Permutació per
columnes
Permutació
per files a=5b=2c=1d=4e=3
01000
00001
01010
10000
00110
)2(GMA
a=5b=2c=1d=4e=3
Algorisme de correspondència de grafs
Funció Graph-matching(G1,G2)1. L=llista de totes les permutacions dels nodes de G1.2. Per a cada (element, k, de L) fer
• A=Aplicar_Permutacio(k,MA(G1));• Si (A=MA(G2)) llavors
Retornar(k és la solució)• Fsi
3. Fper4. Retornar(No existeix solució exacta)
Ffuncio
MA(G): és la matriu d’adjacència del graf G.Aplicar_Permutacio(k,M): retorna la matriu M després
d’aplicar-li la permutacio indicada a k.
Complexitat de l’algorisme:
grafun d' nodes de núm:)!(!2 nnn
• Construcció de la llista de permutacions• Exploració de la llista
IDEA: Les permutacions es poden construir a partir d’insertar cada un dels elements a totes les llistes que representen les permutacions de la resta d’elements.
Exemple:
b permutacions((a c)) = ( (a c) (c a) ) ( (b a c) (b c a) )
Elements Permutacions de la resta
c permutacions((a b)) = ( (a b) (b a) ) ( (c a b) (c b a) )
a permutacions((b c)) = ( (b c) (c b) ) ( (a b c) (a c b) )
Funció permute (Lin) Si (Lin==“buit”)llavors Retornar(llista_buida) sinó Per a cada (element E de Lin) fer L=permute(Lin–{E}) Per a cada (element Li de L) fer insertar(E,L); FPer Lout=Lout+L; FPer FsiFFunció
Implementació RECURSIVA
Implementació basada en una CERCA en un arbre ?
Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres
A A A A A A A
Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres
A A A A A A A
Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres
A A A A A A AProblemes:
RSS
SS
SSGGSimilitud
GG
GG
GG
∈,,)-(#
)-(#
)∩(#)2,1(
12
21
21
Inexistència de solució: Quan no existeixi una solució que tingui correspondència perfecta, aleshores es pot buscar una correspondència parcial amb una mesura de similitud, per exemple:
Possible millora:
Algorisme AC4 (basat en Relaxació Discreta)
Consisteix en fer un pas previ de relaxació d’una sèrie de restriccions sobre les etiquetes dels enllaços o dels nodes, això permet dividir els n nodes d’un graf en varis subconjunts:
on
Per tant, la complexitat de la correspondència dels subgrafs serà:
p1 nnnn 2
1 propietat encomparteix que G2 i G1 de nodes n1 :2 propietat encomparteix que G2 i G1 de nodes n2 :
p propietat encomparteix que G2 i G1 de nodes n
p :
)!()!!!( 21 nnnn p
Resolució del problema de l’analogia geomètrica
?
A B
C X
X1 X2 X3
Resolució del problema de l’analogia geomètrica
?
q
t
q
tnocanvia
expandit
dinssobre
c
z
c
znocanvia
nocanvia
dretasobre
c
z
c
znocanvia
expandit
sotasobre
c
z
c
znocanvia
expandit
dinssobre
A B
C X
X1 X2 X3
Graf AB
Graf CX1 Graf CX2 Graf CX3
Amb quin graf hi ha correspondència?
q
t
q
tnocanvia
expandit
dinssobre
c
z
c
znocanvia
nocanvia
dretasobre
c
z
c
znocanvia
expandit
sotasobre
c
z
c
znocanvia
expandit
dinssobre
Graf AB Graf CX1 Graf CX2 Graf CX3
Representació amb Matrius d’adjacència:
'q'tqt
0000
di000
ex000
0ncso0
'q
't
q
t
)AB(MA = 'c'zcz
0000
st000
ex000
0ncso0
'c
'z
c
z
)2CX(MA =
'c'zcz
0000
dr000
nc000
0ncso0
'c
'z
c
z
)1CX(MA =
'c'zcz
0000
di000
ex000
0ncso0
'c
'z
c
z
)3CX(MA =
Aplicació de l’algorisme: Graph-Matching
Graph-Matching(AB,CX1) Graph-Matching(AB,CX2) Graph-Matching(AB,CX3)Retorna
NORetorna
NORetorna
SÍ
Algunes consideracions:
• Existència d’ambigüitats:
Per tractar les ambigüitats hi ha diverses possibilitats:
1. Considerar totes les possibles interpretacions de tots els grafs, fet que augmenta la complexitat.
2. Considerar només la interpretació més habitual (això implica obtenir una taula de valoracions habituals) i només considerar les altres si no hi ha solució.
A BDues possibles interpretacions
g
p
g
pnocanvia
desapareix
dins
g
p
g
pdesapareix
reduït
dins