Resolució de problemes de reconeixement de patrons

Preview:

DESCRIPTION

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. Kandel World Scientific, 1999. - PowerPoint PPT Presentation

Citation preview

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

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

Recommended