resolució de problemes de reconeixement de patrons

48
Resolució de problemes de reconeixement de patrons

Upload: meryle

Post on 15-Jan-2016

58 views

Category:

Documents


2 download

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

TRANSCRIPT

Page 1: Resolució de problemes de reconeixement de patrons

Resolució de problemes de reconeixement de

patrons

Page 2: 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

Page 3: Resolució de problemes de reconeixement de patrons

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 ?

Page 4: Resolució de problemes de reconeixement de patrons

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 ?

Page 5: Resolució de problemes de reconeixement de patrons

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.

Page 6: Resolució de problemes de reconeixement de patrons

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

Page 7: Resolució de problemes de reconeixement de patrons

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

Page 8: Resolució de problemes de reconeixement de patrons

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)

Page 9: Resolució de problemes de reconeixement de patrons

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

Page 10: Resolució de problemes de reconeixement de patrons

Exemples:

)1.0()9.0( 21

)5.0()5.0( 21

)0.0()3.0()7.0( 321

Page 11: Resolució de problemes de reconeixement de patrons

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

Page 12: Resolució de problemes de reconeixement de patrons

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,

Page 13: Resolució de problemes de reconeixement de patrons

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

Page 14: Resolució de problemes de reconeixement de patrons

1C

2C

Exemple:

Page 15: Resolució de problemes de reconeixement de patrons

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, …)

Page 16: Resolució de problemes de reconeixement de patrons

Exemple:

1C

2C

Page 17: Resolució de problemes de reconeixement de patrons

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 )

Page 18: Resolució de problemes de reconeixement de patrons

Exemple:

1C

2C

Page 19: Resolució de problemes de reconeixement de patrons

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 )

Page 20: Resolució de problemes de reconeixement de patrons

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

Page 21: Resolució de problemes de reconeixement de patrons

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)

Page 22: Resolució de problemes de reconeixement de patrons

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

Page 23: Resolució de problemes de reconeixement de patrons

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

Page 24: Resolució de problemes de reconeixement de patrons
Page 25: Resolució de problemes de reconeixement de patrons

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.

Page 26: Resolució de problemes de reconeixement de patrons

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

Page 27: Resolució de problemes de reconeixement de patrons

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

Page 28: Resolució de problemes de reconeixement de patrons

2. Resolució de problemes de reconeixement de patrons.

• Introducció.• Reconeixement estadístic.• Reconeixement estructural.

Page 29: Resolució de problemes de reconeixement de patrons

Exemple: Com es poden classificar els següents objectes en 4 classes ?

Page 30: Resolució de problemes de reconeixement de patrons

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

Page 31: Resolució de problemes de reconeixement de patrons

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.

Page 32: Resolució de problemes de reconeixement de patrons

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

Page 33: Resolució de problemes de reconeixement de patrons

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

?=

Page 34: Resolució de problemes de reconeixement de patrons

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

Page 35: Resolució de problemes de reconeixement de patrons

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

Page 36: Resolució de problemes de reconeixement de patrons

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

Page 37: Resolució de problemes de reconeixement de patrons

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.

Page 38: Resolució de problemes de reconeixement de patrons

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

Page 39: Resolució de problemes de reconeixement de patrons

Implementació basada en una CERCA en un arbre ?

Page 40: Resolució de problemes de reconeixement de patrons

Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres

A A A A A A A

Page 41: Resolució de problemes de reconeixement de patrons

Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres

A A A A A A A

Page 42: Resolució de problemes de reconeixement de patrons

Exemple: Implementació d’un OCR basat en les propietats estructurals de les lletres

A A A A A A AProblemes:

Page 43: Resolució de problemes de reconeixement de patrons

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:

Page 44: Resolució de problemes de reconeixement de patrons

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

Page 45: Resolució de problemes de reconeixement de patrons

Resolució del problema de l’analogia geomètrica

?

A B

C X

X1 X2 X3

Page 46: Resolució de problemes de reconeixement de patrons

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?

Page 47: Resolució de problemes de reconeixement de patrons

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

Page 48: Resolució de problemes de reconeixement de patrons

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