Optimización del uso de pivotes en tareas de búsqueda y ...

191
Optimización del uso de pivotes en tareas de búsqueda y clasificación Raisa Socorro Llanes

Transcript of Optimización del uso de pivotes en tareas de búsqueda y ...

Page 1: Optimización del uso de pivotes en tareas de búsqueda y ...

Optimización del uso de pivotes en tareas de búsqueda y clasificación

Raisa Socorro Llanes

Page 2: Optimización del uso de pivotes en tareas de búsqueda y ...

TESIS DOCTORAL

Optimizacion del uso de pivotes entareas de busqueda y clasificacion

Raisa Socorro Llanes

Memoria para optar al grado de Doctor en Informatica bajo la direccion de

Dra. Marıa Luisa Mico Andres

DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMATICOS

Noviembre 2012

Page 3: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 4: Optimización del uso de pivotes en tareas de búsqueda y ...

Universidad de Alicante

Departamento de Lenguajes y SistemasInformaticos

Optimizacion del uso de pivotes en tareas debusqueda y clasificacion

Raisa Socorro Llanes

Memoria para optar al grado de Doctor en Informatica bajo la direccion de

Dra. Marıa Luisa Mico Andres

Noviembre 2012

Page 5: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 6: Optimización del uso de pivotes en tareas de búsqueda y ...

Prefacio

La busqueda por similitud (o vecindad) es una tecnica utilizada en aque-llos casos en que el objeto de consulta no se encuentra exactamente en labase de datos, por lo tanto es un fenomeno muy frecuente en aplicacionesde Reconocimiento de Patrones, Recuperacion de Imagenes, Bases de DatosMultimedia, o Bioinformatica entre otras. Este tipo de busqueda consisteen recuperar de la base de datos los objetos mas similares a una consulta,siendo la busqueda del vecino mas cercano y la busqueda por rango las masutilizadas. El desarrollo de algoritmos eficientes para la busqueda por simili-tud es un tema de investigacion vigente desde hace muchos anos. El objetivode estos algoritmos es el de reducir el numero de distancias a calcular cuandoel coste de la distancia es muy elevado y/o evitar recorrer exhaustivamentetoda la base de datos para encontrar la solucion. El algoritmo AESA, prop-uesto por Vidal (1986), ha sido considerado por varias decadas el que menornumero de distancias evalua.En este tesis se explora y explota el uso de pivotes en algoritmos de busque-da por similitud y clasificacion para mejorar la eficiencia de estas tareas. Enla primera parte de la tesis se presenta un estado de la cuestion de los temasvinculados con la investigacion (capıtulos 2, 3 y 4). En la segunda parte sedescriben las aportaciones y se realiza un analisis experimental de las mis-mas. En el capıtulo 5 se presenta una coleccion de algoritmos de busquedapor similitud del vecino mas cercano disenados para disminuir el coste com-putacional del algoritmo AESA utilizando para ello tecnicas de seleccion depivotes. Estas tecnicas se aplican tambien en el capıtulo 6 a otros tipos debusquedas por similitud como: los k vecinos mas cercanos, la busqueda porrango y la busqueda aproximada de los vecinos mas cercanos. Ademas, enel capıtulo 8 se presenta una propuesta del uso de pivotes para disminuir eltiempo de respuesta en una tarea de clasificacion.

I

Page 7: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 8: Optimización del uso de pivotes en tareas de búsqueda y ...

Agradecimientos

Muchas son las personas e instituciones que a lo largo de estos anos yde una forma u otra me han apoyado en el desarrollo de esta tesis y a to-das ellas debo un sincero y merecido agradecimiento. Tengo que agradeceren primer lugar a la Universidad de Alicante en Espana y a la CUJAE enCuba por haberme dado la oportunidad de participar en el Doctorado deAplicaciones de la Informatica. Al Departamento de Lenguajes y SistemasInformaticos y al Proyecto Habana en la Universidad de Alicante y a la Fa-cultad de Informatica y el Centro de Investigaciones Tecnologicas Integradasen la CUJAE por su apoyo a lo largo de estos anos.En cuanto a personas, son muchas las que podrıa mencionar y no me alcan-zarıa el espacio, aunque sı quiero agradecer de manera especial: A Luisa, midirectora de tesis. Sin su ayuda, comprension y paciencia no hubiera podidollegar al final. He aprendido muchısimo en estos anos no solo de busquedapor similitud, tambien aprendı a trabajar con Linux, Latex y mucho masdel idioma que compartimos pero no usamos de la misma manera. GraciasLuisa, por todo lo aprendido.A los profesores del DLSI que de una forma u otra estuvieron vinculados connuestro grupo en Cuba: Peral, Oncina, Paco, Juan Carlos, Maxi, Andres,Cristina, entre otros. A Rosete, mi amigo de muchos anos, si no hubiesesido por tu insistencia y preocupacion por mi superacion no hubiese llegadohasta aquı.A mis companeros de trabajo en la Facultad de Informatica, por asumirparte de mi trabajo cuando no he estado en Cuba, en especial a Guevara.A mis muchachos del grupo ARP en el CITI, por trabajar siempre duro ami lado.Y ahora solo falta agradecer a mi familia. A mis padres, en especial a mimama, por cubrir con su presencia en casa todas mis ausencias, por ser siem-pre mi apoyo en todo lo que hago, aun sin entender muy bien el por que enmuchas ocasiones. A mis hijos, por entender que mama no siempre estabadisponible. A Joaquın, mi esposo, por tantas cosas que es dıficil enumerarlas.Creo que basta con decir, gracias por estar a mi lado SIEMPRE.

III

Page 9: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 10: Optimización del uso de pivotes en tareas de búsqueda y ...

Indice general

I Introduccion y Fundamentos teoricos XV

1. Introduccion 1

1.1. Aportaciones de la tesis . . . . . . . . . . . . . . . . . . . . . 2

1.2. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . 4

2. Conceptos basicos 7

2.1. Espacios metricos . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2. Medidas de distancias . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1. Distancias de Minkowski . . . . . . . . . . . . . . . . . 9

2.2.2. Distancia de edicion entre cadenas . . . . . . . . . . . 10

2.2.3. Distancia de edicion entre arboles . . . . . . . . . . . 11

2.2.4. Distancia entre permutaciones Spearman Footrule . . . 12

2.3. Tipos de busquedas . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4. Busqueda en espacio de vectores . . . . . . . . . . . . . . . . 15

2.5. Busquedas en espacios metricos . . . . . . . . . . . . . . . . . 17

2.5.1. Cotas de distancias basadas en la distancia objeto-pivote 18

2.5.2. Cotas de distancias basada en el rango de distanciasa un pivote . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.3. Cotas de las distancias basadas en varios pivotes . . . 20

2.6. Dimension intrınseca de los datos . . . . . . . . . . . . . . . . 21

2.7. Bases de datos de prueba . . . . . . . . . . . . . . . . . . . . 22

2.7.1. Vectores en el hipercubo unidad . . . . . . . . . . . . 23

2.7.2. NIST . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.7.3. MNIST . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.7.4. COLORS y NASA . . . . . . . . . . . . . . . . . . . . 30

3. Algoritmos de busqueda por similitud 33

3.1. Clasificacion de los algoritmos . . . . . . . . . . . . . . . . . . 34

3.1.1. Metodos basados en transformaciones . . . . . . . . . 34

3.1.2. Metodos basados en ındices . . . . . . . . . . . . . . . 38

3.2. Familia de algoritmos AESA . . . . . . . . . . . . . . . . . . 49

3.2.1. AESA . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.2. LAESA . . . . . . . . . . . . . . . . . . . . . . . . . . 52

V

Page 11: Optimización del uso de pivotes en tareas de búsqueda y ...

3.2.3. TLAESA . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.2.4. Dividiendo AESA (PAESA) . . . . . . . . . . . . . . . 56

3.2.5. Binary/Bounded AESA (BAESA) . . . . . . . . . . . 56

3.2.6. Reduced Overhead AESA (ROAESA) . . . . . . . . . . 57

3.2.7. iAESA . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.2.8. Analisis comparativo de los algoritmos de la familiaAESA . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.3. Analisis comparativo . . . . . . . . . . . . . . . . . . . . . . . 61

3.4. Algoritmos inexactos . . . . . . . . . . . . . . . . . . . . . . . 62

3.4.1. Metodos que utilizan poda agresiva . . . . . . . . . . . 64

3.4.2. Metodos que utilizan detencion temprana . . . . . . . 65

3.4.3. Criterios para medir la eficacia de la busqueda apro-ximada . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.5. Metodos para la seleccion de pivotes . . . . . . . . . . . . . . 67

3.5.1. Seleccion aleatoria (SAP) . . . . . . . . . . . . . . . . 68

3.5.2. Seleccion de outliers . . . . . . . . . . . . . . . . . . . 68

3.5.3. Seleccion espacial de pivotes dispersos (SED) . . . . . 68

3.5.4. Seleccion dinamica de pivotes (SDP) . . . . . . . . . . 69

3.5.5. Seleccion de prototipos Hull Foci (HF) . . . . . . . . . 70

3.5.6. Seleccion de pivotes basada en permutaciones (SPP) . 72

3.5.7. Seleccion por error mınimo de la distancia (EMD) . . 72

4. Clasificacion 75

4.1. Clasificacion utilizando busqueda por similitud . . . . . . . . 75

4.1.1. Distancia mınima . . . . . . . . . . . . . . . . . . . . . 75

4.1.2. Vecino mas cercano . . . . . . . . . . . . . . . . . . . 77

4.1.3. K vecinos mas cercanos . . . . . . . . . . . . . . . . . 78

4.1.4. Rango . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.2. Combinacion de clasificadores . . . . . . . . . . . . . . . . . . 80

II Aportaciones y Analisis comparativo 85

5. Pivot AESA 87

5.1. Pivot AESA (PiAESAc). Estrategia c . . . . . . . . . . . . . 87

5.1.1. Influencia del parametro c y tecnicas de seleccion depivotes en el PiAESAc . . . . . . . . . . . . . . . . . . 91

5.1.2. Comparacion con otros algoritmos basados en pivotes 97

5.2. Pivot AESA (PiAESAn). Estrategia n . . . . . . . . . . . . . 100

5.2.1. Influencia del parametro n y tecnicas de seleccion depivotes en el PiAESAn . . . . . . . . . . . . . . . . . . 101

5.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

VI

Page 12: Optimización del uso de pivotes en tareas de búsqueda y ...

6. Extensiones del PiAESA 1076.1. Busqueda exacta de los k vecinos mas cercanos . . . . . . . . 107

6.1.1. Analisis del comportamiento de los criterios de apro-ximacion del PiAESA en la busqueda de los k-vmc . . 110

6.1.2. Comparacion con otros metodos de la familia AESA . 1156.2. Busqueda exacta por rango . . . . . . . . . . . . . . . . . . . 119

6.2.1. Analisis del comportamiento de los criterios de apro-ximacion del PiAESA en la busqueda por rango . . . 121

6.2.2. Comparacion con otros metodos de la familia AESA . 1246.3. Busqueda aproximada del vmc . . . . . . . . . . . . . . . . . 126

6.3.1. PiAESA aproximado . . . . . . . . . . . . . . . . . . . 1266.3.2. Comparacion con otros metodos utilizando el criterio

de busqueda aproximada . . . . . . . . . . . . . . . . . 1276.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7. Uso de pivotes en clasificacion 1377.1. Clasificacion simple . . . . . . . . . . . . . . . . . . . . . . . . 138

7.1.1. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . 1397.1.2. Arboles . . . . . . . . . . . . . . . . . . . . . . . . . . 1417.1.3. Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . 143

7.2. Seleccion de pivotes para una transformacion vectorial . . . . 1437.3. Estrategia filtro-refinamiento . . . . . . . . . . . . . . . . . . 146

7.3.1. Resultados experimentales . . . . . . . . . . . . . . . . 1477.4. Combinacion de clasificadores . . . . . . . . . . . . . . . . . . 1487.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

III Conclusiones finales y objetivos futuros 153

8. Conclusiones 1558.1. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . 158

IV Bibliografıa consultada 159

VII

Page 13: Optimización del uso de pivotes en tareas de búsqueda y ...

VIII

Page 14: Optimización del uso de pivotes en tareas de búsqueda y ...

Indice de tablas

4.1. Esquemas de combinacion de clasificadores. . . . . . . . . . . 84

5.1. Dimension intrınseca de las bases de datos COLORS, NASAy MNIST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.2. Numero medio de distancias calculadas para una base dedatos de diferentes tamanos para dimension 12. . . . . . . . . 98

5.3. Numero medio de distancias calculadas para una base dedatos de diferentes tamanos para dimension 18. . . . . . . . . 98

5.4. Numero medio de distancias calculadas para una base dedatos de diferentes tamanos para dimension 24. . . . . . . . . 99

5.5. Numero medio de distancias calculadas para las bases dedatos NASA, COLORS y MNIST. . . . . . . . . . . . . . . . 99

6.1. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para dimen-sion 12 al aumentar k. . . . . . . . . . . . . . . . . . . . . . . 116

6.2. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para dimen-sion 18 al aumentar k. . . . . . . . . . . . . . . . . . . . . . . 116

6.3. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para dimen-sion 24 al aumentar k. . . . . . . . . . . . . . . . . . . . . . . 117

6.4. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para NASAal aumentar k. . . . . . . . . . . . . . . . . . . . . . . . . . . 117

6.5. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para CO-LORS al aumentar k. . . . . . . . . . . . . . . . . . . . . . . 118

6.6. Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algoritmos de la familia AESA para MNISTal aumentar k. . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.7. Numero medio de distancias calculadas (y desviacion estandar)por PiAESAc y algoritmos de la familia AESA para dimen-sion 12 al aumentar r. . . . . . . . . . . . . . . . . . . . . . . 125

IX

Page 15: Optimización del uso de pivotes en tareas de búsqueda y ...

6.8. Numero medio de distancias calculadas (y desviacion estandar)por PiAESAc y algoritmos de la familia AESA para dimen-sion 18 al aumentar r. . . . . . . . . . . . . . . . . . . . . . . 125

6.9. Numero medio de distancias calculadas (y desviacion estandar)por PiAESAc y algoritmos de la familia AESA para dimen-sion 24 al aumentar r. . . . . . . . . . . . . . . . . . . . . . . 126

6.10. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada en dimension 16. . . . 129

6.11. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada en dimension 24. . . . 130

6.12. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada en dimension 32. . . . 131

6.13. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada para NASA. . . . . . 132

6.14. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada para COLORS. . . . . 133

6.15. Numero medio de distancias calculadas y porcentaje de recu-peracion para la busqueda aproximada para MNIST. . . . . . 134

7.1. Error de clasificacion al aplicar los k-vmc a cadenas de con-tornos obtenidas de imagenes con resolucion de 64× 64. . . . 140

7.2. Tiempo de clasificacion para cadenas de contorno con dife-rentes resoluciones. . . . . . . . . . . . . . . . . . . . . . . . . 140

7.3. Error de clasificacion aplicando los k-vmc a la cadena delarbol del esqueleto. . . . . . . . . . . . . . . . . . . . . . . . . 142

7.4. Error de clasificacion para la representacion obtenida al di-vidir la imagen en n submatrices. . . . . . . . . . . . . . . . . 143

7.5. Error de clasificacion al emplear los k-vmc para clasificadoresindividuales utilizando las transformaciones. . . . . . . . . . . 145

7.6. Error de clasificacion para una estrategia filtro-refinamiento. . 1487.7. Error de clasificacion al emplear los k-vmc en cinco combina-

ciones de clasificadores. . . . . . . . . . . . . . . . . . . . . . 1517.8. Error y tiempo de clasificacion para todas las combinaciones. 151

X

Page 16: Optimización del uso de pivotes en tareas de búsqueda y ...

Indice de figuras

2.1. Distancia a un punto en la familia Lp. . . . . . . . . . . . . . 9

2.2. Operaciones de edicion sobre un arbol con vertices etiquetados. 11

2.3. Ejemplos de consultas en espacios metricos. . . . . . . . . . . 14

2.4. Ejemplo de representacion y busqueda utilizando el KD-Tree. 16

2.5. Ejemplo de representacion utilizando el R-Tree. . . . . . . . . 16

2.6. Cotas inferiores y superiores basada en la distancia objeto-pivote. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.7. Lımites basados en el rango de distancias a un pivote. . . . . 20

2.8. Condicion de eliminacion basada en varios pivotes. . . . . . . 21

2.9. Histogramas de distancias de una consulta (q, r)d hacia un e-lemento p en dimension baja y alta ((a) y (b), respectivamente). 22

2.10. Histograma de distancias para la base de datos con una dis-tribucion uniforme en el hipercubo unidad de dimension 10. . 24

2.11. Histograma de distancias para la base de datos con una dis-tribucion uniforme en el hipercubo unidad de dimension 24. . 24

2.12. Ejemplos de caracteres manuscritos de la NIST 3 Database. . 25

2.13. (a) Ejemplo de cadena de contorno. (b) Sımbolos utilizadospara construir la cadena de contorno. . . . . . . . . . . . . . . 26

2.14. Histograma de distancias para la base de datos NISTC. . . . 26

2.15. (a) Ejemplo de arbol del esqueleto. (b) Sımbolos utilizadospara construir la cadena del arbol. . . . . . . . . . . . . . . . 28

2.16. Histograma de distancias para la base de datos NIST repre-sentada con arboles y utilizando la distancia de edicion entrearboles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.17. Ejemplo del proceso de obtencion de la representacion vecto-rial para n = 25. . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.18. Histograma de distancias para la base de datos NIST conrepresentacion vectorial. . . . . . . . . . . . . . . . . . . . . . 29

2.19. Histograma de distancias para la base de datos MNIST conrepresentacion de cadenas utilizando la distancia de edicionentre cadenas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.20. Histograma de distancias para la base de datos COLORS u-sando la distancia L1. . . . . . . . . . . . . . . . . . . . . . . 31

XI

Page 17: Optimización del uso de pivotes en tareas de búsqueda y ...

2.21. Histograma de distancias para la base de datos NASA usandola distancia L1. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1. Proyeccion del objeto u en la recta definida por los pivotes u1y u2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2. Proyeccion del objeto sobre un hiperplano. . . . . . . . . . . . 37

3.3. Ejemplo del uso del criterio de radio de cobertura. . . . . . . 39

3.4. Ejemplo del uso del criterio de hiperplanos. . . . . . . . . . . 40

3.5. Taxonomıa de los algoritmos mas representativos de la familiabasada en particiones compactas. . . . . . . . . . . . . . . . . 43

3.6. Primer nivel de un BKT. . . . . . . . . . . . . . . . . . . . . 45

3.7. Ejemplo de representacion de un espacio metrico usando losalgoritmos BKT, FQT, FHQT y FQA. . . . . . . . . . . . . . 47

3.8. Taxonomıa de los algoritmos mas representativos de la familiabasada en pivotes. . . . . . . . . . . . . . . . . . . . . . . . . 49

3.9. Criterio de aproximacion utilizado por el AESA. . . . . . . . 51

3.10. Una estrategia agresiva para eliminar regiones R1 y R3. . . . 64

3.11. Seleccion de pivotes en el algoritmo HF. . . . . . . . . . . . . 71

3.12. Seleccion de pivotes usando permutaciones. . . . . . . . . . . 72

4.1. Clasificador basado en distancia mınima. . . . . . . . . . . . . 77

4.2. Clasificador por la regla del vecino mas cercano. . . . . . . . 78

4.3. Clasificador por la regla de los k vecinos mas cercanos. . . . . 79

4.4. Clasificacion por la regla del rango. . . . . . . . . . . . . . . . 80

5.1. Influencia del criterio de aproximaxion del AESA en la actua-lizacion de la cota en las primeras iteraciones. . . . . . . . . . 88

5.2. Influencia del criterio de aproximacion MMD en la actua-lizacion de la cota en las primeras iteraciones. . . . . . . . . . 90

5.3. Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc (dimension 12). . . . . . . . . . . 93

5.4. Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc (dimension 24). . . . . . . . . . . 93

5.5. Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc (COLORS). . . . . . . . . . . . . 94

5.6. Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc (NASA). . . . . . . . . . . . . . . 94

5.7. Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc (MNIST). . . . . . . . . . . . . . 95

5.8. Comportamiento del parametro c∗ para diferentes tamanos ydimensiones de la base de datos y para el PiAESAc. . . . . . 96

5.9. Porcentaje del numero de pivotes ordenados utilizados porPiAESAc para un valor fijo del parametro c. . . . . . . . . . . 97

XII

Page 18: Optimización del uso de pivotes en tareas de búsqueda y ...

5.10. Numero medio de distancias calculadas para diferentes di-mensiones con el PiAESAc. . . . . . . . . . . . . . . . . . . . 100

5.11. Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn (dimension 12). . . . . . . . . . . 102

5.12. Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn (dimension 24). . . . . . . . . . . 103

5.13. Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn (COLORS). . . . . . . . . . . . . 103

5.14. Influencia del aumento del parametro n en el numero mediode distancias calculadas por el PiAESAn (NASA). . . . . . . 104

5.15. Influencia del aumento del parametro n en el numero mediode distancias calculadas por el PiAESAn (MNIST). . . . . . . 104

5.16. Comportamiento del parametro n∗ para diferentes tamanosde bases de datos y dimensiones del espacio. . . . . . . . . . . 105

6.1. Numero medio de distancias calculadas con PiAESA-kc vs.parametro c para distribucion uniforme en el hipercubo unidad.111

6.2. Numero medio de distancias calculadas con PiAESA-kn vs.parametro n para distribucion uniforme en el hipercubo u-nidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6.3. Numero medio de distancias calculadas con PiAESA-kc vs.parametro c para COLORS, NASA y MNIST. . . . . . . . . . 113

6.4. Numero medio de distancias calculadas con PiAESA-kn vs.parametro n para COLORS, NASA y MNIST. . . . . . . . . 114

6.5. Comportamiento del parametro c∗ y n∗ al recuperar k-vmc yaumentar la dimension del espacio. . . . . . . . . . . . . . . . 115

6.6. Numero medio de distancias calculadas con PiAESAc vs. para-metro c para distribucion uniforme en el hipercubo unidad enbusqueda por rango. . . . . . . . . . . . . . . . . . . . . . . . 122

6.7. Numero medio de distancias calculadas con PiAESAc vs. para-metro c para NASA y COLORS en busqueda por rango. . . . 123

6.8. Numero medio de distancias calculadas con PiAESAn vs.parametro n para distribucion uniforme en el hipercubo unidaden una busqueda por rango. . . . . . . . . . . . . . . . . . . . 124

7.1. Error de clasificacion para cadenas de contorno con diferentesresoluciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

7.2. Error de clasificacion para cadenas del arbol del esqueletoobtenidas con diferentes valores de R. . . . . . . . . . . . . . 142

7.3. Error de clasificacion aplicando el metodo de transformacion. 1457.4. Esquema de funcionamiento de la estrategia filtro-refinamiento.1477.5. Error de clasificacion (%) al utilizar diferentes medidas de

confianza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

XIII

Page 19: Optimización del uso de pivotes en tareas de búsqueda y ...

XIV

Page 20: Optimización del uso de pivotes en tareas de búsqueda y ...

Parte I

Introduccion y Fundamentosteoricos

XV

Page 21: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 22: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 1

Introduccion

Hasta hace poco mas de una decada el modelo relacional de los datos,surgido en los anos 70, permitıa modelar de forma estructurada a travesde tuplas toda la informacion que era necesario almacenar en las bases dedatos. Usando este modelo tambien era posible recuperar toda la informa-cion almacenada en la base de datos mediante busquedas por igualdad decampos en las tuplas.Sin embargo, la rapida evolucion de las tecnologıas de la informacion y lascomunicaciones en las ultimas decadas ha permitido un mayor numero yvariedad de la informacion disponible en formato digital. Esto ha provocadoel surgimiento de repositorios de datos, donde es posible almacenar informa-cion que no es posible registrar en bases de datos tradicionales (utilizandoel modelo relacional). En estos repositorios podemos encontrar por ejem-plo: documentos en texto plano, huellas digitales, audio, imagenes, vıdeos,senales electricas, etc. A las bases de datos capaces de almacenar este tipode informacion las llamaremos no tradicionales.En las bases de datos no tradicionales las busquedas por igualdad ya notienen sentido, es muy poco probable que los objetos sean exactamenteiguales. Ante esta situacion, una alternativa de solucion es utilizar la busque-da por simililitud.La busqueda por similitud (o vecindad) es una tecnica utilizada en aque-llos casos en que el objeto de consulta no se encuentra exactamente en labase de datos, por lo tanto es un fenomeno muy frecuente en aplicacionesde Reconocimiento de Patrones, Recuperacion de Imagenes, Bases de DatosMultimedia, o Bioinformatica entre otras. Este tipo de busqueda consisteen recuperar de la base de datos los objetos mas similares a una consulta,siendo la busqueda del vecino mas cercano (vmc) y la busqueda por rangolas mas utilizadas (Zezula et al., 2006).El algoritmo mas simple para implementar estos tipos de busqueda por simi-litud es la busqueda exhaustiva o fuerza bruta, que calcula la distancia detodos los elementos de la base de datos a la consulta. Sin embargo, cuando

1

Page 23: Optimización del uso de pivotes en tareas de búsqueda y ...

el tamano de las bases de datos es grande, o la funcion de distancia es muycostosa, hacen poco recomendable el uso de este algoritmo tan simple.El desarrollo de algoritmos eficientes para la busqueda por similitud es untema de investigacion vigente desde hace muchos anos. El objetivo de es-tos algoritmos es el de reducir o eliminar los problemas computacionalesanalizados anteriormente, aunque tambien existen propuestas que se cen-tran en otros aspectos como por ejemplo la reduccion del tiempo de ac-ceso cuando se usa memoria secundaria para almacenar el ındice. Entrelos algoritmos existentes podemos encontrar algunas propuestas cuya solu-cion para resolver de forma eficiente la busqueda solo es valida para unarepresentacion vectorial de los datos y su eficiencia se basa justamente enaprovechar las caracterısticas propias de esta representacion (Bentley (1975),Guttman (1984), Beckmann et al. (1990)). Sin embargo, existen otros algo-ritmos aplicables a espacios metricos en general cuya solucion incluye el casoanterior y otros en los que resulta imposible transformar los datos a una rep-resentacion vectorial. Un espacio metrico esta constituido por un conjuntode datos (por ejemplo: caras, secuencias de audio, secuencias de ADN, etc.)y una funcion de distancia que evalua la semejanza entre dos elementos cua-lesquiera.En la literatura podemos encontrar algunos compilaciones de estos algorit-mos, por ejemplo: Dasarathy (1990), Chavez et al. (2001),Hjaltason and Samet (2003b) y Zezula et al. (2006). Estos metodos nor-malmente se clasifican en: basados en pivotes (que almacenan distanciasprecalculadas entre objetos y pivotes), o algoritmos de agrupamiento basa-dos en la particion del espacio en grupos, ambas tecnicas para descartaralgunos objetos durante la busqueda. El tiempo de respuesta a una consultaes uno de los aspectos mas importantes a tener en cuenta al comparar estosalgoritmos.

1.1. Aportaciones de la tesis

El objetivo de esta tesis doctoral es la exploracion y explotacion de pi-votes en algoritmos de busqueda por similitud y clasificacion que mejorenla eficiencia de estas tareas. A continuacion describiremos las principalesaportaciones de esta tesis.

1. Se proponen varios algoritmos que mejoran la eficiencia de los algorit-mos actuales basados en pivotes, en cuanto al numero de distanciasevaluadas.

2. Se evalua el comportamiento de diferentes tecnicas de seleccion depivotes en una tarea de busqueda por similitud en espacios metricos.

2

Page 24: Optimización del uso de pivotes en tareas de búsqueda y ...

3. Se realiza un estudio experimental con bases de datos de diferentenaturaleza de los algoritmos propuestos y ademas se comparan conotras propuestas recientes presentes en la literatura.

4. Se proponen diferentes soluciones basadas en pivotes para incrementarla eficiencia de una tarea de clasificacion.

Publicaciones derivadas a partir del trabajo realizado en esta tesis:

Raisa Socorro y Luisa Mico: Combinacion de clasificadores utilizandorepresentaciones estructurales transformadas a un espacio vectorial.Memorias del XIV Congreso Latino Ibero Americano de Investigacionde Operaciones (CLAIO 2008), septiembre 2008. Cartagena de Indias,Colombia.

Jachel Samalea, Raisa Socorro, Alejandro Rosete: Tecnicas de mapeode representaciones estructurales a espacios vectoriales. Memorias delXIV Congreso Latino Ibero Americano de Investigacion de Opera-ciones (CLAIO 2008). Cartagena de Indias, Colombia, septiembre 2008.

Raisa Socorro, Luisa Mico: Use of Structured Pattern Representationsfor Combining Classifiers. Proceedings of the Joint IAPR InternationalWorkshop on Structural and Syntactic Pattern Recognition (SSPR2008) and Statistical Techniques in Pattern Recognition (SPR 2008);Orlando, Florida, USA, December 4-6, 2008.

Raisa Socorro, Luisa Mico y Jose Oncina: Un nuevo criterio de aprox-imacion para la indexacion rapida en espacios metricos. VII CongresoNacional de Reconocimiento de Patrones, RECPAT 2009. Santiago deCuba, Cuba. Diciembre 2009.

Raisa Socorro, Luisa Mico y Jose Oncina: Efficient Search SupportingSeveral Similarity Queries by Reordering Pivots. Proceedings of theIASTED International Conference Signal Processing, Pattern Recog-nition, and Applications (SPPRA 2011). February 16-18, 2011. Inns-bruck, Austria.

Raisa Socorro, Luisa Mico y Jose Oncina: A fast pivot-based indexingalgorithm for metric spaces. Pattern Recognition Letters, 32 (2011)1511-1516.

Raisa Socorro y Luisa Mico: Uso eficiente de pivotes aplicado a labusqueda aproximada en algoritmos rapidos sobre espacios metricos.Enviado a la Revista Computacion y Sistemas, junio 2012.

3

Page 25: Optimización del uso de pivotes en tareas de búsqueda y ...

1.2. Organizacion de la tesis

Este documento esta organizado en tres partes: 1) introduccion y funda-mentos teoricos, 2) aportaciones y analisis comparativo y 3) conclusiones ytrabajos futuros. En la primera parte se comienza presentando los concep-tos basicos utilizados a lo largo de esta tesis y las bases de datos utilizadasen los experimentos. Despues, se hace una revision del estado del arte dela busqueda en espacios metricos, y los conceptos mas importantes en unatarea de clasificacion basada en distancias. En la segunda parte se presentael enfoque propuesto en esta tesis y los algoritmos derivados con sus pruebasexperimentales. Por ultimo, en la tercera parte se presentan las conclusionesde esta tesis y el trabajo futuro.A continuacion se resumen los capıtulos de esta tesis.

PARTE I. Introduccion y fundamentos teoricos

Capıtulo 2: se explican los conceptos basicos asociados a la busque-da por similitud en espacios metricos y se describen las medidasde disimilitud y las bases de datos que fueron empleadas en losexperimentos de los capıtulos posteriores para mostrar el com-portamiento de los algoritmos propuestos en esta tesis.

Capıtulo 3: se hace una revision de los algoritmos para la busque-da por similitud en espacios metricos. Se analizan dos variantespara mejorar la eficiencia de la busqueda por similitud cuando launica informacion disponible es la funcion distancia: la primeraes transformar el espacio original de los datos a un espacio de vec-tores (metodos de embedding), y la segunda es utilizar la funciondistancia para construir un ındice con la distancia a algunos ob-jetos seleccionados previamente. El estado del arte de esta ultimavariante esta dividido en dos familias: tecnicas basadas en pivotesy tecnicas basadas en particiones compactas. En cada una se pre-sentan las bases formales, y las soluciones existentes. Se presentaun analisis de los algoritmos basados en pivotes que conformanla familia AESA, y por ultimo se presentan varias tecnicas em-pleadas para la seleccion de objetos como pivotes.

Capıtulo 4: se abordan los clasificadores basados en distancias y elempleo de metodos de combinacion de clasificadores con vistas areducir el error de clasificacion y mejorar el tiempo de respuesta.

PARTE II. Aportaciones y analisis comparativo

Capıtulo 5: se proponen algunas modificaciones al AESA que per-miten reducir el numero medio de distancias a calcular sin au-mentar el coste computacional del mismo. En este capıtulo se

4

Page 26: Optimización del uso de pivotes en tareas de búsqueda y ...

describe la propuesta y se compara con otros algoritmos de lafamilia AESA.

Capıtulo 6: se presenta una extension de los algoritmos propuestosen el capıtulo 5 para la busqueda exacta de los k vecinos mas cer-canos (k-vmc), la busqueda por rango y una variante aproximadapara el vmc, y se compara su eficiencia y eficacia con un grupode algoritmos de la familia AESA.

Capıtulo 7: se presenta un conjunto de resultados experimentales deluso eficiente de pivotes en una tarea de clasificacion de caracteresmanuscritos.

PARTE III. Conclusiones finales y objetivos futuros

Capıtulo 8: resume nuestras contribuciones y muestra las lıneas deinvestigacion y trabajos futuros en este tema.

5

Page 27: Optimización del uso de pivotes en tareas de búsqueda y ...

6

Page 28: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 2

Conceptos basicos

Zezula et al. (2006) definen el “problema de la busqueda por similitud”en bases de datos de gran tamano como:

Definicion del problema: Sea U un universo de objetos, d una medidade distancia sobre U , y el par (U, d) un espacio metrico. Dado un subcon-junto X ⊆ U de n objetos del universo, el problema de la busqueda consisteen preprocesar o estructurar los objetos de tal manera que las consultas porsimilitud se respondan eficientemente.

En este capıtulo se explican los conceptos basicos mas importantes relaciona-dos con el concepto de busqueda por similitud, tema principal de esta tesis.Ademas, se describen las medidas de disimilitud que fueron empleadas en losexperimentos de los capıtulos posteriores para mostrar el comportamientode las tecnicas presentadas.

2.1. Espacios metricos

Segun hemos enunciado en la definicion del problema, un espacio metricono es mas que un espacio (universo de objetos) y una funcion que mide lasemejanza entre los objetos de ese universo. La funcion de disimilitud que sepuede usar para medir la semejanza de un conjunto de objetos no es unica.La seleccion de la medida a utilizar depende fundamentalmente del dominiodel conjunto de objetos a comparar.

Definicion 1 Un espacio metrico se define como un par (U, d), donde U esel universo de objetos y d : U × U → R

+ la medida de disimilitud entre unpar de objetos del universo.

Una funcion de disimilitud se caracteriza porque si su valor es muy pequeno,mas parecidos entre sı son los objetos comparados. Para que la funcion d

7

Page 29: Optimización del uso de pivotes en tareas de búsqueda y ...

sea una distancia debe cumplir las siguientes propiedades:

Positividad estricta: d(x, y) > 0, ∀x, y ∈ U, x 6= y

Simetrıa: d(x, y) = d(y, x), ∀x, y ∈ U

Reflexividad: d(x, x) = 0, ∀x, y ∈ U

Desigualdad triangular d(x, z) ≤ d(x, y) + d(y, z), ∀x, y, z ∈ U

Si se emplea una funcion que no cumpla la propiedad de positividad estricta,entonces el espacio es llamado pseudo-metrico. En un espacio pseudo-metricopueden existir objetos diferentes que esten a distancia cero entre sı. Unejemplo de espacio pseudo-metrico puede ser un espacio E definido en R

n

con una funcion de disimilitud:

d((x1, x2, · · · , xn), (y1, y2, · · · , yn)) = |f(x1)− g(y1)|

donde f y g son dos funciones cualesquiera definidas en R. Para empleareste tipo de espacio en las tecnicas presentadas en este trabajo, es necesarioidentificar como un mismo objeto, mediante una clase de equivalencia, atodos aquellos objetos cuya distancia sea cero entre sı.De no cumplirse la propiedad de simetrıa, el espacio es conocido como es-pacio cuasi-metrico. Un ejemplo clasico de este tipo de espacio es la distan-cia recorrida por un coche entre dos puntos dentro de una ciudad, ya quea pesar de estar a la misma distancia fısica entre sı, es necesario tener encuenta el sentido del transito de las calles. Una forma de convertir un espaciocuasi-metrico en uno metrico es aplicando, por ejemplo, la transformacionsiguiente: d(x, y)sim = d(x, y)asim + d(y, x)asim.Existen algunos espacios que cumplen una restriccion bastante fuerte sobrela desigualdad triangular,

d(x, z) ≤ max{d(x, y), d(y, z)}, ∀x, y, z ∈ U.

Estos espacios son llamados espacios super o ultrametricos. Esto significa queel triangulo formado por los puntos x, y, z forma un triangulo isosceles. Estetipo de espacio ha sido utilizado en (Parnas and Ron, 2001) para conocer laseparacion en el tiempo entre el surgimiento de las especies comparando sussecuencias de ADN.

2.2. Medidas de distancias

Las funciones de distancia permiten cuantificar la cercanıa (o semejanza)entre los objetos de una base de datos. A continuacion se describen ejemplosde funciones de distancia para diferentes tipos de datos que seran empleadasen los experimentos presentados en esta memoria.

8

Page 30: Optimización del uso de pivotes en tareas de búsqueda y ...

2.2.1. Distancias de Minkowski

Las distancias de Minkowski forman una familia de distancias definidaspara un espacio de vectores n-dimensional (los objetos son identificados conn coordenadas de valores reales (x1, x2, · · · , xn)). Esta familia se denotacomo metrica Lp y se define como:

Lp((x1, x2, ..., xn), (y1, y2, ..., yn)) = (

n∑

i=1

| xi − yi |p)1/p. (2.1)

L1 L2 L6 L∝

Figura 2.1: Representamos en rojo el conjunto de puntos que se encuen-tran a una distancia constante del punto central para algunas distanciaspertenecientes a la familia Lp.

Los casos particulares de esta familia de distancias dependen del valor delparametro p y el coste temporal de estas distancias es O(n) siendo n la di-mension del espacio. La figura 2.1 ilustra algunos de estos casos particularesdonde las diferentes formas representan puntos en un espacio de dimension2 que se encuentran a la misma distancia del punto central. Estas distanciasse presentan formalmente a continuacion:

L1 conocida como “distancia Manhattan” o “distancia de bloque”:

L1((x1, x2, ..., xn), (y1, y2, ..., yn)) =

n∑

i=1

| xi − yi | . (2.2)

L2 conocida como “distancia Euclidiana”:

L2((x1, x2, ..., xn), (y1, y2, ..., yn)) =

n∑

i=1

| xi − yi |2. (2.3)

L∞ conocida como “distancia del maximo” o “distancia del tablero deajedrez”, que corresponde al lımite cuando p tiende a infinito:

L∞((x1, x2, ..., xn), (y1, y2, ..., yn)) = maxi=1..n

| xi − yi | . (2.4)

9

Page 31: Optimización del uso de pivotes en tareas de búsqueda y ...

2.2.2. Distancia de edicion entre cadenas

La disimilitud entre secuencias de sımbolos, normalmente llamadas ca-denas, sobre un determinado alfabeto Σ puede verse como un valor numericoque determina el esfuerzo necesario para convertir una cadena en otra. Ası,cuanto menor sea el esfuerzo para esa transformacion, mas proximas estaranestas cadenas.A la hora de definir como se realiza dicha transformacion, se pueden definirmultitud de operadores basicos que la realicen. Historicamente, se han definidocomo operadores basicos los de sustitucion, insercion y borrado.Dada una cadena s = (s1, s2, .., sn):

insercion: inserta el caracter c en la cadena s en la posicion iins(s, i, c) = s1x2 · · · s(i−1)csi · · · sn.

borrado: borra el caracter en la posicion i de la cadena sborr(s, i) = s1s2 · · · s(i−1)si+1 · · · sn.

sustitucion: sustituye el caracter que esta en la posicion i de la cadena spor el caracter csust(s, i, c) = s1s2 · · · s(i−1)csi+1 · · · sn.

A cada una de estas operaciones se le asocia un peso γ determinado (quecomputarıa el esfuerzo de la operacion). Es posible asociar cualquier peso aestas operaciones de edicion, algo que resulta mas que util de cara a su usoen aplicaciones reales. Esto se debe a que el esfuerzo asociado a sustituir dossımbolos cualquiera no tiene por que ser siempre el mismo.A la hora de calcular la distancia de edicion entre cadenas, tambien conocidapor distancia de Levenshtein (Levenshtein, 1965), se debe considerar la mejortransformacion posible de una cadena a otra, entendiendose por mejor, laque necesite un menor esfuerzo. Ası pues, la de distancia de edicion entredos cadenas s y t se define como el mınimo valor del coste asociado a lasoperaciones que permiten transformar la cadena s en la cadena t o viceversacomo se plantea en la ecuacion 2.5.

d(λ, λ) = 0,

d(s1..i, λ) = d(s1..i−1, λ) + γ(si, λ),

d(λ, t1..i) = d(λ, t1..i−1) + γ(λ, tj),

d(s1..i, t1..j) = min

d(s1..i−1, t1..j) + γ(si, λ),d(s1..i−1, t1..j−1) + γ(si, tj),d(s1..i, t1..j−1) + γ(λ, tj)

,

donde λ es la cadena vacıa, γ() es el peso de la transformacion y Σ es el dic-cionario de sımbolos definidos para las cadenas. Esta funcion ademas debecumplir entonces las siguientes propiedades para que sea considerada unametrica(Marzal and Vidal, 1993):

10

Page 32: Optimización del uso de pivotes en tareas de búsqueda y ...

γ(a, a) = 0, ∀a ∈ Σ,

γ(a, b) > 0, ∀a 6= b; a, b ∈ Σ,

γ(a, b) = γ(b, a), ∀a, b ∈ Σ.

Esta distancia puede calcularse utilizando el algoritmo de programaciondinamica propuesto por Wagner and Fischer (1974).En el trabajo de Navarro (2001) se aborda un estudio detallado sobre lastecnicas actuales para el calculo de la distancia de edicion. El coste tempo-ral del calculo de la distancia de edicion es O(n ×m) donde n y m son laslongitudes de las cadenas a comparar.

2.2.3. Distancia de edicion entre arboles

La distancia de edicion entre arboles fue introducida por Tai en los anos70 (Tai, 1979) como una generalizacion de la conocida distancia de edicionentre cadenas y ha sido ampliamente estudiada en Sanko and Kruskal (1983)y Apostolico and Galil (1997).Sea F y G dos arboles, con sus hermanos ordenados de izquierda a derecha ydonde a cada vertice se le asigna una etiqueta del alfabeto Σ. La distancia deedicion entre F y G es el coste mınimo de transformar F en G a traves de unasecuencia de operaciones elementales, consistentes en la eliminacion y reeti-quetado de nodos ya existentes, ası como la insercion de nuevos nodos. Estasoperaciones se ilustran en la figura 2.2. El coste de estas operaciones vienedado por dos funciones cdel y cmatch, donde cdel(T ) es el coste de eliminar oinsertar un vertice con etiqueta T , y cmatch(T1, T2) es el coste de cambiar laetiqueta del vertice T1, por la de T2. El coste de estas operaciones puede serconstante o variar con el nivel del arbol en que se realice la operacion. Larazon de la diferencia de pesos entre niveles esta asociada a que la inserciono borrado de un nodo cercano a la raız puede ser mas significativo que deestar cercano a una hoja, aunque esto depende del dominio de la aplicaciona que se aplique esta distancia.

X

...T1 T2 Tn

Y

...T1 T2 Tn

...T1 T2 Tn

reetiquetado nodo x como y

reetiquetado nodo y como x

eliminar nodo y

insertar nodo y

Figura 2.2: Operaciones de edicion sobre un arbol con vertices etiquetados.

11

Page 33: Optimización del uso de pivotes en tareas de búsqueda y ...

Se deben dar las siguientes definiciones para poder comprender los algo-ritmos propuestos para el computo de esta distancia:

n y m denotan las dimensiones de los dos arboles de entrada F y G,ordenados tal que n < m,

nleaves y mleaves denotan el numero de hojas en cada arbol,

nheight y mheight denotan la correspondiente altura de cada arbol.

En el trabajo de Tai (1979) se presento el primer algoritmo para calcu-lar la distancia de edicion entre arboles, cuya complejidad computacionalera de O(n2

leaves × m2leaves × n × m). Shasha and Zhang (1990) mejoraron

este resultado a O(mın(nheight, nleaves) × mın(mheight,mleaves) × n × m).Muchos otros algoritmos han sido desarrollados para el calculo de estadistancia, se pueden ver las revisiones hechas por Bille (2005)y Valiente (2002).

2.2.3.1. Algoritmo de Shasha y Zhang

El algoritmo propuesto por Shasha and Zhang (1990) es un algoritmode programacion dinamica para el calculo de la distancia de edicion entrearboles y se basa en el siguiente lema:

Lema 1 Dado dos arboles F y G con dimensiones n y m respectivamente,d(F,G) puede ser calculada como:

d(φ, φ) = 0,

d(F, φ) = d(F − rF, φ) + cdel(rF ),

d(φ,G) = d(φ,G − rG) + cdel(rG),

d(F,G) = mın

d(F − rF,G) + cdel(rF ),d(F,G − rG) + cdel(rG),d(RF,RG) + d(F − rF,G− rG) + cmatch(rF, rG)

,

donde φ representa el arbol vacıo. Sea F un arbol y v un vertice tal quev ∈ F , F − v representa el arbol resultante al eliminar v. El caso especialF − raiz(F ) se denota como Fo. Los arboles mas a la izquierda y mas ala derecha de F se denotan como LF y RF respectivamente, y sus raıcescomo lF y rF . Intuitivamente, el lema dice que en cualquier secuencia deoperaciones de edicion las raıces mas a la derecha en F y G deben poderigualarse o si no una de ellas debe ser eliminada.

2.2.4. Distancia entre permutaciones Spearman Footrule (SFD)

Dado un conjunto de objetos P = {p1, p2, ..., pn}, se define como per-mutaciones a las distintas formas en que se pueden ordenar los n objetos del

12

Page 34: Optimización del uso de pivotes en tareas de búsqueda y ...

conjunto P .La distancia Spearman Footrule (SFD) propuesta por Diaconis (1988), esutilizada para calcular la distancia entre dos permutaciones P1 y P2 obtenidasa partir del conjunto de objetos P . Esta funcion de distancia se define comola suma de las diferencias en las posiciones relativas de cada elemento delconjunto P en las permutaciones P1 y P2. Para cada pi ∈ P se calcula suposicion en P1 y P2, esto es P−1

1 (pi) y P−12 (pi), respectivamente. Formal-

mente:

SFD(P1, P2) =

|P |∑

i=1

|P−11 (pi)− P−1

2 (pi)|. (2.5)

A continuacion se explica un ejemplo de como se calcula SFD. Sea P1 ={p2, p1, p3, p4, p5, p6} y P2 = {p3, p6, p2, p1, p5, p4} dos permutaciones obtenidasa partir del conjunto P = {p1, p2, p3, p4, p5, p6}. Por ejemplo, el objeto p1esta en la posicion 2 en P1 y en la 4 en P2. Las diferencias entre las permuta-ciones para cada objeto en P son: |2−4|, |1−3|, |3−1|, |4−6|, |5−5|, |6−2|,y la suma de todas las diferencias es SFD(P1, P2) = 12.Existen otras medidas de disimilitud entre permutaciones tales como KendallTau y Spearman Rho, las cuales pueden ser consultadas en (Fagin et al.,2003).

2.3. Tipos de busquedas

La busqueda por similitud (o vecindad) es una tecnica utilizada en aque-llos casos en que el objeto de consulta no se encuentra exactamente en labase de datos, por lo tanto es un fenomeno muy frecuente en aplicacionesde Reconocimiento de Patrones, Recuperacion de Imagenes, Bases de DatosMultimedia o Bioinformatica entre otras. Este tipo de busqueda consiste enrecuperar de la base de datos los objetos mas similares a una consulta.En este documento llamaremos base de datos a un conjunto finito de ob-jetos X ⊂ U , siendo U el universo de objetos. Sea q ∈ U el elemento dela consulta, entonces algunos tipos de busqueda que pueden realizarse conellos son las siguientes:

Rango (q, r): recupera todos los objetos x ∈ X, cuya distancia a la consultaq esta dentro del radio r, es decir, {x ∈ X|d(q, x) ≤ r} (vease figura2.3(a)). Si es necesario, los elementos recuperados pueden obtenerseordenados segun su distancia a la consulta.

Vecino mas cercano vmc(q): recupera el objeto x mas cercano a la con-sulta q en X. Esto es, {x ∈ X| ∀y ∈ X, d(q, x) ≤ d(q, y)} (vease figura2.3(b)).

k vecinos mas cercanos k− vmc(q): es una generalizacion del caso ante-rior. Este tipo de busqueda recupera los k objetos mas cercanos a la

13

Page 35: Optimización del uso de pivotes en tareas de búsqueda y ...

consulta q en X. Es decir, obtiene un conjunto R ⊆ X tal que |R| = ky ∀x ∈ R, ∀y ∈ X −R, d(q, x) ≤ d(q, y)(vease figura 2.3(c)).

k vecinos reversos mas cercanos kr− vmc(q): recupera todos los obje-tos que tienen a q entre sus k vecinos mas cercanos. Es decir, obtieneun conjunto R ⊆ X tal que ∀x ∈ R, q ∈ k − vmc(x) y ∀x ∈ (X −R) :q 6∈ k − vmc(x) (vease figura 2.3(d)).

Union por similitud (Similarity Join) J(X,Z, µ): dadas dos bases dedatos X ⊆ U y Z ⊆ U , recupera todos los pares de objetos (x ∈ X,z ∈ Z) cuya distancia es menor o igual que un umbral dado (µ > 0)(vease figura 2.3(e)).

q

O4

O5O3

O2O1

O6

(a) rango

q

O4

O5O3

O2O1

O6

(b) vmc

q

O4

O5O3

O2O1

O6

(c) 2− vmc

q

O4

O5O3

O2O1

O6

(d) 2r − vmc

O4

O5O3

O2

O1

O6

(e) join similarity

Figura 2.3: Ejemplos de consultas en espacios metricos.

14

Page 36: Optimización del uso de pivotes en tareas de búsqueda y ...

2.4. Busqueda en espacio de vectores

Los espacios de vectores son un caso particular de los espacios metricosde n-dimensiones, donde los objetos se definen por un conjunto de n coor-denadas con valores reales. En la seccion 2.2.1 se presentaron algunas de lasmedidas de distancias mas empleadas en este tipo de espacio, las cuales estandefinidas en funcion de las coordenadas de los vectores. Existen diferentesalgoritmos de busqueda por similitud propuestos especıficamente para los es-pacios de vectores que aprovechan las caracterısticas de esta repesentacionpara construir un ındice que permita disminuir el numero de distancias acalcular (Dasarathy, 1990, Bohm et al., 2001).En general, los algoritmos para espacios de vectores se basan en la geometrıadel espacio y la informacion de las coordenadas, aspecto por lo cual no sonaplicables en espacios metricos generales que solo utilizan la distancia entrelos objetos.Entre los algoritmos mas populares para espacios de vectores se encuentranel KD-Tree propuesto en (Bentley, 1975, 1979), el R-Tree (Guttman, 1984)y el X-Tree (Berchtold et al., 1996), por solo mencionar algunos. A con-tinuacion se resume el funcionamiento basico de cada uno de ellos, dondees posible apreciar el uso de las caracterısticas del espacio para reducir lasdistancias a calcular:

KD-Tree: es quizas, por su simplicidad y buen funcionamiento, el mas po-pular. El KD-Tree en su version original es un arbol binario que con-tiene en cada nodo interno informacion sobre una coordenada (llamadacoordenada discriminante) que divide en dos el conjunto de datos delsubarbol correspondiente al nodo y en las hojas contiene los objetosde la base de datos. El numero de objetos a almacenar en las hojas sedefine con anterioridad y es conocido como buckets (cubetas). Durantela fase de busqueda se recorre el arbol siguiendo el criterio de ramifi-cacion y poda con un coste computacional de O(log n).En la figura 2.4 se muestra un arbol de ejemplo y la busqueda utilizan-do el KD-Tree.

15

Page 37: Optimización del uso de pivotes en tareas de búsqueda y ...

X1 X1

Y1

Y2

X1

Y1

Y2

X2

X3

X4

X5

X>X1

Y>Y2 Y>Y1

X>X3 X>X5 X>X2 X>X4

si no

si sino no

Figura 2.4: Ejemplo de representacion y busqueda utilizando el KD-Tree.

R-Tree: este metodo, a diferencia del KD-tree, utiliza para dividir el espa-cio el concepto de hiper-rectangulo. Cada nodo interno del arbol queconstruye contiene entre m y M hijos, y cada uno de ellos viene repre-sentado por el mınimo rectangulo I que contiene a todos los prototiposdel subarbol correspondiente. El lımite inferior de hijos en un nodo deun R-Tree se define como m ≤ M

2 , ademas tiene la caracterıstica deque todas las hojas estan a la misma altura. Durante la busqueda, encada nodo interno, se seleccionan los nodos hijos cuyo rectangulo Iisolape al Iq que contiene al objeto de la consulta q. El principal proble-ma del R-Tree es construir un arbol que, por un lado este equilibrado(todos los nodos hoja esten a la misma altura, depende del orden deinsercion de los objetos) y por otro lado los rectangulos no cubranmucho espacio vacıo y no se solapen demasiado (de modo que durantela busqueda se generen menos caminos).En la figura 2.5 se muestra un arbol obtenido al utilizar el metodoR-Tree.

Figura 2.5: Ejemplo de representacion utilizando el R-Tree.

R*-Tree: es una variante de R-Tree propuesta por Beckmann et al. (1990)

16

Page 38: Optimización del uso de pivotes en tareas de búsqueda y ...

que trata de reducir el solapamiento entre los nodos. Utiliza el mismoalgoritmo que el R-Tree para la busqueda y para la eliminacion deobjetos en el arbol. La diferencia radica en el algoritmo de insercion(en la forma en que elige la rama para insertar el nuevo nodo) y enla metodologıa para dividir un nodo que ya tiene todos sus M hijosasignados.

X-Tree: El X-Tree esta basado en el R*-Tree (Berchtold et al., 1996). Estetipo de arbol introduce el concepto de supernodos. Estos surgen cuan-do no es posible dividir un nodo sin evitar el solapamiento y no sonmas que nodos con una cantidad variable de hijos. El X-Tree no esigual que un R*-Tree con un numero de hijos muy grande, ya que lossupernodos se crean solo cuando es necesario. A pesar de que este algo-ritmo mejora el rendimiento de los R*-Tree, sigue siendo dependientedel orden de insercion de los datos.

Todos estos algoritmos tienen un problema en comun, y es que dejan de sereficientes a medida que aumenta la dimension de los datos y esto se haceextensivo, de manera general, al resto de los algoritmos de busqueda porsimilitud existentes para espacios de vectores. Esto es conocido como “lamaldicion de la dimension”, y en (Chavez et al., 2001) se plantea que desdeel punto de vista practico, un espacio se considera intratable si tiene mas de20 dimensiones.

2.5. Busquedas en espacios metricos

Los trabajos de Chavez et al. (2001), Hjaltason and Samet (2003b) yZezula et al. (2006), presentan un estudio detallado y actualizado sobre losmetodos de busqueda por similitud en espacios metricos. La mayor parte delos algoritmos presentados en estas recopilaciones estan definidos para serusados en la busqueda por rango, pero pueden ser facilmente adaptados paraencontrar el vmc o los k-vmc. La modificacion evidente en la busqueda porrango para encontrar el vmc es la de actualizar el rango de la busqueda conel valor de la distancia del vmc hasta el momento. En el caso de los k-vmcel rango se actualizarıa con la distancia al k-esimo vecino encontrado.Uno de los aspectos mas importantes a tener en cuenta al comparar las di-ferentes propuestas de algoritmos para la busqueda por similitud es el tiempode respuesta empleado por estos para responder una consulta.Chavez et al. (2001) definen el tiempo total para realizar una consulta como:

T = nd × Cd() + TextraCPU + TE/S , (2.6)

donde:

17

Page 39: Optimización del uso de pivotes en tareas de búsqueda y ...

nd es el numero de distancias calculadas;

Cd() es el coste de calcular una distancia;

TE/S es el tiempo de acceso a memoria principal o secundaria;

TextraCPU es el tiempo empleado por el resto de las operaciones que noestan relacionadas con el calculo de la distancia ni el acceso a memoriaprincipal o secundaria.

El problema a resolver es minimizar el tiempo (T ) de respuesta a una con-sulta. En muchas aplicaciones la evaluacion de la distancia d() es tan costosaque es posible considerar poca significativa la aportacion del resto de com-ponentes. En este trabajo utilizamos este ultimo criterio, es decir, el numerode distancias calculadas para medir la complejidad de los algoritmos anal-izados.A continuacion se describen algunas propiedades que pueden aplicarse nosolamente para evitar el acceso irrelevante a conjuntos de objetos, sino tam-bien para minimizar el numero de distancias a evaluar durante una busquedapor similitud en espacios metricos. Estas propiedades son utilizadas por losalgoritmos rapidos de busqueda por similitud para descartar objetos durantela busqueda (Zezula et al., 2006). Todas ellas se basan en la utilizacion decierta informacion de alguno de los objetos, denominado pivote. Esta infor-macion suele estar relacionada con la distancia de este objeto (o pivote) aotros objetos de la base de datos.

2.5.1. Cotas de distancias basadas en la distancia objeto-pivote

La primera condicion parte del conocimiento de la distancia de un obje-to p a otros dos, d(p, q) y d(p, u) pero se desconoce la distancia entre estosdos ultimos, d(q, u). En la figura 2.6 se presenta un ejemplo que modeliza lasituacion descrita. Las lıneas discontinuas representan las distancias desco-nocidas y las continuas las conocidas. En este caso se establecen unos valoresde cotas inferiores y superiores de la distancia entre cada uno de los objetosy la consulta. A partir de estas cotas es posible durante una consulta porrango con radio r, descartar el objeto 1 porque su cota inferior es superiora r. Si analizamos ahora el objeto 2, como su cota superior es menor quer, este serıa parte de la respuesta a la consulta q sin tener que evaluar ladistancia a la misma.

18

Page 40: Optimización del uso de pivotes en tareas de búsqueda y ...

q p

1

2

3

q p

1

2

3

q p

1

2

3

13

2

3

2

NN

límite inferior límite superior

NN NN

Figura 2.6: Cotas inferiores y superiores basada en la distancia objeto-pivote.

Lema 2 Dado un espacio metrico (X, d) y tres objetos cualesquiera u, p, q ∈X, se cumple que:

|d(q, p) − d(p, u)| ≤ d(q, u) ≤ d(q, p) + d(p, u). (2.7)

De esta forma, conociendo d(p, q) y d(p, u), se pueden establecer los lımitesinferior y superior en que se encuentra d(q, u).

2.5.2. Cotas de distancias basada en el rango de distancias aun pivote

La siguiente propiedad supone conocida solo la distancia de un objeto pa otro q, d(p, q) y con respecto a otro objeto u solo conoce que su distancia,d(p, u), se encuentra acotada en un intervalo [ri, rs]. En la figura 2.7 sepresenta un ejemplo que modeliza la situacion descrita. En este caso seconoce el intervalo [ri, rs] en el que se encuentran las distancias de los objetos1, 2, 3 del pivote p. Se observa que la distancia mas corta a q desde cualquierobjeto que se encuentre dentro del rango es ri−d(q, p), ningun objeto puedeestar mas cerca de q ya que de lo contrario estarıa mas cerca de p que ri.Por analogıa se puede definir el lımite superior como rs + d(q, p). Esto sedefine formalmente en el siguiente lema:

Lema 3 Dado un espacio metrico (X, d) y los objetos p, u ∈ X, si se conoceque la distancia entre ellos esta acotada en el rango ri ≤ d(p, u) ≤ rs,entonces para cualquier q ∈ X con d(p, q) conocida, sabemos que la distanciad(q, u) esta acotada por:

max{d(p, q) − rs, ri − d(p, q), 0} ≤ d(q, u) ≤ d(p, q) + rs. (2.8)

19

Page 41: Optimización del uso de pivotes en tareas de búsqueda y ...

q p

r l

r h

rq p

r l

r h

rq p

r l

r h

r

más cercano a q más lejos de q

Figura 2.7: Lımites basados en el rango de distancias a un pivote.

Este lema se puede aplicar durante una consulta por rango de radio r paradescartar como parte de la respuesta aquellos objetos para los que el lımiteinferior de su distancia a un pivote es mayor que r, y por tanto sin evaluarla distancia a la consulta q. Tambien es posible descartar a los objetos paralos que el lımite superior de la distancia al pivote es menor o igual que r, yaque el objeto es parte de la respuesta.

2.5.3. Cotas de las distancias basadas en varios pivotes

El ultimo lema descrito es el que corresponde a la situacion en la quese conoce la distancia que existe entre un objeto q a dos pivotes p1 y p2.Esta nueva propiedad esta inspirada en el uso de mas de un pivote cuandose realiza una particion generalizada de un hiperplano.En la figura 2.8 se presenta un ejemplo donde se utilizan dos objetos p1 y p2como pivotes y se divide el espacio en dos subespacios, los objetos cercanos ap1 en el subespacio de la izquierda y los cercanos a p2 a la derecha. La lıneade trazos representa a los objetos equidistantes a ambos pivotes. En este casono es posible establecer una cota superior de los objetos de la base de datosa la consulta q, ya que estos pueden estar arbitrariamente alejados de lospivotes, solo se puede establecer una cota inferior. Si un objeto esta ubicadoen el mismo subespacio que la consulta q, la cota inferior de la distanciadel objeto a q es obviamente 0, pero si estuviesen en subespacios diferentescomo se representa en la figura 2.8, esta cota se calcula como: d(q,p1)−d(q,p2)

2 .Formalmente se define el siguiente lema:

Lema 4 Sea un espacio metrico (X, d) y los objetos u, p1, p2 ∈ X tal qued(p1, u) ≤ d(p2, u). Dada una consulta q ∈ X y conocidas las distanciasd(q, p1) y d(q, p2), podemos establecer el lımite inferior de d(q, u) como:

max

{

d(q, p1)− d(q, p2)

2, 0

}

≤ d(q, u). (2.9)

20

Page 42: Optimización del uso de pivotes en tareas de búsqueda y ...

p l p2q

u

Figura 2.8: Condicion de eliminacion basada en varios pivotes.

2.6. Dimension intrınseca de los datos y su efectoen los algoritmos de busqueda por similitud

Como se ha mencionado anteriormente, el rendimiento de los algoritmosde busqueda tanto en espacios de vectores como en espacios metricos em-peora cuando la dimension del espacio aumenta. En el caso de los espaciosde vectores, su dimension de representacion es el numero n de coordenadasde los vectores que representan al conjunto. Sin embargo, en ocasiones seutiliza mayor numero de coordenadas para describir un objeto, o no es posi-ble la representacion del mismo en un espacio de vectores. En estos casosse introduce el concepto de dimension intrınseca, la cual se define como(Chavez et al., 2001):

Definicion 2 La dimension intrınseca (DI) es el numero mınimo de dimen-siones necesarias en las que se pueden representar las caracterısticas de losobjetos que permita mantener la distancia entre ellos con poca distorsion.

En algunos trabajos como los de Brin (1995), Chavez et al. (1999),Ciaccia et al. (1998) se plantea que existe una relacion entre el histogramade distancias de los objetos en un espacio de representacion y la dimensionintrınseca de los mismos. El histograma de distancias se construye a partirde un subconjunto de datos del espacio metrico, calculando las distanciasentre los objetos de dicho subconjunto. En espacios de dimension intrınsecaalta, la distribucion de las distancias entre los objetos hacen que el histogra-ma que se obtiene sea mas concentrado, con un valor de la media que vaaumentando y una varianza que va disminuyendo a medida que la dimensioncrece. Basado en esto, Chavez et al. (2001) proponen una manera de definirla dimension intrınseca de un espacio metrico como:

ρ =µ2

2σ2, (2.10)

donde µ y σ son la media y la varianza, respectivamente, de su histogramade distancias.En la figura 2.9 se muestra el ejemplo utilizado en (Chavez et al., 2001)

21

Page 43: Optimización del uso de pivotes en tareas de búsqueda y ...

para explicar de una forma intuitiva por que la busqueda es mas dıficil cuan-do el histograma de distancias de una base de datos esta muy concentrado,algo que como ya hemos dicho es caracterıstico en espacios de dimensionelevada. Todas las posibles distancias entre una consulta q y un objeto pcualquiera de una base de datos estan distribuidas de acuerdo a los his-togramas representados en dicha figura. El histograma representado en lafigura (b) (dimension alta) esta mucho mas concentrado que el de la figu-ra (a) (dimension baja). En este caso se presenta una consulta por rango(q, r), la distancia d(p, q) ubicada en el centro del histograma, en ambos es-pacios las zonas sombreadas corresponden a los elementos que podrıan serdescartados por la desigualdad triangular, sin compararse contra la consultaal usar un ındice. Se observa claramente que el numero de elementos quepodrıan ser descartados es mayor en dimension baja que en dimension alta.Este fenomeno es independiente de la naturaleza del espacio metrico y per-mite cuantificar cuan dıficil puede ser la busqueda sobre un espacio metricocualquiera.

(a) (b)

Figura 2.9: Histogramas de distancias de una consulta (q, r)d hacia un ele-mento p en dimension baja y alta ((a) y (b), respectivamente).

Existen otros metodos para estimar la dimension intrınseca de una base dedatos basadas en la busqueda del vmc, como por ejemplo las propuestaspor Pettis et al. (1979), Baydal et al. (1989), Verveer and Duin (1995),Pestov (2007). Por ejemplo, Pettis et al. (1979) plantea calcular la dimensionintrınseca utilizando la siguiente ecuacion:

DI =rk

(rk−1 − rk)k, (2.11)

donde rk es la media del valor de las distancias de cada consulta a su k-vmc.

2.7. Bases de datos de prueba

La evaluacion de las tecnicas utilizadas en esta tesis fue realizada uti-lizando tres tipos de bases de datos:

22

Page 44: Optimización del uso de pivotes en tareas de búsqueda y ...

Bases de datos de vectores obtenidas a partir de una distribucion uni-forme en el hipercubo unidad para diferentes dimensiones (bases dedatos artificiales).

Base de datos NIST de caracteres manuscritos (NIST 3 Database Na-tional Institute of Standards and Technology) y MNIST de dıgitosmanuscritos (http://yann.lecun.com/exdb/mnist).

Dos bases de datos reales con dimensiones de representacion altas(COLORS y NASA) obtenidas de http://www.sisap.com 1 .

Para todos los experimentos realizados se utilizaron subconjuntos de lasbases de datos con diferentes tamanos, y sobre todos ellos se realizaron1000 consultas. Estos experimentos se repitieron 10 veces con diferentessubconjuntos de datos en cada ocasion. Los resultados en cada experimentomuestran el promedio de estas 10 repeticiones y su desviacion estandar. Entodos los casos se utilizo el metodo de Chavez et al. (2001) para estimar ladimension intrınseca de cada una de las bases de datos. A continuacion sedescriben con mas detalles estas bases de datos.

2.7.1. Vectores en el hipercubo unidad

Un tema importante a evaluar en esta tesis es el comportamiento delas tecnicas analizadas al aumentar la dimension del espacio. Teniendo encuenta esto, se genero un conjunto de bases de datos artificiales de vectorescon distribucion uniforme en el hipercubo unidad para dimensiones entre 2y 64. En Chavez et al. (2001) se presenta un estudio experimental donde sedemuestra que al utilizar la medida de similitud L1 la dimension intrınsecade estas bases de datos coincide con su dimension de representacion. Porello, en todos los experimentos relacionados con estas bases de datos cuan-do hacemos referencia a la dimension de los datos hacemos referencia a sudimension intrınseca. En las figuras 2.10 y 2.11 se pueden ver los histogra-mas de distancias para dimensiones 10 y 24 respectivamente utilizando lasdistancias entre 2000 objetos.

1Sitio oficial del International Workshop on Similarity Search and Applications.

23

Page 45: Optimización del uso de pivotes en tareas de búsqueda y ...

0

1

2

3

4

5

6

7

8

0 1 2 3 4 5 6 7 8

fre

cu

en

cia

distancia

Figura 2.10: Histograma de distancias para la base de datos con una dis-tribucion uniforme en el hipercubo unidad de dimension 10.

0

2

4

6

8

10

0 2 4 6 8 10 12 14

fre

cu

en

cia

distancia

Figura 2.11: Histograma de distancias para la base de datos con una dis-tribucion uniforme en el hipercubo unidad de dimension 24.

2.7.2. NIST

NIST es una base de datos de caracteres manuscritos extraıda deNIST 3 Database National Institute of Standards and Technology(http://www.nist.gov). En la figura 2.12 se pueden ver algunos ejemplosde estos caracteres.

24

Page 46: Optimización del uso de pivotes en tareas de búsqueda y ...

Figura 2.12: Ejemplos de caracteres manuscritos de la NIST 3 Database.

En este trabajo obtuvimos tres representaciones de los objetos de esta basede datos los cuales fueron utilizados solamente en la tarea de clasificacion decaracteres manuscritos. Estas representaciones se describen a continuacion.

2.7.2.1. NIST cadenas

Llamaremos NISTC a la base de datos de cadenas obtenidas a partir dela extraccion de la cadena de contorno exterior de los caracteres manuscritosde la NIST.El contorno de un objeto representado en una imagen binaria es el conjuntode pıxeles del objeto que tienen al menos un vecino que forma parte delfondo de la imagen, como se muestra en la figura 2.13(a). En este caso solose utiliza el contorno exterior. Supongamos que tenemos el contorno de unobjeto, en una imagen binaria, representado por una cadena de pıxeles convalor 1 en la imagen binaria. El codigo de cadena es un tipo de estructurade datos para representar el contorno de un objeto en una imagen binariamediante una secuencia de segmentos, conectados consecutivamente, de lon-gitud y orientacion especıfica, que conectan pıxeles adyacentes. La conexionde los segmentos se lleva a cabo en entornos de 4 vecinos o de 8 vecinos.Cuando se usa un entorno de 8 vecinos tendremos ocho orientaciones para lossegmentos, como se muestra en la figura 2.13(b) y utilizaremos los numeros0, 1, 2, 3, 4, 5, 6 y 7 para especificar la orientacion de los segmentos.El codigo de cadena genera una secuencia de numeros que representanlas orientaciones de los segmentos conectados consecutivamente, partiendode un punto del contorno y siguiendo el sentido de las agujas del reloj.Esta representacion es conocida como la cadena de codigo de Freeman(Freeman, 1970) y es uno de los metodos mas empleados para la codifi-cacion del contorno (Lee and Wu, 1998, Guillevic and Suen, 1998, Verma,2003).

25

Page 47: Optimización del uso de pivotes en tareas de búsqueda y ...

(a)

1

234

5

6 7 8

(b)

Figura 2.13: (a) Ejemplo de cadena de contorno. (b) Sımbolos utilizadospara construir la cadena de contorno.

En este caso se emplea la distancia de edicion de Levenshtein como medidade disimilitud (vease seccion 2.2.2) y se implementa el algoritmo de progra-macion dinamica de Wagner y Fisher (Wagner and Fischer, 1974). Por otrolado, en esta tesis para esta base de datos se han utilizado pesos asociadosa cada una de las operaciones de edicion:

γi = γb = 1 (insercion y borrado)

γij = mın(|i− j|; 7 − |i− j|) (sustitucion)

Esta base de datos tiene una dimension intrınseca de 5, y se puede versu histograma de distancias en la figura 2.14.

0

1

2

3

4

5

6

7

8

0 50 100 150 200 250

fre

cu

en

cia

distancia

NISTC

Figura 2.14: Histograma de distancias para la base de datos NISTC.

26

Page 48: Optimización del uso de pivotes en tareas de búsqueda y ...

2.7.2.2. NIST arboles

Llamaremos NISTT a la base de datos de arboles obtenida a partir dela base de datos NIST. El primer paso para obtener una representacion delos caracteres manuscritos en una estructura de arbol es aplicar el algo-ritmo de adelgazamiento de Nagendraprasad-Wang-Gupta, (modificado porCarrasco and Forcada (1995)) para eliminar la informacion redundante enlas imagenes de la base de datos. A continuacion, se explora la imagen re-sultante para crear el arbol siguiendo los siguientes pasos planteados en eltrabajo de Rico and Mico (2003):

1. el primer pıxel superior izquierdo del esqueleto es marcado y asignadocomo la raız del arbol con la etiqueta especial “0”;

2. cada nodo del arbol tiene tantos descendientes como vecinos no mar-cados tenga el punto representado por el nodo;

3. cada rama es extendida siguiendo a su vecino no marcado hasta que:

a) la rama ha alcanzado el tamano maximo (parametro R del algo-ritmo2);

b) es un pıxel terminal (no tiene vecinos);

c) es un pıxel interseccion (tiene mas de un vecino);

4. un nuevo nodo es asignado al final de la rama. La etiqueta asignadaal nodo (excepto la raız) toma valores entre “1” y “8” dependiendo dela direccion de la rama (vease figura 2.15).

La funcion de distancia de edicion entre arboles utilizada en este trabajo es lapropuesta por Shasha y Zhang en (Shasha and Zhang, 1990) (vease seccion2.2.3.1). Para las operaciones basicas (insercion, borrado y sustitucion denodos) se han utilizado los siguientes pesos:

γi = wd = 1 (insercion y borrado)

γij = mın(|i− j|; 8 − |i− j|) (sustitucion)

Esta base de datos tiene una dimension intrınseca de 8, y se puede ver suhistograma de distancias en la figura 2.16.

2R representa el tamano maximo de la rama a explorar, en este trabajo el valor usadoes 2, esto significa que la longitud maxima de la rama del arbol es de 2 pıxeles.

27

Page 49: Optimización del uso de pivotes en tareas de búsqueda y ...

(a)

1

234

5

6 7 8

(b)

Figura 2.15: (a) Ejemplo de arbol del esqueleto. (b) Sımbolos utilizados paraconstruir la cadena del arbol.

0

1

2

3

4

5

6

7

8

2000 4000 6000 8000 10000

fre

cu

en

cia

distancia

NISTT

Figura 2.16: Histograma de distancias para la base de datos NIST represen-tada con arboles y utilizando la distancia de edicion entre arboles.

2.7.2.3. NIST vectores

Llamaremos NISTV a la base de datos de vectores obtenida a partir dela base de datos NIST. Para obtener esta representacion previamente se haobtenido una representacion del caracter invariante a la traslacion, en estecaso la matriz cuadrada mas pequena que incluye al caracter de la imagenoriginal. Posteriormente, esta matriz se ha dividido en n ventanas cuadradas,donde n representa la dimension del vector. Cada dimension de este vectorrepresenta la proporcion de pıxeles que conforma el caracter dentro de laventana con respecto al numero total de pıxeles de la ventana. De esta

28

Page 50: Optimización del uso de pivotes en tareas de búsqueda y ...

forma el resultado es invariante al escalado de la imagen. En la figura 2.17se presenta un ejemplo de este proceso para n = 25, en este caso se puedeobservar que X20 =

34 .

Despues de algunos experimentos preliminares variando el valor de n, sedecide utilizar el valor 25. Esta base de datos ha sido utilizada en los expe-rimentos de clasificacion del capıtulo 7 empleando en este caso la distanciaL2. La dimension intrınseca de esta base de datos es 14, y se puede ver suhistograma de distancias en la figura 2.18.

Figura 2.17: Ejemplo del proceso de obtencion de la representacion vectorialpara n = 25.

0

1

2

3

4

5

6

7

8

0 0.5 1 1.5 2 2.5 3 3.5 4

fre

cu

en

cia

distancia

NISTV

Figura 2.18: Histograma de distancias para la base de datos NIST con re-presentacion vectorial.

29

Page 51: Optimización del uso de pivotes en tareas de búsqueda y ...

2.7.3. MNIST

Llamamos MNIST a la base de datos obtenida a partir de la extraccionde la cadena de contorno exterior de los dıgitos manuscritos de una base dedatos disponible en http://yann.lecun.com/exdb/mnist, tambien llama-da originalmente MNIST.En este caso se utilizo el mismo metodo para obtener la representacion decadenas y la misma funcion de distancia que la empleada para la base dedatos NIST. Sin embargo, los valores de pesos difieren en este caso, puesse utilizaron los siguientes pesos: γi = γb = γ(i, j) = 1 (pesos de insercion,borrado y sustitucion)3. Con esta distancia y esos valores de γ esta basede datos tiene dimensionalidad intrınseca 6. Se puede ver su histograma dedistancias en la figura 2.19.

0

0.5

1

1.5

2

2.5

3

3.5

4

0 20 40 60 80 100

fre

cu

en

cia

distancia

MNIST

Figura 2.19: Histograma de distancias para la base de datos MNIST conrepresentacion de cadenas utilizando la distancia de edicion entre cadenas.

2.7.4. COLORS y NASA

Estas dos bases de datos se han obtenido del sitio oficial del InternationalWorkshop on Similarity Search and Applications4. Ambas bases de datosestan formadas por vectores de caracterısticas extraıdos de dos coleccionesde imagenes. Concretamente NASA contiene 40150 vectores de dimension20 obtenidos a partir de archivos de imagenes y vıdeos de la NASA. Sudimensionalidad intrınseca es 8 al emplear la distancia L1. COLORS con112682 contiene vectores de dimension 112 obtenidos a partir de imagenesa color, y su dimensionalidad intrınseca es 5 al emplear la distancia L1. Enlas figuras 2.20 y 2.21 se representan sus histogramas de distancia.

3Esta diferencia se debe a que esta base de datos se utiliza en una tarea de recuperacionde informacion, mientras que la NIST se utiliza para una tarea de clasificacion donde losvalores asignados a estos pesos influyen en el error de clasificacion.

4 http://www.sisap.org.

30

Page 52: Optimización del uso de pivotes en tareas de búsqueda y ...

0

0.5

1

1.5

2

2.5

3

0 0.5 1 1.5 2

fre

cu

en

cia

distancia

COLORS

Figura 2.20: Histograma de distancias para la base de datos COLORS usan-do la distancia L1.

0

2

4

6

8

10

0 1 2 3 4 5 6 7 8

fre

cu

en

cia

distancia

NASA

Figura 2.21: Histograma de distancias para la base de datos NASA usandola distancia L1.

31

Page 53: Optimización del uso de pivotes en tareas de búsqueda y ...

32

Page 54: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 3

Algoritmos eficientes debusqueda por similitud enespacios metricos

El desarrollo de algoritmos eficientes para la busqueda por similitud enespacios metricos es un tema de investigacion vigente desde hace muchosanos. Uno de los principales objetivos de estos algoritmos es el de reducir elnumero de distancias a calcular ya que en muchos casos se aplican cuando elcoste de estos calculos es muy elevado o la base de datos es tan grande quese debe evitar examinarla exhaustivamente. Entre los algoritmos propuestosen la literatura podemos encontrar algunos cuya solucion solo es valida parauna representacion vectorial de los datos y su eficiencia se basa justamenteen aprovechar la geometrıa del espacio y la informacion de las coordenadas,algo no disponible en otros tipos de espacios. Sin embargo, existen otrosalgoritmos aplicables a espacios metricos en general, cuya solucion incluyeel caso anterior y otros en que los datos no se representan como vectores.En la bibliografıa se puede encontrar gran numero de trabajos relacionadoscon algoritmos eficientes para la busqueda por similitud en espacios metri-cos, provenientes de diferentes campos. En Dasarathy (1990) aparece unade las primeras recopilaciones de algoritmos rapidos para la busqueda delvecino mas cercano centrandose en algoritmos de busqueda por similituden espacios de vectores. Posteriormente han aparecido varias revisiones bas-tante amplias y detalladas de los algoritmos mas importantes para espaciosmetricos en general (Chavez et al. (2001), Hjaltason and Samet (2003b),Zezula et al. (2006)).A continuacion se describen las caracterısticas mas importantes de estosmetodos, y los algoritmos mas significativos.

33

Page 55: Optimización del uso de pivotes en tareas de búsqueda y ...

3.1. Clasificacion de los algoritmos

Hjaltason and Samet (2003b) plantean dos variantes para mejorar la efi-ciencia de la busqueda por similitud cuando la unica informacion disponiblees la funcion distancia: la primera es transformar el espacio original de losdatos a un espacio de vectores (metodos basados en transformaciones o em-bedding), y la segunda es construir un ındice basado en distancias a algunosobjetos seleccionados previamente.

3.1.1. Metodos basados en transformaciones

Los algoritmos que se basan en las transformaciones de los objetos aun espacio de vectores son utilizados cuando en el espacio original (U, d)la funcion distancia a utilizar es muy costosa (Faloutsos and Lin, 1995,Hristescu and Farach-Colton, 1999, Athitsos et al., 2004, 2005, 2008). Enla ecuacion 2.6 del capAtulo anterior se puede apreciar la relacion existenteentre el coste de d(), el numero de distancias evaluadas y el tiempo de res-puesta a una consulta (T ). En este caso, estos algoritmos plantean disminuirT transformando los objetos del espacio metrico original, donde la funciondistancia d() definida es muy costosa, a un nuevo espacio de representacionen Rk, en el que pueda aplicarse un funcion de distancia dT menos costosa(por ejemplo, a un espacio de vectores con una distancia de la familia Lp).La transformacion se representa como F : X ⊂ U −→ Rk.Una transformacion F debe cumplir algunas propiedades para poder ser uti-lizada con exito durante una busqueda por similitud. Dos de esas propiedadesson:

Contraccion. Dado un espacio metrico (U, d) y una base de datos X ⊂ U ,una transformacion F es contractiva con respecto a X si:

dT (x1, x2) ≤ d(x1, x2); ∀x1, x2 ∈ X.

Esta propiedad facilita durante el proceso de busqueda por similitudel descarte de objetos a los cuales no es necesario calcular la funcion dedistancia definida en el espacio original, siempre que el objeto consultaq ∈ X. Lo usual es que q ∈ Q ⊂ U y Q 6= X, en este caso se dice queF es contractiva Q/X si:

dT (x, q) ≤ d(x, q); ∀x ∈ X, ∀q ∈ Q.

Por ejemplo, en una consulta con rango r, si F es contractiva Q/Xse pueden descartar los objetos de la base de datos que cumplandT (q, x) ≥ r, garantizando que no se descarten objetos que formenparte de la respuesta a la consulta. Desafortunadamente, en la mayo-rıa de las aplicaciones Q no es conocido, lo que hace dıficil garantizarel cumplimiento de esta propiedad.

34

Page 56: Optimización del uso de pivotes en tareas de búsqueda y ...

Si F es contractiva, algunos algoritmos eficientes de busqueda del vmcpueden ser implementados de forma tal que den un resultado exac-to. Tales algoritmos utilizan una estrategia de filtrado y refinamiento(Korn et al., 1996). En particular, en el paso de filtrado, el espaciotransformado es usado como un filtro para producir un conjunto decandidatos de forma rapida. En el paso de refinamiento, la distanciaoriginal a la consulta debe ser calculada a todos los candidatos paradeterminar el vecino mas cercano.

Preservacion de la distancia. Dado un espacio metrico (U, d) y una base dedatos X ⊂ U , una transformacion F preserva la distancia con respectoa X si:

d(x1, x2) ≤ d(x1, x3) ⇒ dT (x1, x2) ≤ dT (x1, x3) ∀x1, x2, x3 ∈ X.

Si se cumple esta propiedad es posible realizar una consulta del vmcen el espacio transformado (UT , dT ), y la respuesta serıa valida en elespacio original.En el trabajo de Hjaltason and Samet (2003a) se presenta una versiondonde se relaja el criterio de preservacion de la proximidad, debido aque la original rara vez se cumple:

d(x1, x2) ≤ d(x1, x3) ⇒ dT (x1, x2) ≤ c× dT (x1, x3) ∀x1, x2, x3 ∈ X.

Esto significa que la distancia dT (x1, x2) es mayor que dT (x1, x3) enun factor c. En algunas aplicaciones es admisible un rango de errordeterminado por el factor c, pues las respuestas exactas a consultas delvmc no son cruciales y las respuestas aproximadas son satisfactorias,al menos si el error no es muy alto.

A continuacion se describen algunos ejemplos de transformaciones a un es-pacio de vectores.

3.1.1.1. Transformaciones a 1-dimension

Athitsos et al. (2008) describen un metodo general para transformar elespacio original (U, d) a un espacio de vectores de una sola dimension.Dado un espacio metrico cualquiera (U, d) y P ⊂ U , una transformacionsimple F : X ⊂ U −→ R se define como

FP (u) = D(u, P ), (3.1)

donde D(u, P ) = mınp∈P d(u, p) y u ∈ U . El conjunto P usado para definirla transformacion F se le llama conjunto de referencia o de pivotes.

35

Page 57: Optimización del uso de pivotes en tareas de búsqueda y ...

Otra propuesta de transformacion simple la podemos encontrar en el trabajode Faloutsos and Lin (1995). Dado un espacio metrico (U, d), se trata deseleccionar dos objetos u1, u2 ∈ U , y ∀u ∈ U se define la transformacionF u1,u2(u) como la proyeccion de u a la recta u1u2 que une los dos puntostal que (vease figura 3.1):

F u1,u2(u) =d(u, u1)

2 + d(u1, u2)2 − d(u, u2)

2

2d(u1, u2). (3.2)

Figura 3.1: Proyeccion del objeto u en la recta definida por los pivotes u1 yu2.

3.1.1.2. Transformaciones a n-dimensiones

Una transformacion multidimensional puede ser construida concatenan-do transformaciones simples. Por ejemplo, si F1, F2, · · · , Fn son transforma-ciones simples, una transformacion n-dimensional puede definirse como:

Fn(u) = (F1(u), F2(u), · · · , Fn(u)). (3.3)

Algunos metodos propuestos para realizar transformaciones multidimensio-nales se resumen a continuacion.

Lipschitz (Bourgain, 1985): dado un espacio metrico (U, d) y X ⊂ U ,una transformacion Lipschitz de X a R

n se define en terminos deun conjunto A de subconjuntos de X, A = {A1, A2, · · · , An} siendoAi ⊂ X un conjunto de referencia. La transformacion con respecto aA es definida como:

FA(x) = (FA1(x), FA2(x), · · · , FAn(x)), (3.4)

donde cada transformacion simple FAi(x) se corresponde a la trans-formacion 1-dimensional propuesta en la ecuacion 3.1. Es decir, cadadimension del vector resultante se corresponde con la mınima distan-cia del objeto x a los objetos del conjunto Ai.

36

Page 58: Optimización del uso de pivotes en tareas de búsqueda y ...

Desafortunadamente, la transformacion descrita anteriormente no esfactible para busquedas por similitud debido a su alto coste computa-cional. Existe una alta probabilidad de que cada objeto x ∈ X hayasido seleccionado en algun conjunto de referencia Ai. En este casopara realizar la transformacion de la consulta q se calcularıan todaslas distancias de q a todos los objetos de la base de datos.

FastMap (Faloutsos and Lin, 1995): es una tecnica de transformaciongeneral, inspirada en los metodos de reduccion de dimensiones paraespacios euclıdeos basados en transformaciones lineales tales como latransformada de Karhunen-Loeve (KLT) (Wolfram, 91). El metodo deFastMap trata de encontrar k ejes “mutuamente ortogonales”, forman-do de este modo los ejes de coordenadas del espacio en que los objetosseran proyectados.Para obtener una transformacion multidimensional, se proyectan to-dos los objetos x ∈ X en una recta r determinada por dos objetosseleccionados como pivotes (ui, uj), y se calcula la primera compo-nente del vector que representa al objeto transformado como la dis-tancia de la proyeccion de un objeto a uno de los pivotes utilizando laecuacion 3.2. Despues se toma un hiperplano perpendicular a la rectay se proyectan los objetos del espacio en este hiperplano. Entonces, seencuentran dos nuevos pivotes en este hiperplano y se construye unanueva recta, donde se proyectan todos los objetos del espacio origi-nal, y se obtiene la segunda componente del vector. Estas operacionesse repiten hasta conformar un espacio n-dimensional (vease figura 3.2).

Figura 3.2: Proyeccion del objeto sobre un hiperplano H perpendicular a larecta u1u2 definida en la figura 3.1.

37

Page 59: Optimización del uso de pivotes en tareas de búsqueda y ...

A pesar de que se presenta FastMap como un metodo superior a KLT,al poder trabajar con espacios metricos y no metricos, en el trabajopresentado por Hjaltason and Samet (2003a), se demuestra que unica-mente FastMap es contractivo cuando (U, d) es una espacio euclıdeo yd es una metrica de Minkowski.

SparseMap (Hristescu and Farach-Colton, 1999): se basa en la trans-formacion de Lipschitz, incluyendo dos heurısticas con el objetivo deresolver las desventajas de esta transformacion: el alto coste computa-cional de la transformacion en terminos del numero de distancias eva-luadas y la alta dimension del espacio resultante. La primera heurısticareduce el numero de calculos de distancias mediante la obtencion deun lımite superior de la distancia d(x,Ai), en lugar del valor exacto,mientras que la segunda heurıstica reduce el numero de dimensionesmediante el uso de un subconjunto de A en lugar del conjunto entero.Ambas heurısticas disminuyen la calidad de la transformacion con res-pecto a la correspondencia entre las distancias en el espacio originaly las distancias en el espacio transformado. La distancia dT empleadaes la distancia euclıdea.

3.1.2. Metodos basados en ındices

El objetivo de estos metodos es la disminucion del tiempo de respuestade la busqueda reduciendo el numero de distancias a calcular y/o el costetemporal del algoritmo. Para agilizar la busqueda, estos metodos construyenen la fase de preproceso un ındice basandose unicamente en la utilizacion deun conjunto de objetos de la base de datos y una funcion distancia. Existenalgunos trabajos donde los metodos basados en ındices se clasifican a suvez en dos grandes familias: basados en particiones compactas y basados enpivotes (Chavez et al., 2001, Hjaltason and Samet, 2003b). A continuaciondescribiremos las caracterısticas principales de ambas familias y los algorit-mos mas representativos de cada una de ellas.En todos los metodos descritos se emplea el termino r para indicar la busque-da por rango, mientras que para la busqueda del vecino mas cercanos indicala distancia al vmc hasta el momento.

3.1.2.1. Algoritmos basados en particiones compactas

Los algoritmos basados en particiones compactas se caracterizan pordividir el espacio de busqueda en zonas tan compactas como sea posible.Para lograr esto, estos metodos seleccionan un conjunto de objetos (centros)c1, ..., ck ⊆ U y distribuyen el resto en las k zonas Zi que define cada ci. Uncriterio de distribucion, entre varios, es asignar cada objeto u ∈ U a la zonaZi cuyo ci sea el mas cercano, es decir, Zi : {u ∈ U |d(u, ci) ≤ d(u, cj) ∀i 6= j}.En cada zona se puede repetir el mismo procedimiento hasta que ya no sea

38

Page 60: Optimización del uso de pivotes en tareas de búsqueda y ...

posible o deseable dividir el espacio. En el ındice se almacenan los centros,los objetos que pertenecen a cada zona y, en algunos casos, informacion adi-cional sobre algunos valores de las distancias (por ejemplo la distancia delcentro al objeto mas alejado de su zona, o la distancia a los centros de lasotras zonas) que permitira durante la busqueda descartar aquellas zonas queno contengan objetos de interes. Uno de los aspectos importantes a teneren cuenta durante la construccion del ındice es la estrategia a utilizar paraseleccionar los centros de cada zona.Durante la busqueda, estos algoritmos utilizan diferentes criterios para eldescarte de zonas completas para su exploracion. Estos criterios son princi-palmente:

Criterio basado en el radio de cobertura R: es la distanciamaxima del centro ci de la zona Zi a los objetos en ella, es decirR = maxu∈Zi

d(u, ci).Durante la busqueda usando el parametro R, es posible acotar la dis-tancia entre la consulta q y los objetos en el ındice utilizando el Lema 3descrito en la seccion 2.5 (pagina 19). Esto permite descartar zonas Zi

de centro ci tales que d(ci, q)−R > r, pues usando el Lema 3 sabemosque ∀p ∈ Zi, se cumple que d(q, p) > r. Este proceso se repite en todaslas zonas no descartadas hasta que se llega a zonas que no se puedendividir y entonces es necesario calcular la distancia de la consulta acada uno de los elementos de la zona.En la figura 3.3 se muestra un ejemplo del uso de esta tecnica. El radiode cobertura del centro ci esta representado por R. En la figura todala zona del centro ci puede ser descartada puesto que todos los objetosp en ella cumplen que d(ci, q)−R ≤ d(q, p) y d(q, ci)−R > r.

ciu

O5

q

O1R

d(ci,q) r

Figura 3.3: Ejemplo del uso del criterio de radio de cobertura para el descartede objetos de la base de datos. Todos los objetos que pertenecen a la zonaZi son descartados sin evaluar la distancia a la consulta q.

Criterio basado en hiperplanos: se elige un conjunto de n cen-tros {c1, · · · , cn} y la zona Zi correspondiente a cada uno de ellos. Alrealizar la consulta se evaluan las distancias entre q y los n centros,escogiendose el centro mas cercano a q, el cual se denominara c. Si laregion de influencia de la consulta intersecta la zona de algun centro

39

Page 61: Optimización del uso de pivotes en tareas de búsqueda y ...

distinto de c, entonces se debe revisar exhaustivamente esa zona por sihay objetos que esten dentro de la region de influencia de la consulta.La figura 3.4 ilustra esta situacion.Formalmente es posible establecer una cota para d(q, p) si utilizamosel Lema 4 descrito en la seccion 2.5 (pagina 20). Esto permite decidirsi es necesario explorar una zona o no. En particular, una zona Zi sedebe analizar si:

d(q, ci)− d(q, cj)

2≤ r, con ci ∈ Zi, cj , q ∈ Zj .

Esta operacion se repite para decidir visitar o descartar las otras zonasdefinidas a partir de la base de datos.

q1

C2

O1O3

C3O2

C1

q2

C4O6

O4

O8

O6

O7O10

O11O9

Figura 3.4: Ejemplo del uso del criterio de hiperplanos para el descarte deobjetos de la base de datos. El espacio esta dividido en cuatro zonas concentros c1, c2, c3, c4 respectivamente. Para la consulta q1 solo se descarta lazona cuyo centro es c4, mientras que para la consulta q2 se descartan todaslas zonas excepto c3.

A continuacion se describen los algoritmos mas representativos de esta fa-milia:

Fukunaga-Narendra (FN)(Fukunaga and Narendra, 1975): este al-goritmo es uno de los primeros definidos para espacios metricos engeneral. Consiste en la construccion de un arbol n-ario a partir de labase de datos. El conjunto de datos se divide en n subconjuntos, quea su vez son divididos en n subconjuntos sucesivamente hasta llegara un nivel dado, por tanto cada nodo hoja contiene un subconjun-to de objetos (Sp). Cada nodo p del arbol (si no es una hoja) tienen hijos y representa uno de estos subconjuntos; ademas contiene unrepresentante Mp, y un radio Rp definido como el maximo valor de

40

Page 62: Optimización del uso de pivotes en tareas de búsqueda y ...

las distancias de Mp a los objetos del subconjunto. El metodo utilizados reglas de eliminacion (una para los nodos internos y otra para lashojas) para aplicar en el proceso de busqueda. Estas reglas de elimi-nacion estan definidas en funcion de la informacion almacenada en losnodos. Un nodo interno p puede ser eliminado para su exploracion enla fase busqueda de la consulta q si se cumple:

d(q,Mp) > Rp + r. (3.5)

La regla de eliminacion para los nodos hoja se aplica individualmentea cada uno de los objetos dentro de la hoja. Cada uno de estos objetospi es eliminado si se cumple:

d(q,Mp) > d(pi,Mp) + r. (3.6)

El proceso de busqueda comienza explorando los hijos del nodo actual(empezando por la raız en la lista de nodos vivos en ese nivel). Despuesde comprobar la regla de eliminacion (ecuacion 3.5) para los nodosexplorados, se repite el proceso anterior para el “mejor” nodo entrelos supervivientes (el nodo para el que la distancia del representantea la consulta es menor). Si no ha quedado ningun nodo se vuelve alnivel anterior del arbol. Cuando el nodo seleccionado es un nodo hoja,se aplica la segunda regla de eliminacion (ecuacion 3.6) a cada uno delos objetos pertenecientes al mismo. El proceso termina cuando, en lavuelta atras, se llega al nodo raız.

Bisector Tree (BST)(Kalantari and McDonald, 1983): en este algo-ritmo se construye un arbol binario, seleccionando en cada nivel dosrepresentantes M1 y M2. Los objetos mas cercanos a M1 que a M2 seinsertan en el subarbol izquierdo, y los objetos mas cercanos a M2 enel subarbol derecho. Se almacena ademas el radio R de cada represen-tante. Durante la busqueda de la consulta q se excluyen de las mismaaquellos subarboles donde se cumpla que d(q,Mi)−Ri > r.

Voronoi Tree (VT)(Dehne and Noltemeier, 1987): este algoritmo espresentado como una mejora al BST por sus autores. El VT tiene entre2 o 3 representantes por nodo. Al insertar un nuevo nodo, lo hace enel elemento mas cercano que pertenece al padre. Otra caracterıstica esque el radio de cobertura R se reduce a medida que se desciende por elarbol, lo que proporciona un mejor agrupamiento entre los nodos delsubarbol que el obtenido por el BST.

Generalized-Hyperplane Tree (GHT)(Uhlmann, 1991): se cons-truye de igual forma que un BST. La diferencia se produce en el pro-ceso de busqueda, ya que utiliza los hiperplanos como condicion para

41

Page 63: Optimización del uso de pivotes en tareas de búsqueda y ...

descartar ramas del arbol, en lugar del radio de cobertura R. El crite-rio para recorrer el subarbol izquierdo es d(q, c1) − r < d(q, c2) + r ypara recorrer el subarbol derecho es d(q, c2)− r ≤ d(q, c1) + r.

Geometric Near-neighbor Access Tree (GNAT)(Brin, 1995):este algoritmo divide el espacio en n zonas mutuamente excluyentesZi. El arbol se construye a partir de la seleccion de n representantesM1, · · · ,Mn. Sobre la informacion de la zona, se almacena ademas ladistancia mınima y maxima al resto de las zonas, es decir una tablarangoi,j = [mınu∈Zj

d(ci, u),maxu∈Zjd(ci, u)].

El proceso de busqueda consiste en calcular la distancia entre la con-sulta q y uno de los representantes Mi seleccionado aleatoriamente,se descartan aquellas zonas Zj tal que [d(q,Mi) − r, d(q,Mi) + r] ∩rangoi,j = ∅. Este proceso se repite mientras queden representantespor seleccionar en el mismo nivel. La busqueda continua entonces paralos subarboles no descartados.

Spatial Approximation Tree (SAT)(Navarro, 1999, 2002): estealgoritmo, a diferencia de los anteriores, no usa representantes paradistribuir los objetos de la base de datos, sino la aproximacion espa-cial. Es un metodo que construye un arbol definido recursivamente; lapropiedad que cumple la raız y a su vez cada uno de los nodos es quelos hijos tienen que estar mas cerca de la raız que de cualquier otropunto. Para construir el arbol se selecciona un objeto c como raız delarbol y se conectan a el todos los objetos de la base de datos que estanmas cerca de c que de otro objeto en la misma. El resto de los objetosse anaden al arbol siguiendo el mismo procedimiento de forma recursi-va. Durante el proceso de busqueda se utilizan el criterio basado en elradio de cobertura y el criterio basado en hiperplanos para descartarobjetos a comparar.

M-Tree (MT)(Ciaccia et al., 1997): la principal caracterıstica de estealgoritmo es que propone una estructura dinamica y tiene un buencomportamiento en operaciones de E/S. La estructura es similar aun GNAT, de forma que para la construccion del arbol se escoge unconjunto de objetos representantes Mp, y donde cada uno forma unsubarbol con los objetos cercanos a el. En este caso, cada nodo alma-cena el representante Mp, el radio R, que es la distancia del objeto masalejado a Mp y la distancia a Mp del nodo padre (RMp). La principaldiferencia con el GNAT esta en la forma de insercion de los elemen-tos: en el M-Tree se insertan siempre en el “mejor” subarbol, que notiene por que ser el mas cercano. Se considera mejor subarbol aquelque necesita incrementar lo menos posible su radio R para insertar unobjeto. Los objetos son almacenados en las hojas y cuando estas llenansu capacidad, se divide el nodo en dos y se distribuyen los objetos. El

42

Page 64: Optimización del uso de pivotes en tareas de búsqueda y ...

criterio utilizado para descartar ramas del arbol durante la busquedaes: d(Mp, q) > R+RMp .

List of Clusters (LC) (Chavez and Navarro, 2000, Chavez et al.,2005): segun los autores, este ındice tiene muy buen comportamientoen dimensiones altas. En este caso, a diferencia de los anteriores, nose construye un arbol, sino una lista. Para construirla se selecciona unrepresentante Mp y se agrupan con el sus m objetos mas cercanos, sealmacena ademas el radio R. Al conjunto restante se le aplica el mis-mo proceso hasta que todos los objetos han sido agrupados. Es posibleutilizar dos criterios para agrupar a los objetos: fijando el numero deelementos mas cercanos, o usando un radio de tolerancia. Experimen-talmente se comprobo que los mejores resultados se obtienen cuandose limita el numero de objetos mas cercanos. Durante la consulta serecorre secuencialmente la lista de agrupamientos, de forma que no seexploran aquellos agrupamientos donde se cumple d(Mp, q) > Ri − r.

En la figura 3.5 se presenta una taxonomıa de estos algoritmos.

Figura 3.5: Taxonomıa de los algoritmos mas representativos de la familiabasada en particiones compactas.

3.1.2.2. Algoritmos basados en pivotes

Los algoritmos basados en pivotes basan su funcionamiento en seleccionarun conjunto P de k objetos de la base de datos, a los que se les llama pivotes.Estos son utilizados normalmente para calcular en preproceso las distanciasde los elementos de la base de datos X ⊂ U a cada uno de los pivotes, luegoen el ındice se almacena ∀x ∈ X y ∀p ∈ P la distancia d(x, p). Durantela busqueda, estos pivotes son utilizados para descartar objetos de la basede datos, sin medir directamente la distancia entre el objeto consulta y losobjetos descartados.La regla utilizada para el descarte se basa en el Lema 2, descrito en laseccion 2.5 (pagina 19) y plantea que un objeto x ∈ X sera descartadosi ∃p ∈ P tal que |d(p, q) − d(p, x)| ≥ r, donde d(p, q) es la distancia dela consulta q al pivote p (distancia interna). Los objetos no descartados se

43

Page 65: Optimización del uso de pivotes en tareas de búsqueda y ...

verifican directamente con la consulta (distancia externa). El numero totalde distancias evaluadas es la suma de las distancias internas y externas.Luego, a medida que aumenta el numero de pivotes utilizados durante labusqueda, seran descartados mas objetos de la base de datos, pero se calculanmas distancias internas. El trabajo de Chavez et al. (2001) plantea, apoyadoen resultados experimentales, que existe un numero k optimo de pivotes (k∗),que permite evaluar el menor numero de distancias en general.La diferencia principal entre los diferentes algoritmos de esta familia radicaen las tecnicas de seleccion de pivotes que utilizan y como los representan enel ındice. En la seccion 3.5 se presentan algunas de las tecnicas de seleccionde pivotes mas utilizadas. A continuacion se describen brevemente algunosde los algoritmos mas representativos basados en pivotes (vease figura 3.8):

Burkhard-Keller Tree (BKT ) (Burkhard and Keller, 1973): estealgoritmo fue una de las primeras soluciones para la busqueda en es-pacios metricos en donde la funcion de distancia a aplicar es discreta.La idea consiste en construir recursivamente un arbol de la siguienteforma:

1. dada una base de datos X ⊂ U , se selecciona un objeto p ∈ Xcomo nodo raız del arbol;

2. para cada distancia i ≥ 0, se define un subconjunto Si = {s ∈X |d(s, p) = i}, es decir agrupa todos los objetos que se encuen-tran a una distancia i de la raız p;

3. para cada subconjunto Si 6= ∅ se genera una rama con etiqueta i.En cada hijo, con los objetos en este, se crea un BKT, tomandocomo raız un objeto p ∈ Si seleccionado aleatoriamente;

4. el proceso se repite mientras el tamano de Si sea mayor que b,donde b es el numero maximo de objetos que se pueden almacenaren las hojas, conocido como buckets.

En este caso las raıces p de cada subarbol son los pivotes que utiliza elBKT para indexar el espacio metrico. Durante la busqueda por rango(r), solo se examinan las ramas que cumplen la siguiente condicion:

max(d(p, q) − r, 0) ≤ i ≤ d(p, q) + r,

y se desciende por las ramas que no fueron descartadas, aplicando elmismo proceso. Al llegar a una hoja, se realiza una busqueda exhaus-tiva sobre todos los elementos contenidos en ella.La figura 3.6(b) presenta el primer nivel de un BKT construido a par-tir del espacio representado en la figura 3.6(a), y se resaltan las ramasexploradas durante una consulta por rango con r = 2.

44

Page 66: Optimización del uso de pivotes en tareas de búsqueda y ...

(a)

(b)

Figura 3.6: (a) Ejemplo de un espacio metrico y una consulta por rango.(b) Primer nivel de un BKT construido sobre el espacio de ejemplo. Parala consulta q, las ramas que se exploran son 2, 3, 4, que corresponden a losanillos intersectados en el lado izquierdo por el radio de la consulta, r = 2.

Fixed Queries Tree (FQT) (Baeza-Yates et al., 1994): es una va-riante del algoritmo BKT en el que se utiliza un unico pivote en cadanivel del arbol, es decir, el mismo pivote sera utilizado como raız entodos los subarboles de un mismo nivel. Esto hace que los FQT tiendana ser mas altos que un BKT. El algoritmo para responder consultas esexactamente el mismo que en el caso del BKT, pero en este caso solose compara q una vez por nivel, lo cual reduce el numero de distanciasa evaluar con respecto al BKT y los experimentos presentados en eltrabajo de Baeza-Yates et al. (1994) lo confirman.

Fixed-Height FQT (FHQT) (Baeza-Yates et al., 1994): es unavariante del FQT, en donde todas las hojas se encuentran a la misma

45

Page 67: Optimización del uso de pivotes en tareas de búsqueda y ...

altura, independientemente del tamano de los buckets. Esto signifi-ca que las ramas mas cortas obtenidas por un FQT se deben exten-der hasta tener la misma profundidad que el resto aunque durante labusqueda estas ramas pueden ser podadas antes de llegar a las hojas.En resumen, el FHQT utiliza un numero fijo de pivotes para indexartodos los objetos de la base de datos.

Fixed Queries Array (FQA) (Chavez et al., 1999): este algoritmotiene el mismo principio que el FHQT, es decir utiliza un numero fijode pivotes para indexar todo el espacio, pero en vez de representarlosen un arbol utiliza un array. La ventaja de este algoritmo es que usamenos memoria para obtener los mismos resultados que el FHQT.En la figura 3.7 se pueden observar las diferencias entre los algoritmosBKT, FQT, FHQT y FQA en su representacion del espacio metricodefinido en la figura 3.6(a).

Vantage Point Tree (VPT)(Yianilos, 1993): este algoritmo cons-truye un arbol binario en donde la raız es un objeto p elegido aleatori-amente, y se calcula y almacena la mediana M del conjunto de todaslas distancias de los objetos de la base de datos a p. Aquellos objetosu tal que d(p, u) ≤ M son insertados en el subarbol izquierdo, y losrestantes son insertados en el subarbol derecho. Las distancias calcu-ladas durante el proceso de creacion del arbol son almacenadas. Elproceso se repite hasta que en las hojas quede el numero de objetosdeseado. Este algoritmo, a diferencia de los anteriores (BKT, FQT,FHQT, FQA), permite indexar espacios con una distancia continua.Durante una busqueda por rango se calcula la distancia de la consultaq al pivote p que esta en la raız, d(q, p). Si d(q, p)− r ≤ M , entonces sebusca en el subarbol izquierdo, y si d(q, p)+r ≥ M , entonces se recorreel subarbol derecho. Es posible tener que recorrer ambos subarboles.El proceso continua hasta que se hayan explorado todos los subarbolesposibles.

Multi Vantage Point Tree (MVPT) (Bozkaya and Ozsoyoglu,1997): la condicion utilizada por VPT para determinar si un subarboldebe ser explorado o no obliga a que, en ocasiones, ambos subarbolestengan que ser analizados. Si esta situacion se repitiese en muchosnodos del arbol, afectarıa a la eficiencia del algoritmo de busqueda. ElMVPT se propone como una solucion a este problema (extension delarbol binario VPT a un arbol m-ario que usa m− 1 valores de umbralen vez de la mediana para dividir el espacio). En el trabajo de Zezulaet al. (2006) se afirma que los resultados experimentales para espacioscon dimensiones altas empeora los obtenidos por el VPT en cuanto alnumero de distancias evaluadas.

46

Page 68: Optimización del uso de pivotes en tareas de búsqueda y ...

O11

O7 O1OO1 O5 O2O9 O8

O14 O6

O15 O6

O13 O3 O12

2 3 4 5 6

3 4

2 3

5 6 7

(a) BKT

O11 O1O10 O8

O14 O7O15 O4O6 O13

0 2 3 4 5 6 O2O9

3 4 5

O5 O3 O120 5 6 7

O11

O5

(b) FQT

O8O14 O7O15 O4O6 O13

0 2 3 4 5 6

O2O9

3 4 5

O5 O3 O125 0 6 7

O11

O5

O11

4

O1 O103 6

(c) FQTH

O11 O14 O7 O15 O4 O6 O1 O10 O13 O5 O3 O12 O2 O9 O8

0 2 2 2 2 2 3 3 4 4 4 4 5 5 6

4 3 3 4 5 5 3 6 5 0 6 7 7 7 7(d) FQA

Figura 3.7: Ejemplo tomado de (Chavez et al., 2001) de los algoritmos BKT,FQT, FHQT y FQA en su representacion del espacio metrico definido en lafigura 3.6(a). Para BKT, FQT b=2 y para FHQT, FQA h=2.

Approximating Eliminating Search Algorithm (AESA) (Vidal,1986): este algoritmo inicialmente propuesto por Vidal en 1986 y mo-dificado posteriormente en 1994, utiliza como ındice una matriz D endonde se almacenan las n(n − 1) distancias entre los n objetos de labase de datos X ∈ U . Al inicio de la busqueda se selecciona un objetop (pivote) al azar, se calcula la distancia entre este y la consulta q, yse eliminan aquellos objetos u ∈ X tal que |d(q, p)− d(p, u)| > r, sien-do r la distancia al vmc hasta el momento. La seleccion del siguiente

47

Page 69: Optimización del uso de pivotes en tareas de búsqueda y ...

pivote esta influida por el uso de una funcion que establece la cotainferior de la distancia calculada hasta el momento para cada objeto,la cual tambien sera utilizada para descartar los objetos. El procedi-miento termina cuando se han explorado todos los objeto de la basede datos, calculando distancias o evitando su calculo por haber sidodescartados. La caracterıstica fundamental de este algoritmo es que elnumero medio de distancias evaluadas durante la busqueda permanececonstante con respecto al tamano de la base de datos.Basados en este algoritmo se han desarrollado otros algoritmos con elobjetivo de disminuir el coste espacial, como el LAESA (Mico et al.,1994), disminuir el coste extra de CPU como el ROAESA (Vilar,1995) y disminuir el numero de distancias evaluadas como el iAE-SA (Figueroa et al., 2006, 2009). Estos algoritmos, por la importanciaque tienen en esta tesis, se describen detalladamente en la seccion 3.2.

OMNI secuencial (OMNI-S) (Filho et al., 2001): este algoritmo secaracteriza por seleccionar un conjunto P = {p1...pk} de k pivotes dela base de datos X, con pi ∈ X (llamados focos por los autores) paracalcular las coordenadas OMNI 1 de cada uno de los objetos de X dela siguiente forma: ∀u ∈ X, C(u) = {d(u, p1), d(u, p2), · · · , d(u, pk)},donde C(u) contiene la distancia del objeto u a cada uno de los pivotes.Este algoritmo construye un ındice muy similar al LAESA, aunque di-fiere en la etapa de busqueda (Filho et al., 2001). La busqueda se com-porta casi como la busqueda exhaustiva, sobre la que solo se incluyendos modificaciones:

1. se calculan las coordenadass OMNI al objeto de la consulta q;

2. antes de calcular la distancia a un objeto u de la base de datosse verifica si ∃pi tal que |Ci(u) − Ci(q)| < r, donde r es el rangode la consulta. En este caso, el objeto u es descartado y no secalcula la distancia a la consulta q.

OMNIB-tree (OMNI-B) (Filho et al., 2001): este algoritmo se basaen el mismo concepto de coordenadas OMNI. Su diferencia respecto alanterior radica en que estas coordenadas son almacenadas en k B+-trees, uno para cada pivote. El proceso de busqueda consiste en re-cuperar para cada B+-tree todos los objetos que estan en el intervalo[Ci(q) − r, Ci(q) + r], y solo a los objetos que se encuentren en la in-terseccion se les calcula la distancia a la consulta q. Este metodo hasido propuesto para la busqueda por rango, pero es posible extender-lo con algunas modificaciones para la busqueda del vecino mas cercano.

1representacion del objeto en un espacio de vectores con dimension k

48

Page 70: Optimización del uso de pivotes en tareas de búsqueda y ...

Figura 3.8: Taxonomıa de los algoritmos mas representativos de la familiabasada en pivotes.

3.2. Familia de algoritmos AESA

Ramasubramanian and Paliwal (2000) realizaron un estudio detalladosobre la estrategia de busqueda del vmc utilizando el criterio de aproxi-macion y eliminacion, que es la base de los algoritmos de la familia AESA.El esquema general de busqueda por aproximacion y eliminacion puede re-sumirse como:

1. Aproximacion: de entre los objetos de la base de datos X ⊂ U seselecciona un candidato s como vmc a una consulta q. El criterio paraseleccionar el candidato s puede variar de unos algoritmos a otros.

2. Calculo de la distancia: se calcula la distancia entre el objeto sseleccionado y la consulta q, d = d(q, s).

3. Actualizacion del vmc: si la distancia calculada es menor que la delvmc hasta el momento, r, se actualiza esta distancia.

4. Eliminacion: se eliminan de la base de datos para las siguientes itera-ciones aquellos objetos que no puedan estar dentro de la hiperesferade radio r y con centro en la consulta q. Es decir, se eliminan aque-llos objetos que no puedan estar mas cerca de la consulta que el vmcactual, evitando de esta forma calculos de las distancias a la consultaq.

49

Page 71: Optimización del uso de pivotes en tareas de búsqueda y ...

5. Ciclo: se repiten los pasos del 1 al 4 hasta que no queden objetos porseleccionar en la base de datos.

Los algoritmos de la familia AESA (Vidal, 1986), (Mico et al., 1994),(Vilar,1995), (Moreno-Seco et al., 2002), (Figueroa and Kimmo, 2007) y (Figueroaet al., 2009), se caracterizan por calcular un numero reducido de distanciasque en muchos casos no depende del tamano de la base de datos. Estacaracterıstica los convierte en objeto de interes en esta investigacion. Acontinuacion se describen algunos de los representantes mas importantesde dicha familia, y al final de la seccion se realiza una comparacion de losmismos.

3.2.1. AESA

El algoritmo AESA propuesto originalmente en Vidal (1986) (vease Algo-ritmo 1), durante la etapa de preproceso construye una matriz de distanciasD en la que se almacena la distancia entre todos los objetos de la base dedatos X. Durante la busqueda se utiliza una funcion G que representa lacota inferior de la distancia de cada objeto u ∈ X a la consulta q. En la fasede aproximacion se selecciona como candidato a vmc el objeto s de menorvalor utilizando la funcion G (lınea 4). Esta cota inicialmente es igual a ceroy se va actualizando en cada iteracion de la fase de busqueda utilizando lasiguiente ecuacion:

G(u) = maxs∈V

(G(u), |d(q, s) −D(s, u)|), (3.7)

donde V son los candidatos a vmc seleccionados en iteraciones anteriores ypor lo tanto, de los que ya se conoce su distancia a la consulta q. Esta actua-lizacion consigue que la cota sea cada vez mas precisa, ya que V contiene encada iteracion un objeto mas con el que realizar el calculo.En la figura 3.9 se puede ver una ilustracion grafica de este criterio de aprox-imacion. Los puntos negros son los objetos seleccionados como candidatosen cada paso. Por ejemplo, en el primer paso el candidato es seleccionadoaleatoriamente entre todos objetos de la base de datos, en este caso p4. Uti-lizando la distancia de p4 al resto de los objetos, almacenada en la matrizD (representadas en la figura con lıneas discontinuas), se actualiza la cotainferior de la distancia para cada uno de los objetos (flechas que parten decada uno de los objetos, en este paso las de color verde). Se selecciona p5como siguiente candidato al ser el de menor valor de cota en este paso, ydespues p6.

50

Page 72: Optimización del uso de pivotes en tareas de búsqueda y ...

paso 1

paso 3paso 2x

p3

p4

p5

p6

p1

p2

p7

Figura 3.9: Criterio de aproximacion en utilizado por AESA. En cada paso,se selecciona como objeto candidato aquel que tiene un menor valor de lafuncion cota inferior de la distancia (flecha mas larga en cada uno de losobjetos). Los puntos negros son los objetos seleccionados como candidatosen cada paso, p4, p5, p6 en cada caso.

Algoritmo 1: AESA

Entrada:X: base de datos;q: consulta;D ∈ R

|X|×|X|: matriz de distancias;Salida:

pmin ∈ X: vmc a q;r = ∞;1

para todo u ∈ X hacer G(u) = 0;2

mientras X 6= ∅ hacer3

s = argminu∈XG(u); // aproximacion4

X = X − {s};5

d = d(q, s);6

si d < r entonces pmin = s; r = d;7

para todo u ∈ X hacer8

G(u) = max(G(u), |D(u, s) − d|);9

si G(u) ≥ r entonces X = X − {u}; // eliminacion10

fin11

fin12

51

Page 73: Optimización del uso de pivotes en tareas de búsqueda y ...

En la fase de eliminacion, utilizando la desigualdad triangular, se eliminanpara las siguientes iteraciones todos los objetos que no pueden estar mascercanos a la consulta q que el actualmente seleccionado como tal, es decir,todos los objetos cuya cota inferior (G) sea mayor que la distancia a la con-sulta del vmc hasta el momento (lınea 10). El procedimiento termina cuandola base de datos se ha recorrido completamente eliminando o calculando ladistancia a los objetos.Aunque este algoritmo tiene una complejidad espacial cuadratica con re-specto al tamano de la base de datos, el numero medio de distancias quese calcula para encontrar el vmc es constante con el tamano de la base dedatos. Debido a esto, este algoritmo esta especialmente indicado cuando elcoste de la distancia es muy elevado, siendo inadecuado cuando las distan-cias “son baratas”, como ocurre por ejemplo cuando utilizamos la metricade Minkowski en dimensionalidades no muy elevadas (la actualizacion de lacota ya tiene un coste similar al de la propia distancia). Algunos ejemplosde metricas donde este algoritmo es interesante son: la distancia de edicionentre cadenas, arboles o grafos (Navarro, 2001, Bille, 2005, Gao et al., 2010),distancia entre siluetas (shape distances)(Belongie et al., 2002).

3.2.2. LAESA

El LAESA fue propuesto por Mico et al. (1994), con el objetivo de mejo-rar el problema de la complejidad espacial cuadratica presente en el AESA(vease Algoritmo 2). Para ello, en la etapa de preproceso se elige un conjuntoreducido de objetos de la base de datos, llamados prototipos base (pivotes),se calcula la distancia de cada prototipo base a todos los demas objetos dela base de datos, y se almacenan estas distancias en una matriz D. Duranteel proceso de busqueda los primeros candidatos a vmc se buscan entre losprototipos base, ya que estos son los que permitiran la actualizacion de lacota G de cada objeto de la base de datos a la muestra q. Cuando se hanseleccionado todos los prototipos base, ya no es posible actualizar las cotasy comienza un proceso de busqueda del vmc con un procedimiento similaral AESA, con la diferencia de que ahora no se actualizan las cotas ya queno se dispone de la informacion necesaria en la matriz de distancias D.El numero de distancias que calcula LAESA es siempre superior al AESA,pero con un comportamiento similar, es decir, el numero medio de distanciasque se calcula permanece casi constante con respecto al tamano de la basede datos. Este numero depende tambien del tamano del conjunto de pro-totipos base y de la forma de seleccionarlos. Mico realizo un amplio estudiosobre este problema llegando a la conclusion de que el numero optimo deprototipos base depende de la dimensionalidad de los datos, y que el mejorcomportamiento se obtiene cuando los prototipos base se eligen de formaque esten lo mas alejado posible entre sı (Mico, 1996). En el mismo trabajose presentan varios algoritmos que obtienen estos conjuntos de una forma

52

Page 74: Optimización del uso de pivotes en tareas de búsqueda y ...

muy eficiente a traves del uso de una tecnica voraz (vease la seccion 3.5.2).

Algoritmo 2: LAESA

Entrada:X: base de datos;q: consulta;B ⊂ X: conjunto de prototipos base;D ∈ R

|X|×|B|: matriz de distancias;Salida:

pmin ∈ X: vmc a q;r = ∞;1

s = p ∈ B; // seleccionado de forma aleatoria de PB2

para todo u ∈ X hacer G(u) = 0;3

mientras X 6= ∅ hacer4

d = d(q, s);5

X = X − {s};6

si d < r entonces pmin = s; r = d;7

sigB = desconocido; gB = ∞;8

sig = desconocido; g = ∞;9

para todo u ∈ X hacer10

si s ∈ B entonces G(u) = max(G(u), |D(u, s) − d|);11

si G(u) ≥ r entonces12

X = X − {u}; // eliminacion13

fin14

sino15

si u ∈ B entonces16

si G(u) < gB entonces17

gB = G(u); // aproximacion usando B18

sigB = u;19

fin20

fin21

sino22

si G(u) < g entonces23

g = G(u); // aproximacion usando {X −B}24

sig = u;25

fin26

fin27

fin28

fin29

si sigB 6= desconocido entonces s = sigB ; // si quedan B30

sino s = sig;31

fin32

53

Page 75: Optimización del uso de pivotes en tareas de búsqueda y ...

3.2.3. TLAESA

Esta algoritmo propuesto tambien por Mico (1996) es una variante delLAESA pero que, a diferencia de este, almacena los objetos en un arbol. Estarepresentacion permite evaluar un numero reducido de distancias (aunquesuperior al AESA y LAESA) con una complejidad temporal sublineal.Durante la fase de preproceso, primero se seleccionan los prototipos base yse calculan las distancias a todos los objetos de la base de datos, igual queen el LAESA. A continuacion se construye un arbol binario de la siguientemanera: se elige de forma aleatoria un objeto p de la base de datos como re-presentante de la raız del arbol. Se construyen dos subarboles recursivamente(Si y Sd). El subarbol izquierdo Si tendra como representante el prototipomas alejado al representante de su padre (Mi), mientras que el subarbolde la derecha tendra como representante el mismo que el padre (Md). Elconjunto de objetos del hijo de la derecha esta formado por los objetos queestan mas cerca de Md que de Mi, y el conjunto de prototipos del hijo dela izquierda estara formado por el resto del conjunto. Este procedimientose repite para cada subarbol hasta que se llega a un conjunto formado porun unico prototipo, que sera una hoja en el arbol. Para cada nodo del arbolconteniendo un conjunto S de objetos y con un representante M , se calculasu radio como R = maxp∈S d(p,M).Los Algoritmos 3 y 4 muestran el procedimiento de busqueda del algoritmoTLAESA. El principio de la fase de busqueda es similar al de LAESA: secalculan las distancias de la muestra q a los prototipos base y se utilizanpara obtener una cota inferior de la distancia G (lıneas 3-6 del Algoritmo3). A continuacion, se busca recursivamente en el arbol utilizando las cotasy los radios asociados a cada nodo, se eliminan aquellos subarboles que nopueden contener al vmc. Cuando se llega a una hoja, si su cota es inferiora la distancia al mas cercano hasta el momento, se calcula la distancia a lamuestra q y se actualiza el vecino mas cercano (vease Algoritmo 4).

54

Page 76: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 3: TLAESA

Entrada:T : arbol con raız t construido a partir de la base de datos X;q: consulta;B ⊂ X: conjunto de prototipos base;D ∈ R

|X|×|B|: matriz de distancias;Salida:

pmin ∈ X: vmc a q;r = ∞;1

Gt = 0; // cota inferior del representante de t (raız de T)2

para todo p ∈ B hacer3

si V (p) < r entonces r = V [p], pmin = p;4

Gt = max(Gt, |D(t, p) − V (p)|);5

fin6

buscarTLAESA(q, t, Gt, pmin, r);7

Algoritmo 4: buscarTLAESA

Entrada:q: consulta;t: nodo del arbol construido a partir de la base de datos X;Gt: cota inferior de la distancia de t;r : distancia al vmc actual;

Entrada-Salida:pmin ∈ X: vmc a q;

si EsHoja(t) entonces1

si Gt < r entonces2

d = d(q, t);3

si d < r entonces r = d; pmin = t;4

fin5

fin6

sino7

ti = HijoIzquierdo(t);8

td = HijoDerecho(t); // obtencion de representantes9

si gi ≤ gt entonces10

si r +Ri > gi entonces buscarTLAESA(q, ti, gi, pmin, r);11

si r +Rd > gd entonces buscarTLAESA(q, td, gd, pmin, r);12

fin13

sino14

si r +Rd > gd entonces buscarTLAESA(q, td, gd, pmin, r);15

si r +Ri > gi entonces buscarTLAESA(q, ti, gi, pmin, r);16

fin17

fin18

55

Page 77: Optimización del uso de pivotes en tareas de búsqueda y ...

3.2.4. Dividiendo AESA (PAESA)

Otra variante para reducir el coste espacial del AESA es el PAESA(Figueroa and Kimmo, 2007). En ese trabajo se propone dividir la basede datos en m bloques de tamano n

m objetos (n representa la cantidad deobjetos en la base de datos original). La construccion de los m bloques tiene

un coste espacial de O(n2

m ). En este caso para responder a una consulta sedebe ejecutar AESA m veces. Sin embargo, segun lo planteado por los au-tores, para valores de m razonablemente pequenos, este algoritmo podrıaseguir siendo competitivo frente a muchos algoritmos que solo tienen uncoste espacial O(n). PAESA reduce el uso del espacio de AESA por un fac-tor m, tratando de mantener el rendimiento de la busqueda mejor que mveces el coste de AESA.

3.2.5. Binary/Bounded AESA (BAESA)

Este algoritmo (Figueroa and Kimmo, 2007) tiene como objetivo reducirel coste espacial de AESA. En este caso se propone calcular y almacenar,para cada objeto ui de la base de datos X ⊂ U , b valores de cotas dela distancia de ui al resto de los objetos de X en una matriz Dn,b. Estascotas se almacenan ascendentemente, es decir Di,h < Di,h+1. Se exige queel ultimo valor de la cota de distancia para cada objeto ui cumpla queDi,b−1 ≥ d(ui, uj) ∀j ∈ X. Teniendo en cuenta esto, es posible asumir queDi,b = ∞ y no es necesario almacenarlo. El espacio ocupado por D es n× b,donde n es el numero de objetos en X. Si se establecen los mismos valoresde las b cotas de distancias para los n objetos de la base de datos, el espacioutilizado se reduce a b distancias en total.Ademas de la matriz D, se construye un ındice M donde se establece, apartir de las cotas almacenadas en D, la cota superior de la distancia decada objeto u ∈ X al resto de los objetos en X, es decir:

Mi,j = {mınh} | d(ui, uj) < Di,h}. (3.8)

Cada entradaMi,j ocupa log2(b) bits, y en total n2 log2(b) ademas del espaciorequerido para almacenar D.El algoritmo de busqueda es similar al empleado por el AESA, con la diferen-cia de que no se conoce el valor exacto de las distancias entre los elementosde la base de datos, solo los lımites inferiores y superiores (vease Algoritmo5). Se modifica el criterio de poda, y por el Lema 3 definido en la seccion2.5, se podan aquellos objetos u que cumplen la siguiente condicion:

max{d(q, s)−Ds,h,Ds,h−1 − d(q, s)} > r,

siendo h = Mp,u y s el pivote actual.Este algoritmo reduce el espacio de almacenamiento, calculando un numero

56

Page 78: Optimización del uso de pivotes en tareas de búsqueda y ...

mayor de distancias que el AESA. Este valor depende de b y de la dimensiondel espacio. Segun los resultados presentados por los autores, es recomen-dable utilizar valores de b entre 2 y 16, y seleccionar las cotas de distanciautilizando intervalos de igual longitud.

Algoritmo 5: BAESA

Entrada:X: base de datos;q: consulta;M ∈ N

|X|×|X|: ındice de la matriz de cotas de distancias;D ∈ R

|X|×b: matriz de cotas de distancias;Salida:

pmin ∈ X: vmc a q;r = ∞;1

para todo u ∈ X hacer G(u) = 0;2

mientras X 6= ∅ hacer3

s = argminu∈XG(u); // aproximacion4

X = X − {s};5

d = d(q, s);6

si d < r entonces pmin = s; r = d;7

para todo u ∈ X hacer8

G(u) =9

max(G(u),max(|d−D(s,M(s, u))|, |D(s,M(s, u) − 1)− d|));si G(u) ≥ r entonces X = X − {u}; // eliminacion10

fin11

fin12

3.2.6. Reduced Overhead AESA (ROAESA)

El ROAESA fue desarrollado por Vilar (1995) con el objetivo de reducirlos costes asociados a la seleccion del candidato a vmc y a la actualizacionde la cota inferior de la distancia. Este algoritmo utiliza una heurıstica paraeliminar recorridos innecesarios en la base de datos. Sin embargo, este crite-rio solo es valido para la busqueda de los vmc, ya que no obtiene los mismosresultados en la busqueda por rango.En tiempo de preproceso, ROAESA ordena ascendentemente en una lista Llos objetos de la base de datos segun la distancia a un objeto selecciona-do aleatoriamente. Durante la busqueda se utiliza esta lista ordenada paraidentificar los objetos que podrıan ser seleccionados como candidatos en esaiteracion. Solo se actualiza la cota inferior de la distancia a estos objetos ya los que han sido seleccionados precandidatos anteriormente. Entre ellos seselecciona el siguiente candidato. En el Algoritmo 6 se presenta en detalleeste algoritmo.Segun su autor este algoritmo calcula el mismo numero de distancias que el

57

Page 79: Optimización del uso de pivotes en tareas de búsqueda y ...

AESA con un coste sublineal (Vilar, 1995).

Algoritmo 6: ROAESA

Entrada:X: base de datos;q: consulta;D ∈ R

|X|×|X|: matriz de distancias;L: lista ordenada de X por la distancia al primer elemento;

(prim);Salida:

pmin ∈ X: vmc a q;para todo u ∈ X hacer G(u) = 0;1

r = d(prim, q); pmin = prim;2

s = argmins∈L|r −D(prim, s)|;3

P = {s}; // lista de posibles candidatos4

mientras P 6= ∅ hacer5

d = d(q, s);6

si d < r entonces pmin = s; r = d;7

para todo p ∈ P hacer8

G(p) = max(G(p), |D(p, s) − r|);9

si G(p) ≥ r entonces P = P − {p}; // eliminacion10

sino11

si G(p) < min entonces12

min = G(p); s = p;13

fin14

fin15

fin16

mientras ∃t ∈ L : |d(prim, t)−D(first, t)| < mın(r,G(s)) hacer17

t = argmint∈L|d(prim, t)−D(first, t)|;18

L = L− {t};19

G(t) = maxp∈P (G(t), |D(t, p) − d|);20

si G(t) < r entonces21

P = P + {t};22

si G(t) < G(s) entonces s = t;23

fin24

fin25

fin26

3.2.7. iAESA

El algoritmo iAESA propuesto por Karina Figueroa en 2007 esta basadoen AESA, diferenciandose de este en el criterio de aproximacion empleadopara seleccionar el proximo candidato a vmc (vease Algoritmo 7)(Figueroa,

58

Page 80: Optimización del uso de pivotes en tareas de búsqueda y ...

2007, Figueroa et al., 2009). En iAESA se utiliza para aproximar la simili-tud entre permutaciones la metrica Spearman Footrule, descrita en la seccion2.2.4. Esto es, en lugar de elegir como candidato el elemento u que minimicela cota inferior de la distancia a la consulta q (G(u)), elige el que minimicela diferencia entre permutaciones SFD(Lq, Lu). Las permutaciones Lq y Lu

se forman ordenando ascendentemente los candidatos a vmc, usados en lasiteraciones anteriores, segun la distancia a q y u, respectivamente. Por lotanto, las permutaciones se actualizan cada vez que se selecciona un nuevocandidato a vmc.El algoritmo es practicamente el mismo que el de AESA: se inicializa a ceroel valor de Footrule de cada elemento; cada vez que se escoge un nuevo can-didato a vmc s se actualiza la permutacion de todos los objetos de la base dedatos y de la consulta q; se recalcula el valor del Spearman Footrule; el restodel proceso es el mismo. El coste de la busqueda es el mismo que AESA masel coste por mantener actualizadas las permutaciones en cada iteracion.Los autores tambien demuestran que la utilizacion de la similitud entrepermutaciones permite disminuir el numero de distancias evaluadas por elAESA para espacios con una alta dimension de los datos (Figueroa, 2007,Figueroa et al., 2009). Ademas se puede comprobar que el coste de mantenerla lista de permutaciones actualizadas aumenta considerablemente el costetemporal de la busqueda.

59

Page 81: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 7: iAESA

Entrada:X: base de datos;q: consulta;D ∈ R

|X|×|X|: matriz de distancias;Salida:

pmin ∈ X: vmc a q;r = ∞;1

Lq = ∅; // lista de permutantes de q2

para todo u ∈ X hacer3

G(u) = 0; F (u) = 0; // Spearman Footrule actual4

Lu = ∅; // lista de permutantes de u5

fin6

mientras X 6= ∅ hacer7

s = argminu∈XF (u); // aproximacion8

X = X − {s};9

d = d(q, s);10

insertar(s, Lq);11

si d < r entonces pmin = s; r = d;12

para todo u ∈ X hacer13

G(u) = max(G(u), |D(u, s) − d|);14

si G(u) ≥ r entonces X = X − {u}; // eliminacion15

sino16

insertar(s, Lu);17

F (u) = SFD(Lu, Lq); // actualizacion SF18

fin19

fin20

fin21

3.2.8. Analisis comparativo de los algoritmos de la familiaAESA

Todos los algoritmos descritos en las secciones anteriores siguen la es-trategia de aproximacion y eliminacion y basan su propuesta en solucionaralgunas de las deficiencias del AESA. Entre las principales deficiencias de-tectadas al AESA se encuentran:

Coste espacial cuadratico: los algoritmos LAESA, BAESA, TLAE-SA y PAESA enfocan su propuesta de solucion en reducir este costeespacial, aunque con esto aumenta el numero de distancias calculadasdurante la busqueda.

Coste extra de CPU lineal: los algoritmos TLAESA y ROAESAabordan este aspecto. Ambos reducen el coste extra de CPU de lineal

60

Page 82: Optimización del uso de pivotes en tareas de búsqueda y ...

a sublineal. En el caso de TLAESA, ademas disminuye el coste espa-cial aunque aumenta el numero de distancias calculadas. El ROAESAcalcula el mismo numero de distancia y mantiene el coste espacial delAESA.

Numero de distancias calculadas: el AESA ha sido por muchosanos la referencia a tener en cuenta con respecto al numero de distan-cias calculadas, el iAESA es una propuesta enfocada a reducir estoscalculos, manteniendo el coste espacial e incrementando el coste extrade CPU en el calculo del Spearman Footrule.

Estos algoritmos han sido propuestos inicialmente para la busqueda del vmc,y muchos de ellos han sido extendidos a la busqueda de los k-vmc. En estetrabajo, por motivos de uniformidad, la extension utilizada para obtener losk-vmc en todos los algoritmos es la siguiente: se almacenan de forma ordena-da en una lista los k-vmc encontrados hasta el momento y posteriormente,en el paso de eliminacion, se compara la cota G con la del ultimo vecinoalmacenado, que en las primeras iteraciones puede no ser el k-esimo ya queno se habran calculado todavıa k distancias.Teniendo en cuenta que uno de los objetivos de esta tesis es reducir el tiem-po de respuesta de una consulta a partir de la reduccion del numero dedistancias a evaluar, los algoritmos propuestos se comparan solamente conlos principales exponentes de esta familia: AESA, iAESA y LAESA.

3.3. Analisis comparativo de los algoritmos basa-

dos en ındices

Los algoritmos expuestos en las secciones 3.1.1 y 3.1.2 tienen un objetivocomun: disminuir el tiempo de respuesta (T ) en una busqueda por simili-tud. Unos tratan de reducir el coste asociado a la funcion distancia (seccion3.1.1) y otros de disminuir el numero de distancias a evaluar (seccion 3.1.2).Independientemente del criterio utilizado, todos seleccionan un subconjuntoP de la base de datos X y calculan las distancias d(pi, u) ∀pi ∈ P, ∀u ∈ X,la diferencia radica en la forma en que utilizan estas distancias para reducirT .En los metodos basados en pivotes, en particular los que usan un numerofijo de pivotes para indexar el espacio (ej. FHQT, FQA, LAESA, OMNI),el calculo de la distancia de un objeto u ∈ X a cada pi ∈ P puede ser vistocomo una transformacion del objeto u a un espacio k-dimensional dondecada coordenada del vector serıa d(pi, u) y k el numero de pivotes selec-cionados. Esta transformacion se realiza en tiempo de preproceso, y durantela busqueda estas distancias son utilizadas para descartar algunos objetosde la base de datos sin calcular la distancia real a la consulta q.

61

Page 83: Optimización del uso de pivotes en tareas de búsqueda y ...

Los metodos basados en ındices utilizan en su mayorıa un arbol como es-tructura de datos para representar el ındice. Algunas excepciones son LC,AESA, LAESA, FQA, OMNI-sec, que utilizan arrays. Otro aspecto impor-tante es la seleccion de los pivotes o representantes. En algunos casos seseleccionan de un subconjunto de la base de datos (ej. BKT, VPT, MVPT ylos algoritmos descritos basados en particiones compactas), de toda la basede datos (ej. AESA, iAESA) y otros utilizan un numero fijo de pivotes (ej.FQT, FHQT, FQA, LAESA, OMNI-S, OMNI-B).Analizando el coste espacial y temporal asociado a cada de estos algoritmos,se puede apreciar que AESA e iAESA son los metodos que mayor memoriautilizan al almacenar una matriz de distancia entre todos los objetos de labase de datos, pero tambien son los que tienen menor coste temporal, medi-do en distancias calculadas, durante la busqueda. El resto de los algoritmosanalizados tratan de acercarse lo mas posible al rendimiento de AESA eiAESA pero utilizando menos espacio. Por ejemplo, es el caso de LAESAque solo almacena un subconjunto de esas distancias, otros como los basa-dos en particiones compactas dividen el espacio utilizando informacion quedespues pueda ser util durante la busqueda.En el trabajo de Figueroa (2007) se presenta un analisis comparativo exper-imental entre estos algoritmos en cuanto al espacio ocupado por el ındice yel numero de distancias calculadas. El espacio de representacion en dichosexperimentos fue un espacio vectorial euclıdeo del que se extrajo un conjuntosintetico a partir de una distribucion uniforme en el hipercubo unidad (comoel descrito en la seccion 2.7.1) con 100000 elementos para dimensiones 8 y20. Segun los resultados de estos experimentos AESA es, con diferencia, elque menos distancias calcula, aunque tambien es el que utiliza mayor espaciopara el ındice. En ese mismo trabajo se propone el iAESA, y al comparar losresultados a medida que aumenta la dimension del espacio, se puede obser-var que el iAESA reduce el numero de distancias calculadas por el AESA,aunque el coste extra de CPU durante la busqueda es mayor al ser necesariomantener el orden de las permutaciones. Ademas, el mantenimiento de esteorden se hace mas costoso a medida que se incrementa el numero de pivotesutilizados.Otro resultado importante que se obtiene del experimento desarrollado en eltrabajo de Figueroa (2007) es el analisis del comportamiento de los algorit-mos al aumentar la dimension de los datos. En todos los casos, a medida queaumenta la dimension el comportamiento es similar a la busqueda exhaustivaen cuanto al numero de distancias calculadas.

3.4. Algoritmos inexactos

Los algoritmos descritos en la seccion 3.1 son algoritmos exactos para labusqueda por similitud. Esto significa que el resultado obtenido (respuesta a

62

Page 84: Optimización del uso de pivotes en tareas de búsqueda y ...

la consulta) con estos algoritmos es el mismo que al utilizar la busqueda ex-haustiva. Sin embargo, ya es sabido que a medida que aumenta la dimensionde los datos empeora el rendimiento de estos algoritmos. Una propuesta quepretende aliviar esta situacion es la de utilizar algoritmos inexactos o aproxi-mados para recuperar los objetos mas similares. La busqueda por similitudaproximada tiene el objetivo de reducir el coste de las consultas de similitudmediante la relajacion de la exactitud en la respuesta. Esto significa que larespuesta obtenida con la busqueda inexacta en el caso del vmc, por ejem-plo, puede estar mas alejada de la consulta que lo que estarıa la respuestaal utilizar la busqueda exacta. En ese caso resulta necesario conocer el errorasociado a la busqueda inexacta. Existen diferentes medidas que permitencalcular el error y se definen segun el tipo de busqueda empleada. Estasmedidas se veran en la seccion 3.4.3 de este capıtulo.Recientemente se ha presentado un analisis detallado de los metodos actualesde la busqueda por similitud donde se plantea un esquema de clasificacionque tiene en cuenta cuatro aspectos: el tipo de espacio al que se aplica labusqueda, la forma en que se obtiene la aproximacion, las garantıas sobrela calidad del resultado y la interaccion con el usuario (Patella and Ciaccia,2008). Siendo para esta tesis la reduccion del coste de la busqueda un as-pecto esencial, esta seccion se centra en analizar tecnicas para obtener estaaproximacion.Los metodos de transformacion descritos en 3.1.1 pueden considerarse meto-dos inexactos cuando se utiliza un algoritmo de busqueda por similitud exac-to sobre un espacio transformado y la transformacion realizada no cumplecon las propiedades de contraccion y preservacion de la distancia.Otra forma de aproximacion consiste en reducir el numero de comparacionesa realizar. Esto es posible realizarlo siguiendo cualquiera de los siguientescriterios:

Poda agresiva: relaja las condiciones de poda de los algoritmos e-xactos, descartando aquellas regiones que tienen baja probabilidad decompartir objetos con la region definida por la consulta q (vease figura3.10).

Detencion temprana: se detiene la busqueda antes de explorar todala base de datos. Normalmente se utiliza una condicion para detenerla busqueda.

A continuacion se presentan algunos ejemplos de los mismos.

63

Page 85: Optimización del uso de pivotes en tareas de búsqueda y ...

q

R1

R3

R2

Figura 3.10: Una estrategia de busqueda aproximada empleando poda agre-siva para una consulta q por rango deberıa descartar las regiones R1 y R3

ya que no comparten objetos con la region definida por la consulta q.

3.4.1. Metodos que utilizan poda agresiva

Los algoritmos exactos utilizan los criterios enunciados en los Lemas 2-4,descritos en la seccion 2.5, para realizar el descarte de objetos durante lafase de busqueda. Los algoritmos inexactos que usan la poda agresiva sebasan precisamente en relajar esos lımites, para descartar mayor cantidadde objetos durante la busqueda de la respuesta.Una de las formas mas utilizadas para relajar las condiciones de busquedaes la conocida como el (1+ε) vecino mas cercano. Consiste en obtener comorespuesta a la consulta aproximada del vmc de q un elemento uA que seencuentre a (1 + ε)d(u, q), donde u es el vmc en la busqueda exacta. Luegod(uA,q)d(u,q) ≤ 1+ε, por lo que el resultado encontrado es (1+ε) veces mayor quela distancia exacta al vmc. Si aplicamos esto, por ejemplo, a las condicionesde poda establecidas en los Lemas 2 y 3, estas quedan de la siguiente forma:

r

|d(q, p) − d(p, u)|≥ 1 + ε, condicion de eliminacion Lema 2,

r

d(q, p)− rc≥ 1 + ε, condicion de eliminacion Lema 3.

En el trabajo de Arya et al. (1994) se propone el Balanced Box-Decompositiontree, metodo cuya estructura se basa en un kd-tree, y obtiene los (1+ε) vmc.Otro criterio utilizado para relajar las condiciones de busqueda consiste enreducir el valor de r (rango de la consulta) por un factor β, por ejemplo|d(p, q)− d(p, u)| ≥ r

β . El Streching (Chavez and Navarro, 2001) utiliza esta

64

Page 86: Optimización del uso de pivotes en tareas de búsqueda y ...

opcion y logra aumentar la poda de objetos a medida que aumenta la di-mension del espacio, segun los autores.Una idea similar es utilizada en el TLAESA aproximado (Tokoro et al.,2006), variante aproximada del TLAESA donde se descartan los objetosu ∈ X tal que la cota inferior de la distancia a la consulta (G(u)) cumplaque G(u) > αr, siendo α un valor entre 0 y 1.En otros casos se reduce el valor de r a traves de la definicion de unparametro holgura (h), donde h se puede estimar a partir de la llamada“holgura de la desigualdad triangular” (Vidal et al., 1988). Esta holgurase utiliza tambien para mejorar el rendimiento del LAESA al descartar loselementos que cumplan que G(u) > r − h (Mico, 1996).

3.4.2. Metodos que utilizan detencion temprana

Estos metodos finalizan la busqueda sin haber analizado toda la basede datos, sino cuando han encontrado una solucion que satisface al usuario.Una variante es utilizar informacion sobre la distribucion de distancias paradetener la busqueda cuando la probabilidad de encontrar un mejor resulta-do no es mayor que un umbral establecido por el usuario. Para el M-Treese ha propuesto una variante que implementa este metodo (Zezula et al.,1998). Otra variante tambien propuesta en ese trabajo consiste en detenerla busqueda simplemente cuando la mejorıa obtenida en la distancia mınimaesta por debajo de un lımite establecido por el usuario.El AK-LAESA (Moreno Seco et al., 2003) se propuso como una extensiondel LAESA para encontrar los k-vmc aproximados y donde se comparan losobjetos de la base de datos previamente ordenados ascendentemente segunla cota inferior de la distancia de cada elemento a la consulta. La busquedase detiene cuando la cota inferior es mayor que la distancia al vmc encon-trado hasta el momento.La variante mas simple es la utilizada por el iAESA aproximado (Figueroa,2007), el cual detiene la busqueda cuando se ha explorado un porcentaje dela base de datos, porcentaje especificado por el usuario.

3.4.3. Criterios para medir la eficacia de la busqueda apro-ximada

Un problema fundamental para la busqueda aproximada es como evaluarla calidad de los resultados obtenidos. Esto generalmente se realiza compara-ndo los resultados de los algoritmos aproximados y exactos. En el trabajo deZezula et al. (2006) se describen algunos de los criterios mas utilizados. Porejemplo se plantea el uso de indicadores como precision (P ) y cobertura (C)como medidas iniciales para evaluar la eficacia de la busqueda aproximada.Estas se definen de la siguiente forma:

65

Page 87: Optimización del uso de pivotes en tareas de búsqueda y ...

P =|S ∩ SA|

|SA|, (3.9)

C =|S ∩ SA|

|S|, (3.10)

donde S es el conjunto de respuestas de la busqueda exacta y SA el conjuntode las respuestas de la busqueda inexacta.Sin embargo, estos criterios no son validos cuando estamos hablando de labusqueda del vmc. Por ejemplo, si realizamos una busqueda del vmc utilizan-do dos algoritmos aproximados diferentes (A1 y A2), y con A1 obtenemos envez del vmc el segundo vmc, y con A2 obtenemos el quinto vmc, en amboscasos la precision y la cobertura es cero, sin embargo el algoritmo A1 obtuvouna respuesta mas cercana a la obtenida por el algoritmo exacto. En estoscasos hay que utilizar otras medidas como el error relativo. Es decir, en loscasos en que no se obtuvo una respuesta correcta, se evalua cuan distantees la obtenida de la real. En la actualidad no existe un criterio uniformepara evaluar el error relativo, aunque se puede decir que basicamente sedividen en: 1) criterios que utilizan la distancia, 2) criterios que utilizan laposicion en que es encontrada la respuesta correcta. A continuacion se des-criben algunos de los criterios de medida que han aparecido en la literaturaen funcion del tipo de consulta.

Error relativo basado en distancias. Estos criterios pueden serempleados para medir el error relativo de algoritmos aproximados querecuperen los k-vmc. Para el caso particular del vmc se puede utilizarel siguiente criterio (Arya et al., 1994):

ER =d(q, vmcA)

d(q, vmc)− 1. (3.11)

Este criterio es extendido para los k-vmc, con tres variantes: el maximoerror entre los k-vmc obtenidos por la busqueda aproximada y losobtenidos por la exacta, el promedio de estos errores, o solo utilizar elk-esimo error:

ER =k

maxi=1

{

d(q, vmcAi )

d(q, vmci)− 1

}

(3.12)

ER =1

k

k∑

i=1

(

d(q, vmcAi )

d(q, vmci)− 1

)

(3.13)

ER =d(q, vmcAk )

d(q, vmck)− 1. (3.14)

66

Page 88: Optimización del uso de pivotes en tareas de búsqueda y ...

Error relativo basado en la posicion (Zezula et al., 2006). En estecaso, el error se obtiene al comparar las discrepancias en el orden delos resultados obtenidos en la busqueda entre los algoritmos exactos yaproximados. Si como resultado de ambos algoritmos se obtiene unalista ordenada segun la distancia a la consulta q de toda la base dedatos X, se puede calcular el error entre el resultado obtenido porel algoritmo exacto (S) y el aproximado (SA) calculando la distanciaSpearman Footrule (SFD) descrita en la seccion 2.2.4. En la practicano es posible utilizar esta distancia ya que asume que las listas S y SA

contienen los mismos objetos, sin embargo el algoritmo aproximadosolo obtiene un subconjunto ordenado de la base de datos (SA ⊂ X).El Spearman Footrule puede ser generalizado para comparar solo conun subconjunto ordenado de los objetos. Esta generalizacion se conocecomo el Induced Footrule:

IFD =

|SA|∑

i=1

|S(xi)− SA(xi)|, (3.15)

y el error relativo basado en la posicion se obtiene al normalizar el IFDpor |X||SA|

ERP =

∑|SA|i=1 |S(xi)− SA(xi)|

|X||SA|. (3.16)

3.5. Metodos para la seleccion de pivotes

En todos los algoritmos descritos en las secciones anteriores resulta nece-sario seleccionar un conjunto de objetos de la base de datos, ya sea para rea-lizar una transformacion a otro espacio de representacion, o como pivotespara crear un ındice que permita agilizar la busqueda.La eficiencia de estos algoritmos dependera no solamente del numero de ob-jetos seleccionados, sino tambien de su localizaciom respecto al resto de losobjetos de la base de datos. Esta cuestion ha sido reconocida y demostradaen diferentes investigaciones, por ejemplo: Shapiro (1977), Yianilos (1993),Bozkaya and Ozsoyoglu (1999). En el trabajo de Bustos et al. (2003) seproponen varias estrategias para la seleccion de pivotes. El autor sugiereademas un criterio de eficiencia para comparar dos conjuntos de pivotes yseleccionar el mejor entre ambos. Los resultados de estos trabajos sugierenque se pueden obtener mejoras en la busqueda si:

los pivotes estan situados lo mas alejado posible del resto de los objetosde la base de datos;

los pivotes estan situados lo mas alejado posible entre sı.

67

Page 89: Optimización del uso de pivotes en tareas de búsqueda y ...

A continuacion se presentan algunos de los metodos mas utilizados para se-leccionar objetos de una base de datos como pivotes. La decision de cualusar en cada caso dependera del objetivo concreto para el que se utilicenestos objetos.

3.5.1. Seleccion aleatoria (SAP)

Esta tecnica es muy simple, los pivotes son seleccionados al azar. A pesarde su simplicidad ha sido ampliamente utilizada en la literatura.

3.5.2. Seleccion de outliers

Este metodo propuesto por Mico (1996) selecciona los pivotes de maneraincremental, de forma que estos se encuentren muy separados entre ellos ytambien respecto al resto de los objetos de la base de datos. Se comienzaseleccionando el primer pivote al azar (p1) y despues se pueden seguir dosestrategias para seleccionar el resto de los pivotes:

1. Maximo del mınimo de las distancias (MMD):

pi = argmaxu∈(X−{p1,...,pi−1})

(

i−1mınj=1

d(u, pj)

)

(3.17)

2. Maximo de la suma de las distancias (MSD):

pi = argmaxu∈(X−{p1,...,pi−1})

i−1∑

j=1

d(u, pj)

, (3.18)

donde X es la base de datos y Pi = {p1, p2, ..., pi} los pivotes seleccionadoshasta el momento. Este criterio es muy utilizado por los metodos de embed-ding y por la mayorıa de los algoritmos de la familia AESA para seleccionarlos objetos que se utilizaran como pivotes.

3.5.3. Seleccion espacial de pivotes dispersos (SED)

Este metodo selecciona de forma dinamica un conjunto de objetos uni-formemente distribuidos en el espacio (Brisaboa et al., 2006). Inicialmenteel conjunto de pivotes contiene solo un objeto escogido de forma aleatoriade la base de datos. El resto de objetos son elegidos de forma que cumplanque su distancia a cualquiera de los prototipos ya seleccionados sea mayoro igual a una fraccion (α) de la distancia maxima (M) entre los objetos dela base de datos. Esta restriccion garantiza que todos los pivotes esten biendistribuidos en todo el espacio. El parametro α se elige generalmente en elintervalo [0.35, 0.40]. En este metodo los pivotes no estan muy lejos unosde otros ni muy lejos del resto de los objetos en la base de datos, pero sudistribucion cubre todo el espacio (vease Algoritmo 8).

68

Page 90: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 8: SED

Entrada:X: base de datos;α ∈ R: fraccion de X a comparar;M ∈ R: distancia maxima entre todos los objetos de X;

Salida:P ⊂ X: lista de pivotes;

P = {u1};1

para todo u ∈ X hacer2

si ∀p ∈ P d(p, u) ≥ αM entonces P = P + {u};3

fin4

3.5.4. Seleccion dinamica de pivotes (SDP)

Este metodo es una extension del metodo SED descrito en la seccionanterior (Bustos et al., 2008). A diferencia del anterior, antes de agregar unnuevo objeto a la lista de pivotes, este metodo comprueba si existe algun pi-vote de los ya seleccionados cuya contribucion sea mas baja que la del nuevocandidato (se utiliza el criterio de eficiencia definido en el trabajo de Bustoset al. (2003)), reemplazandolo entonces. Sin embargo, si el nuevo pivote esredundante con respecto al resto de los pivotes, lo descarta inmediatamente(vease Algoritmo 9).Como en el caso de SED, para que un objeto u ∈ X sea considerado can-didato debe cumplir que d(u, p) > αM, ∀p ∈ P , siendo P el conjunto depivotes previamente seleccionados (lınea 2 del Algoritmo 9). La idea delalgoritmo consiste en que los c primeros objetos de la base de datos quecumplen d(u, p) > αM, ∀p ∈ P , son directamente considerados como pivo-tes (c es una constante que los autores recomiendan tome valores pequenosen el intervalo [2, 5]). En el caso en que el numero de pivotes previamente se-leccionados sea mayor que c y u cumpla la condicion d(u, p) > αM, ∀p ∈ P ,se calcula la contribucion de u al conjunto de pivotes P (lınea 7), compro-bando si es mayor que la del pivote que menos contribuye hasta el momento(vıctima). En este caso se sustituye este pivote por el nuevo (lınea 9), de locontrario el candidato se inserta como pivote (lınea 10).La contribucion de un pivote se calcula utilizando el metodo propuesto enBustos et al. (2003). Para ello es necesario seleccionar aleatoriamente unconjunto de A pares de objetos (x, y) de la base de datos X. Para cada par(x, y) ∈ A se selecciona el pivote que maximice la distancia a ambos objetos,

es decir pmax = argmaxp∈P max|P |i=1 |d(x, p) − d(y, p)|, despues se seleciona

el segundo pivote que cumpla esta condicion pmax2, la contribucion de pmax

para el par (x, y) se calcula como: |d(x, pmax)− d(y, pmax)| − |d(x, pmax2)−d(y, pmax2)|, siendo la contribucion del resto de los pivotes para este parigual a cero. La contribucion total de un pivote es la suma de las contribu-

69

Page 91: Optimización del uso de pivotes en tareas de búsqueda y ...

ciones a todos los pares (x, y) ∈ A.

Algoritmo 9: SDP

Entrada:X: base de datos;α ∈ R: fraccion de X a comparar;M ∈ R: distancia maxima entre todos los objetos de X;c ∈ N: constante que determina el numero de pivotes que seinsertan directamente;

Salida:P ⊂ X: lista de pivotes;

P = {u1};1

para todo u ∈ X hacer2

si d(p, u) ≥ αM, ∀p ∈ P entonces3

si |P | < c entonces P = P + {u};4

sino5

(victima, contribV ictima) =calcularVictima(X,P);6

contrib =Contribucion(u,P);7

si contrib > 0 entonces8

si contrib > contribV ictima entonces9

P = P − {victima} + {u};sino P = P + {u};10

fin11

fin12

fin13

fin14

3.5.5. Seleccion de prototipos Hull Foci (HF)

Este metodo permite seleccionar un conjunto de pivotes P en un conjuntode objetos X de tal forma que los pivotes esten a una distancia similar unosde otros, y es utilizado para seleccionar pivotes por los algoritmos OMNI−Sy OMNI−B descritos en la seccion 3.1.2.2.Este metodo comienza buscando un par de objetos lo mas alejados entresı (lıneas 1-3 del Algoritmo 10) y almacena la distancia entre ellos en lavariable edge. El siguiente pivote a seleccionar sera el que este a una distanciasimilar a los pivotes seleccionados anteriormente (vease figura 3.11). Paracada objeto de la base de datos que no haya sido seleccionado como pivotese calcula el siguiente error:

error(u) =∑|P |

j=1 |edge − d(u, pj)| ∀u ∈ (X − P ),

70

Page 92: Optimización del uso de pivotes en tareas de búsqueda y ...

y se selecciona como siguiente pivote el objeto de menor error (lınea 17).Este proceso se repite hasta que se seleccione el numero de pivotes deseado.

Figura 3.11: Dado los pivotes p1 y p2, el siguiente pivote debe ser seleccionadoentre los objetos u1,u2, u3 y u4. El algoritmo HF selecciona u4 porque es elque se encuentra a una distancia muy similar a ambos pivotes p1 y p2.

Algoritmo 10: HF

Entrada:X: base de datos;k ∈ N: numero de pivotes a seleccionar;

Salida:P ⊂ X: lista de pivotes;

s =Objeto aleatorio de X;1

p1 = argmaxu∈X d(u, s);2

p2 = argmaxu∈X d(u, p1);3

P = {p1}+ {p2};4

edge = d(p1, p2);5

mientras |P | < k hacer6

min = ∞;7

para todo u ∈ X hacer8

si u 6∈ P entonces9

error(u) =∑|P |

j=1 |edge − d(u, pj)| ;10

si error(u) < min entonces11

min = error(u);12

s = u;13

fin14

fin15

fin16

P = P + {s};17

fin18

71

Page 93: Optimización del uso de pivotes en tareas de búsqueda y ...

u3

L(u2)=u2u1u3

L(u1)=u1u2u3

L(u6)=u1u2u3

u4

u5

u7L(u7)=u3u1u2

L(u3)=u3u2u1

L(u4)=u3u2u1

L(u5)=u1u3u2

u1

u6

u2

ui L(ui)∑|P |

j=1 SFD(L(ui), L(pj))

u4 u3u2u1 8u5 u1u3u2 10u6 u1u2u3 6u7 u3u1u2 10

Figura 3.12: P = {u1, u2, u3}, la lista L(ui) representa el orden del conjun-to P segun la distancia al objeto ui. Al seleccionar los pivotes utilizandopermutaciones, el siguiente pivote debe ser seleccionado entre los objetosu4, u5, u6 y u7. Por el primer criterio se selecciona u5 o u7 y por el segundose seleccionara u6.

3.5.6. Seleccion de pivotes basada en permutaciones (SPP)

Este metodo utiliza la distancia de Spearman Footrule descrita en laseccion 2.2.4 y consiste en seleccionar aquellos objetos que minimicen omaximicen el valor de Spearman Footrule, respecto a los que ya han sidoseleccionados. El metodo comienza seleccionando el primer pivote al azar.Para cada elemento u de la base de datos X se construye una lista (L) orde-nada ascendentemente segun la distancia a cada pi ∈ P (vease figura 3.12).El siguiente pivote se selecciona utilizando uno de estos dos criterios:

1. p = argmaxu∈{X−P}

∑|P |j=1 SFD(L(u), L(pj)).

Significa que los objetos seleccionados seran muy distintos entre ellosy podrıa ayudar a que pequenos cambios en una permutacion indiquenmayor distancia entre objetos, sobre todo si existen agrupamientos enlos datos.

2. p = argminu∈{X−P}

∑|P |j=1 SFD(L(u), L(pj)).

Significa que los objetos seleccionados seran muy parecidos entre sı,y las permutaciones seran muy sensibles a pequenos cambios en losdatos.

3.5.7. Seleccion por error mınimo de la distancia (EMD)

Este metodo consiste en buscar un conjunto P ⊂ X de pivotes que mini-mice la diferencia entre el valor verdadero de la distancia entre todos losobjetos de la base de datos X y el valor de la cota inferior de la distancia

72

Page 94: Optimización del uso de pivotes en tareas de búsqueda y ...

para un conjunto P obtenido incrementalmente (vease Algoritmo 11).

Algoritmo 11: EMD

Entrada:X: base de datos;k ∈ N: numero de pivotes a seleccionar;

Salida:P ⊂ X: lista de pivotes;

para todo u, q ∈ X hacer g[u, q] = 0;1

repetir2

errormin = ∞;3

para todo s ∈ {X − P} hacer4

error = 0;5

para todo u, q ∈ X hacer6

error = error + d(u, q) −max(g(u, q), |d(u, s) − d(q, s)|);7

fin8

si error < errormin entonces9

errormin = error;10

p = s;11

fin12

fin13

P = P + {p};14

para todo u, q ∈ U hacer15

g[u, q] = max(g(u, q), |d(u, p) − d(q, p)|);16

fin17

hasta |P | = k ;18

Es decir, se obtiene un conjunto P ∗ tal que:

P ∗ = argminP⊆X |d(u, q) −maxp∈P

(|d(q, p) − d(u, p)|)| ∀u, q ∈ X.

En cada iteracion se selecciona un nuevo objeto p a agregar a P . El nuevopivote seleccionado es aquel que hace que el error cometido entre la distanciareal entre cada dos objetos del conjunto P y la dada por la cota inferior deesa distancia sea mınima. Una vez realizada esta seleccion, se actualiza lacota inferior de la distancia de todos los prototipos usando este nuevo p.Este algoritmo fue usado en (Mico, 1996) para seleccionar los prototiposbases del LAESA, aunque finalmente no es el recomendado por los autorespor su coste (cubico respecto al tamano de la base de datos) y las mejorasmarginales que produce.

73

Page 95: Optimización del uso de pivotes en tareas de búsqueda y ...

74

Page 96: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 4

Clasificacion

Una de las aplicaciones mas importantes de la busqueda por similitud enespacios metricos es en el area de reconocimiento de patrones, concretamentela clasificacion de objetos. La clasificacion consiste en asignar a un objetoconsulta una clase a partir de un conjunto de caracterısticas que representenlos rasgos mas importantes de los objetos a clasificar.En este capıtulo se describen los clasificadores basados en vecindad. Tambiense tratara el empleo de metodos de combinacion de clasificadores con vistasa reducir el error de clasificacion y mejorar el tiempo de respuesta a unaconsulta.

4.1. Clasificacion utilizando busqueda por simili-

tud

Se puede definir una tarea de clasificacion a partir de un conjunto de ob-jetos o base de datos (llamado tambien conjunto de entrenamiento cuandohablamos de clasificacion) cuya clasificacion es conocida, de forma que unamuestra se clasificara teniendo en cuenta su cercanıa a los objetos del conjun-to de entrenamiento. Estos clasificadores necesitan una fase de adquisicionde conocimiento, denominada aprendizaje o entrenamiento. En esta fase separte de muestras controladas (de clasificacion conocida) para establecer losmodelos requeridos para el diseno del clasificador y/o los parametros de es-tos modelos.Existen diferentes tipos de clasificadores basados en vecindad, a continuacionse describen los mas utilizados.

4.1.1. Distancia mınima

La regla de clasificacion por distancia mınima es la mas simple de lasque se aplican en reconocimiento de patrones. Esta regla de clasificacion se

75

Page 97: Optimización del uso de pivotes en tareas de búsqueda y ...

define de la siguiente manera:

Definicion 3 Sea (U, d) un espacio metrico, C = {c1, . . . , cm} un conjuntode m clases que clasifican a todos los elementos de U , y P ⊂ U con P ={p1, . . . , pm} un subconjunto de m objetos que corresponde a los represen-tantes de cada clase ci. La clasificacion por distancia mınima respecto aP de cualquier objeto q ∈ U consiste en asignarle al objeto q la clase delprototipo pi mas cercano.

δDM (q) = ci ⇐⇒ d(q, pi) = mınj=1···m

d(q, pj), (4.1)

donde d(., .) es la metrica definida en el espacio de representacion (U, d).

En este tipo de clasificador la fase de aprendizaje consiste unicamente en laeleccion de un buen representante de cada clase en el conjunto de objetosque pertenecen a la misma. Normalmente el representante elegido suele seraquel que se encuentra mas centrado dentro de la distribucion de los objetosen la clase. En este clasificador la consulta q se clasifica en la clase cuyorepresentante se encuentra a menor distancia.En la figura 4.1 se puede ver graficamente el funcionamiento de este clasi-ficador para un ejemplo de tres clases: ci, cj y ck, representadas por losobjetos pi, pj y pk en espacios de representacion vectorial. En el ejemplo,se puede ver que q se clasificara en la clase ck. Las fronteras de decision eneste tipo de espacios que separan las clases son los hiperplanos mediatricesde los segmentos formados por todos los pares de objetos. Estas fronterasde decision son un caso especial de clasificador lineal.

76

Page 98: Optimización del uso de pivotes en tareas de búsqueda y ...

Figura 4.1: Clasificador basado en distancia mınima. En este ejemplo, laconsulta q se clasificarıa en la clase ck.

4.1.2. Vecino mas cercano

Este clasificador es una generalizacion del clasificador por distancia mıni-ma, y parte del criterio de que los objetos de una misma clase estan cercaunos de otros en el espacio de representacion. Teniendo en cuenta esto, enel conjunto de objetos P se tiene mas de un representante por clase y todosparticipan en la decision de clasificacion. La regla de clasificacion del vecinomas cercano se define como:

Definicion 4 Sea (U, d) un espacio metrico, C = {c1 . . . cm} un conjunto dem clases y P ⊂ U con P = {p1...pn}, un conjunto de objetos con n > m, laclasificacion usando el vecino mas cercano respecto a P de cualquier objetoq ∈ U consiste en asignarle al objeto q la clase del prototipo pi mas cercano.

δV MC(q) = ci ⇐⇒ d(q, pi) = mınj=1···n

d(q, pj), (4.2)

donde d(., .) es la metrica definida en el espacio de representacion (U, d).

La consulta q se clasificara en la clase correspondiente al objeto mas cercano.En la figura 4.2 el objeto mas cercano a q pertenece a la clase ck.

77

Page 99: Optimización del uso de pivotes en tareas de búsqueda y ...

Figura 4.2: Clasificador por la regla del vecino mas cercano. En este ejemplo,la consulta q se clasificarıa en la clase ck.

La fase de aprendizaje segun el clasificador por el vecino mas cercano con-siste simplemente en la utilizacion del conjunto completo de objetos, el cualconstituye todo el conocimiento a priori del sistema.

4.1.3. K vecinos mas cercanos

Es una generalizacion de la regla del vecino mas cercano. En este casola estructura del conjunto de objetos P viene dada de forma que cada claseci contiene al menos k objetos. Una consulta q se clasificara en aquella claseque contiene a la mayorıa de los k objetos mas cercanos a la muestra (verfigura 4.3). Formalmente esta regla se define como:

Definicion 5 Sea (U, d) un espacio metrico, C = {c1 . . . cm} un conjuntode m clases y P ⊂ U con P = {p1...pn}, un conjunto de objetos con n > m,se puede definir la vecindad Vk(q) de una consulta q ∈ U como el conjuntode objetos que cumple:

1. Vk(q) ⊆ P ;

2. |Vk(q)| = k;

3. d(x, q) ≤ d(y, q), ∀x ∈ Vk(q), y ∈ P − Vk(q);

y la distancia entre una consulta q y un clase ci se define como:

dk(q, Pi) = k − |Vk(q) ∩ Pi|,

donde todos los objetos de Pi ⊂ P pertenecen a la clase ci.La regla de clasificacion de los k vecinos mas cercanos se define entonces

78

Page 100: Optimización del uso de pivotes en tareas de búsqueda y ...

como:

δk−VMC(q) = ci ⇐⇒ d(q, Pi) =mmınj=1

dk(q, Pj), (4.3)

donde d(., .) es la metrica definida en el espacio de representacion (U, d).

Figura 4.3: Clasificador por la regla de los k vecinos mas cercanos. En esteejemplo, la consulta q se clasificarıa en la clase ck.

4.1.4. Rango

La regla de clasificacion a partir de los objetos que se encuentren a unadistancia menor que un valor r de la consulta q a clasificar se puede definira partir de algunas modificaciones a la regla de los k− vmc (ver figura 4.4).

Definicion 6 Sea (U, d) un espacio metrico, C = {c1 . . . cm} un conjuntode m clases y P ⊂ U con P = {p1...pn}, un conjunto de objetos con n > m,y r el valor maximo de la distancia a la que puede encontrarse un objeto dela muestra q. Se puede definir la vecindad Vr(q) de una muestra q ∈ U comoel conjunto de objetos que cumple:

1. Vr(q) ⊆ P ;

2. d(x, q) ≤ r, ∀x ∈ Vr(q);

y la distancia entre una consulta q y la clase ci como:

dk(q, Pi) = |Vr(q)| − |Vr(q) ∩ Pi|,

79

Page 101: Optimización del uso de pivotes en tareas de búsqueda y ...

donde todos los objetos de Pi ⊂ P pertenecen a la clase ci.La regla de clasificacion por rango se define entonces como:

δr(q) = ci ⇐⇒ d(q, Pi) =mmınj=1

dk(q, Pj), (4.4)

donde d(., .) es la metrica definida en el espacio de representacion (U, d).

Figura 4.4: Clasificacion por la regla del rango. En este ejemplo, la consultaq se clasificarıa en la clase ck.

La eficacia de esta regla depende del valor de r, ya que este condiciona loselementos que conforman la vecindad Vr(q).

4.2. Combinacion de clasificadores

Ademas de buscar el clasificador que individualmente obtiene mejoresresultados para un problema determinado, existe una vıa alternativa paramejorar aun mas la precision: agrupando los clasificadores en combinaciones,tambien llamados metaclasificadores (Jain et al., 2000, Duin, 2002). Unacombinacion es un conjunto de clasificadores cuyas predicciones individualesson combinadas de alguna manera (tıpicamente mediante el voto) para clasi-ficar nuevos ejemplos. Esta es una de las areas mas activas de investigacionen aprendizaje supervisado ya que la combinacioness suelen mejorar los re-sultados de los clasificadores individuales que los componen.La combinacion de los clasificadores puede ser util ya que un mismo proble-ma puede ser analizado desde puntos de vista diferentes, y la combinacionde estos puede contribuir a mejorar el resultado final. Por ejemplo, es posibleutilizar:

80

Page 102: Optimización del uso de pivotes en tareas de búsqueda y ...

Diferentes metodos de clasificacion sobre un mismo conjunto de entre-namiento.

Un solo metodo de clasificacion sobre un mismo conjunto de entre-namiento, pero en cada caso variando algunos de sus parametros.

Un solo metodo de clasificacion sobre diferentes conjuntos de entre-namiento.

Un solo metodo de clasificacion sobre diferentes representaciones deun mismo conjunto de entrenamiento.

Cualquier combinacion de las anteriores.

En resumen, se pueden usar diferentes representaciones de caracterısticas,diferentes conjuntos de entrenamiento, diferentes metodos de clasificacion,todas resultantes en conjunto de clasificadores cuyas salidas pueden ser com-binadas. Si el conjunto de clasificadores ya esta seleccionado, el problema secentra en encontrar la funcion de combinacion adecuada.En la literatura se ha propuesto un gran numero de esquemas de combi-nacion como en Xu et al. (1992), Kuncheva (2004). Un esquema tıpico decombinacion consiste en un conjunto de clasificadores simples y un sistemade combinacion, el cual combina los resultados de los clasificadores simplespara tomar la decision final. El momento en que cada clasificador simpledebe ser invocado y su interaccion con el resto de los clasificadores, dependede la arquitectura del esquema de combinacion utilizado. Los esquemas decombinacion difieren unos de otros en su arquitectura, las caracterısticas delsistema de combinacion y los clasificadores individuales seleccionados.Los esquemas de combinacion pueden agruparse en tres categorıas de acuer-do a su arquitectura segun Jain et al. (2000):

Paralela: los clasificadores simples son invocados independiente, y susresultados son combinados posteriormente.

Cascada: los clasificadores simples son invocados de forma indepen-diente en una secuencia lineal de forma que el numero de posiblesclases a asignar para un patron dado se va reduciendo a medida quese invocan los clasificadores en la secuencia. Normalmente, se con-sideran primero los clasificadores mas inexactos, pero menos costososcomputacionalmente.

Jerarquico: los clasificadores individuales son combinados en una es-tructura similar a un arbol de decision, donde sus nodos pueden serasociados a clasificadores complejos demandando un gran numero decaracterısticas. La ventaja de esta arquitectura es su mayor eficiencia yflexibilidad en la explotacion del poder discriminante de los diferentestipos de caracterısticas.

81

Page 103: Optimización del uso de pivotes en tareas de búsqueda y ...

Usando estas tres arquitecturas como basicas pueden construirse combina-ciones mucho mas complicadas.Como hemos comentado anteriormente, despues de seleccionar los clasifi-cadores individuales, estos deben combinarse a traves de un modulo llamadosistema de combinacion. Existen varias propuestas para la implementacionde dicho modulo, las cuales pueden distinguirse unas de otra por su necesi-dad de entrenamiento, la capacidad de adaptacion, y los requerimientosimpuestos a los valores de salida de los clasificadores individuales.Algunos modelos como el de votacion, promedio, o suma son estaticos, norequieren de entrenamiento. Otros esquemas son adaptativos en el sentidoque el sistema de combinacion evalua la decision de los clasificadores individ-uales dependiendo del patron de entrada, a diferencia de los no adaptativosque tratan a todos los patrones por igual (Duin, 2002).La forma de combinar las salidas de los clasificadores por el sistema de com-binacion depende de que informacion se obtiene como salida de los clasi-ficadores indivuales. Xu et al. (1992) agrupan estas salidas en tres niveles(vease algunos ejemplos de cada tipo en la tabla 4.1):

Nivel de abstraccion: cada clasificador individual asigna una clasec ∈ C al objeto a clasificar. En este caso la entrada al sistema decombinacion consiste en un vector s = {c1, c2, . . . , cL}, siendo L elnumero de clasificadores, y no se tiene informacion sobre la seguridado confianza con la que han sido sugeridas estas clases por los clasifi-cadores. Por definicion, cualquier clasificador puede asignar una clasea cualquier objeto u ∈ U , lo que convierte al nivel de abstraccion enel mas universal de todos.

Nivel de orden: la salida de cada clasificador indiviual es un subcon-junto de C, con las clases ordenadas segun el orden de aceptacion deser la clase correcta para clasificar el objeto, siendo la clase de mayororden la seleccionada. Este nivel es recomendable para aquellos proble-mas en que los objetos pueden ser clasificados entre un gran numerode clases.

Nivel de confianza: cada clasificador devuelve un vectorm-dimensional[di,1, di,2, . . . , di,m], donde di,j es un valor numerico que representa lacreencia o probabilidad que asigna el clasificador i de que el objeto deentrada pertenezca a la clase cj .

En Jain et al. (2000) se realiza un analisis de un grupo de esquemas decombinacion, del cual se muestra un resumen en la tabla 4.1.En este trabajo se utilizaran los esquemas de suma, producto y maximo. Lasalida de estos esquemas pertenecen al nivel de confianza. A continuacion sedecriben estos esquemas segun lo planteado en el trabajo de Duin (2002).Sea C el conjunto de clases a clasificar, m = |C| y D = {D1,D2, . . . ,DL} el

82

Page 104: Optimización del uso de pivotes en tareas de búsqueda y ...

conjunto de clasificadores a combinar. La salida del sistema de combinaciones un vector de m dimensiones y se define como:

Q(q) = {Q1(q), Q2(q), . . . , Qm(q)},

donde Qj(q), es la salida del sistema combinacion para la consulta q y laclase j y se puede calcular utilizando los siguientes esquemas donde di,j(q)es la medida de confianza con la que el clasificador Di, asigna a u la clase j.

Regla del producto: Qj(q) =∏L

i=1 di,j(q).Esta regla tiene buen comportamiento si los clasificadores individualesson independientes, por ejemplo, si se utilizan dos clasificadores dondese emplean bases de datos que representan caracterısticas diferentesde los objetos. Esta regla supone estimaciones de confianza fiables ysin ruido. Se produce un error si estas estimaciones son valores muypequenos o cero.

Regla de la suma: Qj(q) =∑L

i=1 di,j(q).Esto es equivalente a la regla del producto para pequenas desviacionesen los resultados del clasificador (aun suponiendo que los clasificadoresson independientes).Esta regla funciona bien cuando se definen clasificadores individualessimilares con un comportamiento independiente al ruido. Un ejemplodonde esta regla funciona correctamente es cuando se emplean las mis-mas caracterısticas, pero con conjuntos de entrenamiento diferentes.

Regla del maximo: Qj(q) = maxLi=1 di,j(q).A primera vista esto parece razonable: seleccione el clasificador que esmas seguro de sı mismo. Esta regla falla inmediatamente, sin embargo,si algunos clasificadores estan mas sobreentrenados que otros. En esecaso estos clasificadores tienen un exceso de confianza y dominan porlo tanto el resultado, sin tener un mejor funcionamiento que el resto.

Las medidas de confianza empleadas en esta tesis estan basadas en lasdefinidas en los trabajos de Mazon et al. (2007) (ecuacion 4.5) y Arlandiset al. (2002) (ecuaciones 4.6 y 4.7):

mcj =1

1 + 1m

∑mi=1 di,j(q)

, (4.5)

mcj =

∑mi=1

1dj,i(q)

∑ki=1

1di(q)

, (4.6)

mcj =

∑mi=1

1dj,i(u)2

∑ki=1

1di(q)

2 , (4.7)

83

Page 105: Optimización del uso de pivotes en tareas de búsqueda y ...

mcj =m

k, (4.8)

donde mcj es la medida de confianza de la clase j, m es el numero deobjetos de la clase j entre los k vecinos mas cercanos al objeto u y dj,i esla distancia del objeto i que pertenece a la clase j entre los k vecinos mascercanos encontrados.

Tabla 4.1: Esquemas de combinacion de clasificadores.Esquema Arquitec-

turaEntrena/Adap-tativo

Informa-cion

Comentarios

Votacion Paralela No/No Abstracta Asume independenciade los clasificadores

Suma Paralela No/No Confianza Robusto, asumen inde-pendendica en la esti-macion de la confianza

Producto,Min,Max

Paralela No/No Confianza Robusto, asumen inde-pendendica de las carac-terısticas

Stacking Paralela Si/No Confianza Buena utilizacion delconjunto de entre-namiento

BordaCount

Paralela Si/No Orden Convierte el orden enconfianza

Bagging Paralela Si/No Confianza Necesita muchos clasifi-cadores

Boosting Paralela,Jerarquica

Si/No Abstracta Sensitivo a los erroresde clasificacion. Necesi-ta muchos clasificadores

84

Page 106: Optimización del uso de pivotes en tareas de búsqueda y ...

Parte II

Aportaciones y Analisiscomparativo

85

Page 107: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 108: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 5

Pivot AESA, nuevoalgoritmo para la busquedadel vecino mas cercano

En el capıtulo 3 se ha realizado una revision sobre el estado actual delproblema de la busqueda por similitud en espacios metricos. Entre los algo-ritmos analizados se encuentra el AESA, que ha sido considerado durantemas de 20 anos como referencia en cuanto al numero de distancias evalua-das para responder una consulta por similitud. Ademas, el numero mediode distancias evaluadas es independiente del tamano de la base de datos.Ambas caracterısticas son muy importantes cuando se utilizan medidas dedistancia muy caras.Desde su definicion se han realizado diferentes propuestas basadas en el AE-SA, algunas de ellas ya descritas en la seccion 3.2 (pagina 49). Las massobresalientes para los objetivos planteados en este trabajo son: LAESAque reduce la complejidad espacial a costa del incremento del numero dedistancias, y el iAESA que disminuye el numero de distancias a calcularmanteniendo el mismo coste espacial, pero aumentando el coste computa-cional.En este trabajo proponemos algunas modificaciones del AESA que permitenreducir el numero medio de distancias a calcular sin aumentar el coste com-putacional del mismo. En este capıtulo se describe la propuesta y se comparacon otros algoritmos de la familia AESA.

5.1. Pivot AESA (PiAESAc). Estrategia c

El algoritmo AESA (vease Algoritmo 1), emplea una funcion G que re-presenta la cota inferior de la distancia entre un objeto u de la base de datosy una consulta q. Esta funcion es utilizada en la busqueda durante la fase deaproximacion para seleccionar como candidato a vmc el objeto que minimiza

87

Page 109: Optimización del uso de pivotes en tareas de búsqueda y ...

el valor de G (vease figura 3.9) y en la fase de eliminacion para descartaraquellos objetos cuya cota G sea mayor que la distancia del candidato a vmchasta el momento.

paso 1

paso 3paso 2q

p4 p5 p6 p1 p2 p3 p7

p3

p4

p5

p6

p1

p2

p7

Figura 5.1: Criterio de aproximacion utilizado por AESA. En cada paso, seselecciona como objeto candidato aquel que tiene un menor valor de la fun-cion cota inferior de la distancia (representados por puntos negros, p4, p5, p6respectivamente). Las flechas a la derecha en color negro representan el va-lor real de la distancia de los objetos a la consulta q, y las de color rojo yazul las cotas inferiores obtenidas con el criterio de aproximacion del AESAhasta el momento.

La eleccion de un buen candidato a vmc permite descartar un mayor numerode objetos durante la fase de eliminacion, y por lo tanto influye en la re-duccion del numero de distancias a evaluar. En la ecuacion 3.7 (pagina 50)definida en la seccion 3.2.1, se aprecia que la actualizacion de la cota de ladistancia, G, depende de los candidatos elegidos anteriormente. Durante lasprimeras iteraciones, el valor de G para cada objeto de la base de datos noes bueno por dos motivos:

1. el conjunto de pivotes utilizado hasta el momento para su actualizaciones muy pequeno;

2. la seleccion del pivote se hace en base a la cercanıa del pivote selec-cionado a la consulta segun el valor de la cota.

Por lo tanto, los candidatos elegidos de esta forma no son utiles para actua-lizar bien la cota ni para ser un buen candidato a vmc, vease en la figura5.1) como la diferencia entre el valor real de la distancia y el valor de la cota

88

Page 110: Optimización del uso de pivotes en tareas de búsqueda y ...

es muy significativa en los objetos p1, p2, p3 y p7.En este trabajo definimos una nueva estrategia que consiste en usar un cri-terio de aproximacion diferente al usado por el AESA. Este nuevo criteriopermite emplear como pivotes durante las primeras iteraciones del algoritmoaquellos objetos que mas contribuyen al incremento de la cota inferior dela distancia G (aunque no sean buenos candidatos a vmc). Una vez que seconsidera que G esta bien ajustada se trata de cambiar al criterio de aprox-imacion del AESA.Para elegir los pivotes que mas contribuyen rapidamente a la obtencion deuna buena cota inferior G (maximizando el valor de la funcion para to-do objeto de la base de datos), se considera la idea de crear en tiempo depreproceso una lista “ordenada” de pivotes P a partir de los objetos en labase de datos. La idea consiste en optimizar el uso de los pivotes durantelas primeras iteraciones de la busqueda utilizando para ello algun metodo deseleccion de pivotes de los descritos en la seccion 3.5 (pagina 67). El “orden”de los objetos en la lista se corresponde al orden en que son seleccionadospor el metodo de seleccion de pivotes empleado para crear la lista.En la figura 5.2 puede verse un ejemplo grafico de nuestra propuesta uti-lizando el criterio de seleccion de pivotes MMD. Los puntos negros son losobjetos seleccionados como candidatos en cada paso. En el primer paso elcandidato se selecciona aleatoriamete, en este caso p1, y se actualiza la cotainferior de la distancia para cada uno de los objetos utilizando la distanciade p1 al resto de los objetos de la base de datos, valor que fue calculado yalmacenado en preproceso (flechas en colores que parten de cada uno de losobjetos, en este paso las de color verde). En el segundo paso se seleccionacomo candidato a p5, que es el objeto mas alejado a todos los candidatosseleccionados anteriormente, en este caso solo a p1 y se repite el proceso.Las flechas de la derecha en color negro representan el valor real de la dis-tancia de cada objeto a la consulta q y las de color rojo las cotas inferioresobtenidas con el criterio de aproximacion MMD. Se puede observar que eneste caso las cotas se ajustan mejor a los verdaderos valores de la distanciaque los obtenidos al emplear el criterio AESA (comparese con los resultadospresentados en la figura 5.1).

89

Page 111: Optimización del uso de pivotes en tareas de búsqueda y ...

paso 1

paso 3

paso 2q

p4p5 p6p1 p2 p3p7

p4

p5

p6

p1

p2

p3

p7

Figura 5.2: Criterio de aproximacion propuesto utilizando el metodo de se-leccion de pivotes MMD. En cada paso, se selecciona como objeto candidatoaquel que esta mas alejado de los candidatos seleccionados anteriormente(representados por puntos negros, p1, p5, p7 respectivamente). Las flechas ala derecha de color negro representan el valor real de la distancia de losobjetos a la consulta q, y las de color rojo las cotas inferiores obtenidas conel criterio de aproximacion MMD hasta el momento.

En la etapa de busqueda, para realizar la fase de aproximacion, esta lista or-denada de pivotes P es utilizada en las primeras iteraciones (vease Algoritmo12, bucle lıneas de la 17 a la 26). Para cambiar el criterio de aproximacionse utiliza un parametro c que almacena el numero de iteraciones sucesivasen las que el mejor candidato a vmc no ha cambiado (lıneas de la 4 a la 16).Cuando esto ocurre, se asume que no es necesario realizar la aproximacionextrayendo mas candidatos de la lista ordenada de pivotes P porque las co-tas ya estan suficientemente ajustadas. En este punto el algoritmo cambiasu estrategia y se centra en buscar buenos candidatos para vmc pasando alcomportamiento habitual del AESA (lıneas de la 17 a la 26). Hay que teneren cuenta que cuando el parametro c es igual a 0, este algoritmo se comportaexactamente como el AESA, ya que se omite el primer bucle (lıneas de la 4a la 16).Este algoritmo permite utilizar diferentes formas de construir la lista or-denada de pivotes P , por lo que se han usado algunas de las tecnicas deseleccion de objetos descritas en la seccion 3.5.En las siguientes secciones analizaremos el comportamiento del algoritmopropuesto al utilizar diferentes valores del parametro c y diferentes tecnicasde seleccion de pivotes.

90

Page 112: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 12: PiAESAc

Entrada:X: base de datos;q: consulta;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;c ∈ N: parametro que controla el cambio de estrategia de

aproximacion;Salida: pmin ∈ X: vmc a q;dmin = ∞;1

para todo u ∈ X hacer G(u) = 0;2

i = 0; gmin = 0; gprevmin = 0;3

mientras P 6= ∅ y i < c hacer4

s = extraer(P) ; // aproximacion basada en P5

X = X − {s}; P = P − {s};6

d = d(q, s);7

si d < dmin entonces pmin = s; dmin = d;8

gprevmin = gmin; gmin = ∞;9

para todo u ∈ X hacer10

G(u) = max(G(u), |D(u, s) − d|);11

gmin = mın(G(u), gmin);12

fin13

i = i+ 1;14

si gmin > gprevmin entonces i = 0;15

fin16

mientras X 6= ∅ hacer17

s =arg min u∈X G(u); // aproximacion18

X = X − {s};19

d = d(q, s);20

si d < dmin entonces pmin = s; dmin = d;21

para todo u ∈ X hacer22

G(u) = max(G(u), |D(u, s) − d|);23

si G(u) < dmin entonces X = X − {u}; // eliminacion24

fin25

fin26

5.1.1. Influencia del parametro c y tecnicas de seleccion depivotes en el PiAESAc

El algoritmo propuesto en este capıtulo, PiAESA, utiliza dos parametrosexternos. El primero de ellos sirve para indicar el criterio de ordenacion autilizar durante el preproceso para la construccion de la lista ordenada depivotes (P ), y el parametro c, un valor entero que durante el proceso de

91

Page 113: Optimización del uso de pivotes en tareas de búsqueda y ...

busqueda controla el cambio de estrategia de aproximacion a utilizar.En esta seccion se estudia experimentalmente la influencia de ambos parame-tros en el comportamiento del PiAESAc en cuanto al numero de distanciasevaluadas. Estos experimentos se han realizado utilizando los tres tipos debases de datos descritas en la seccion 2.7. Los experimentos fueron repeti-dos utilizando diferentes metodos de seleccion de pivotes para crear la listaordenada de pivotes P . Los metodos empleados son: MMD, MSD, SAP,SED, SDP, descritos en la seccion 3.5 (pagina 67). Para las bases de datosen el hipercubo unidad, COLORS y NASA, se utilizo la distancia L1, ypara MNIST la distancia de edicion entre cadenas. En todos los casos seemplearon 15000 objetos en la base de datos y se realizaron 1000 consultas.Los resultados que se presentan corresponden al numero medio de distanciascalculadas y su desviacion estandar durante esas 1000 consultas. En todoslos casos el intervalo de error es inferior a 2 veces la desviacion estandar.En las figuras 5.3 y 5.4 se presenta el comportamiento del numero de distan-cias calculadas al incrementar el valor del parametro c empleando diferentestecnicas de seleccion de pivotes para construir la lista ordenada de pivotesP en bases de datos con distribucion uniforme en el hipercubo unidad paradimensiones 12 y 24.En todos los casos, para cualquiera de las tecnicas de ordenacion empleadas,se observa que existe un valor optimo del parametro, c∗, que minimiza elnumero medio de distancias evaluadas con respecto al AESA (c = 0). Seobserva ademas que el metodo de seleccion de pivotes utilizado para crearla lista P influye en el numero de distancias evaluadas. Para dimension 12(vease figura 5.3), los mejores resultados se obtienen al emplear el metodoMMD, mientras que para dimensiones altas (vease figura 5.4) se obtienencon el metodo MSD. El metodo SAP es el que peores resultados ofrece en elhipercubo unidad, mientras que SED y SDP mantienen un comportamientosimilar en todos los casos. Al analizar el comportamiento de estos dos ulti-mos metodos se puede apreciar que existe un valor de c a partir del cualel numero de distancias calculadas se mantiene constante. Esto se debe aque estos metodos no seleccionan todos los objetos de la base de datos paraincluirlos en la lista P . En este caso, la condicion de salida del primer bucledel algoritmo se dara porque la lista P esta vacıa, independientemente delvalor de c.

92

Page 114: Optimización del uso de pivotes en tareas de búsqueda y ...

40

45

50

55

60

65

70

75

80

0 5 10 15 20

dis

tancia

s

c

dimensión 12

MMD MSD SAP SED SDP

Figura 5.3: Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc durante la busqueda. Para este experimento seha utilizado una base de datos con distribucion uniforme en el hipercubounidad de dimension 12.

800

900

1000

1100

1200

1300

0 50 100 150 200

dis

tancia

s

c

dimensión 24

MMD MSD SAP SED SDP

Figura 5.4: Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc durante la busqueda. Para este experimento seha utilizado una base de datos con distribucion uniforme en el hipercubounidad de dimension 24.

93

Page 115: Optimización del uso de pivotes en tareas de búsqueda y ...

100

110

120

130

140

150

0 2 4 6 8 10 12 14

dis

tancia

s

c

COLORS

MMD SED SAP MSD SDP

Figura 5.5: Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc durante la busqueda. Para este experimento seha utilizado la base de datos COLORS.

40

45

50

55

60

65

70

75

80

0 2 4 6 8 10 12 14

dis

tancia

s

c

NASA

MMD SED SAP MSD SDP

Figura 5.6: Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc durante la busqueda. Para este experimento seha utilizado la base de datos NASA.

94

Page 116: Optimización del uso de pivotes en tareas de búsqueda y ...

600

610

620

630

640

650

0 5 10 15 20 25

dis

tances

c

MNIST

MMD SED SAP MSD SDP

Figura 5.7: Influencia del parametro c en el numero medio de distanciascalculadas por el PiAESAc durante la busqueda. Para este experimento seha utilizado la base de datos MNIST.

En las figuras 5.5-5.7 se presentan los resultados para las bases de datosCOLORS, NASA y MNIST. Para estas bases de datos se observa que exis-ten algunos criterios de ordenacion que mejoran el comportamiento del AE-SA, distinguiendose un valor de c∗ en estos casos. Sin embargo, la mejorıaes mınima, lo que podrıa estar asociado a la dimensionalidad intrınseca delas mismas. Se ha calculado la dimension intrınseca de las bases de datosaplicando el metodo descrito en el trabajo de Chavez et al. (2001). Los resul-tados se presentan en la tabla 5.1.1. Mirando estos resultados, vemos que ladimension intrınseca de estas bases de datos es menor que 10, dimension enla que aun la mejora del PiAESAc no es significativa con respecto al AESA(vease figura 5.10, que se comentara mas adelante).

Tabla 5.1: Dimension intrınseca de las bases de datos COLORS, NASA yMNIST.

Base de datos Dimension intrınseca

COLORS 5NASA 7MNIST 6

Es importante destacar que en los casos en que no se reduce el numero mediode distancias calculadas por el AESA, tampoco se empeora, pues el valor dec∗ serıa cero, y se comportara exactamente igual que el AESA.Los resultados obtenidos al emplear las bases de datos con distribucion uni-

95

Page 117: Optimización del uso de pivotes en tareas de búsqueda y ...

forme en el hipercubo unidad sugieren que la mejora con respecto al AESAaumenta a medida que aumenta la dimension del espacio.Otro aspecto a evaluar es el comportamiento del valor optimo del parametroc∗ al aumentar el tamano de la base de datos y al aumentar la dimensiondel espacio. Los resultados se presentan en la figura 5.8.

0

10

20

30

40

50

60

70

80

0 2000 4000 6000 8000 10000 12000 14000 16000

c*

tamaño de la base de datos

dim 12 dim 18 dim 24

0

20

40

60

80

100

120

0 5 10 15 20 25

c*

dimensión

MMD MSD SAP SED SDP

Figura 5.8: Comportamiento del parametro c∗ para diferentes tamanos dela base de datos (a) y para diferentes dimensiones del espacio de datosutilizando el criterio de seleccion de pivotes MMD para crear P (b).

Los experimentos demuestran que una vez que se supera un umbral, el valoroptimo de c es independiente del tamano de la base de datos, en la figu-

96

Page 118: Optimización del uso de pivotes en tareas de búsqueda y ...

ra 5.8(a) dicho umbral serıa 5000 para dimension 24, siendo incluso menorpara dimensiones mas bajas. En la figura 5.8(b) se puede observar que c∗

aumenta rapidamente a medida que crece la dimension.La solucion propuesta en esta seccion para controlar cuando cambiar laestrategia de aproximacion no utiliza un numero fijo de pivotes, sino quedepende del valor fijo c (que no coincide con el numero de pivotes usados).Se realizo una serie de experimentos para demostrar esta dependencia. Encada busqueda, para un valor fijo de c, se contaron los pivotes utilizados.Este experimento fue hecho para todas las bases de datos y varios valores dec, en la figura 5.9 se muestran algunos resultados (se obtuvieron resultadossimilares en el resto de los experimentos). Se puede observar que el numerode pivotes ordenados utilizados en cada base de datos es muy similar paracada una de las tecnicas utilizadas para construir la lista de pivotes ordena-dos (P ).

0

20

40

60

80

100

20 30 40 50 60 70 80

fre

cu

en

cia

(%

)

número de pivotes

histograma de pivotes (dim−16, c=10)

MMDSAP

MSDSED

SDP

0

20

40

60

80

100

70 80 90 100110120130140150160170

fre

cu

en

cia

(%

)

número de pivotes

histograma de pivotes (dim−20, c=30)

MMDSAP

MSDSED

SDP

0

20

40

60

80

100

20 30 40 50 60

fre

cu

en

cia

(%

)

número de pivotes

histograma de pivotes (MNIST, c=17)

MMDSAP

MSDSED

SDP

0

20

40

60

80

100

10 20 30 40

fre

cu

en

cia

(%

)

número de pivotes

histograma de pivotes (NASA, c=4)

MMDSAP

MSDSED

SDP

Figura 5.9: Porcentaje del numero de pivotes ordenados utilizados porPiAESAc para un valor fijo del parametro c utilizando bases de datos condistribucion uniforme (arriba) y las bases de datos NASA y MNIST (abajo).

5.1.2. Comparacion con otros algoritmos basados en pivotes

En esta seccion se presentan experimentos donde se comparan los resul-tados obtenidos con el PiAESAc con los algoritmos AESA, LAESA e iAESA.Los resultados se muestran en las tablas 5.2-5.5. Los mejores resultados los

97

Page 119: Optimización del uso de pivotes en tareas de búsqueda y ...

obtiene el PiAESAc cuando se utiliza la tecnica MMD para las bases de datosartificiales y NASA. Sin embargo los mejores resultados para COLORS yMNIST se obtienen al utilizar la tecnica SAP.

Tabla 5.2: Numero medio de distancias calculadas para una base de datos de5000, 10000 y 15000 objetos pertenecientes a una distribucion uniforme enel hipercubo unidad de dimension 12 por los algoritmos de la familia AESA,la desviacion estandar entre parentesis. Para LAESA el valor de B ∗ = 42,y para PiAESAc el valor de c∗ = 3.

Dimension 125000 10000 15000

AESA 55.7 (0.8) 55.6 (0.9) 54.3 (0.9)LAESA 70.2 (1.0) 69.8 (1.1) 69.8 (1.0)iAESA 51.2 (0.9) 50.3 (0.9) 49.4 (0.9)PiAESA-MMD 45.0 (0.8) 44.3 (0.5) 43.9 (0.5)PiAESA-MSD 47.5 (0.8) 47.4 (1.3) 46.4 (1.0)PiAESA-SAP 52.3 (0.9) 51.5 (0.8) 50.6 (0.9)PiAESA-SED 48.2 (0.5) 47.4 (0.8) 46.7 (0.7)PiAESA-SDP 48.2 (0.3) 47.3 (0.9) 46.7 (0.7)

Tabla 5.3: Numero medio de distancias calculadas para una base de datos de5000, 10000 y 15000 objetos pertenecientes a una distribucion uniforme en elhipercubo unidad con dimension 18 por los algoritmos de la familia AESA,la desviacion estandar entre parentesis. Para LAESA el valor de B∗ = 183,y para PiAESAc el valor de c∗ = 20.

Dimension 185000 10000 15000

AESA 278.1 (7.6) 279.0 (10.6) 275.9 (9.6)LAESA 337.7 (9.0) 349.9 (11.1) 354.5 (9.3)iAESA 245.8 (7.0) 236.5 (8.0) 231.3 (8.6)PiAESA-MMD 212.7 (3.2) 207.0 (3.7) 204.8 (4.3)PiAESA-MSD 206.8 (3.4) 204.1 (3.7) 200.0 (3.6)PiAESA-SAP 244.5 (5.6) 240.1 (5.6) 235.1 (5.7)PiAESA-SED 226.8 (3.7) 219.7 (3.8) 216.1 (4.1)PiAESA-SDP 227.5 (5.0) 221.0 (4.6) 215.7 (3.9)

98

Page 120: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 5.4: Numero medio de distancias calculadas para una base de datos de5000, 10000 y 15000 objetos pertenecientes a una distribucion uniforme en elhipercubo unidad con dimension 24 por los algoritmos de la familia AESA,la desviacion estandar entre parentesis. Para LAESA el valor de B∗ = 547,y para PiAESAc el valor de c∗ = 70.

Dimension 245000 10000 15000

AESA 1051.6 (10.6) 1207.1 (17.5) 1269.4 (23.3)LAESA 1237.6 (12.0) 1428.0 (18.0) 1525.9 (18.3)iAESA 985.2 (10.4) 1083.5 (16.0) 1115.7 (21.5)PiAESA-MMD 879.8 (8.5) 931.9 (15.8) 938.2 (19.7)PiAESA-MSD 834.5 (8.2) 873.2 (17.6) 881.7 (17.7)PiAESA-SAP 971.6 (9.8) 1054.5 (18.8) 985.4 (23.9)PiAESA-SED 920.0 (17.3) 976.6 (20.0) 985.4 (22.1)PiAESA-SDP 925.6 (10.1) 977.3 (20.2) 985.5 (24.6)

Tabla 5.5: Numero medio de distancias calculadas por algoritmos de la fami-lia AESA para las bases de datos NASA, COLORS y MNIST, la desviacionestandar entre parentesis (para los algoritmos LAESA, PiAESAc el segundovalor entre parentesis corresponde a B∗ y c∗ respectivamente).

NASA COLORS MNIST

AESA 52.3 (1.4) 155.2 (1.3) 624.7 (3.0)LAESA 111.6 (5.1, 50) 560.4 (7.8, 240) 1736.9 (9.9, 430)iAESA 51.9 (1.0) 165.4 (1.8) 654.8 (2.9)PiAESA-MMD 51.5 (1.2, 2) 155.2 (1.3, 0) 619.4 (2.8, 2)PiAESA-MSD 51.1 (1.1, 2) 155.2 (1.3, 0) 617.1 (2.7, 2)PiAESA-SAP 52.3 (1.1, 2) 151.4 (1.1, 2) 606.5 (2.6, 18)PiAESA-SED 52.3 (1.7, 2) 155.2 (1.3, 0) 623.1 (2.8, 2)PiAESA-SDP 52.4 (1.6, 2) 155.2 (1.3, 0) 621.6 (2.5, 2)

Los experimentos con los datos artificiales fueron repetidos para un tamanofijo de la base de datos de 15000 objetos y para dimensiones entre 2 y 24(vease figura 5.10). En esta figura se puede observar que iAESA reduce elnumero de distancias calculadas, al compararlo con AESA, a medida queaumenta la dimension de los datos, en particular entre las dimensiones 10y 24 con una reduccion del 15%. Comparando los resultados del PiAESAc

con AESA, para dimensiones pequenas, PiAESAc no mejora al AESA. Losmejores resultados en esas condiciones se obtienen para c = 0, lo cual sig-nifica que esta ejecutandose el AESA original. Sin embargo, a medida queaumenta la dimension de los datos y el parametro c toma valores mayoresque cero, mejora en rendimiento con respecto al AESA. Por ejemplo, paradimension 24 mejora al AESA en un 25% y al iAESA en un 14%.

99

Page 121: Optimización del uso de pivotes en tareas de búsqueda y ...

55

0

200

400

600

800

1000

1200

2 4 6 8 10 12 14 16 18 20 22 24

dis

tan

cia

s

dimensión

AESA LAESA iAESA PiAESA

Figura 5.10: Numero medio de distancias calculadas para diferentes dimen-siones. Se ha utilizado para crear la lista P el criterio de seleccion de pivotesMMD.

5.2. Pivot AESA (PiAESAn). Estrategia n

El algoritmo PiAESA, tal como se ha definido, actualiza (durante lasprimeras iteraciones) la cota inferior de la distancia de los objetos de la basedatos (G(u), ∀u ∈ X), a partir de pivotes seleccionados de una lista de obje-tos (P ) que han sido ordenados durante la etapa de preproceso. Si durante citeraciones consecutivas el candidato a vmc no ha sido modificado, se pasa autilizar el criterio de aproximacion al empleado por el AESA original. En lassecciones anteriores se ha demostrado experimentalmente que este metodoreduce significativamente el numero de distancias a evaluar con respecto alAESA y a otros miembros de esa familia de algoritmos. Sin embargo, estapropuesta no utiliza un numero fijo de pivotes y su eficacia depende del valordel parametro c.En esta seccion se propone modificar el criterio utilizado para cambiar elmetodo de aproximacion al utilizado por el AESA. La propuesta consisteen emplear una cantidad fija de pivotes n en la primera etapa en lugar delparametro c, lo cual simplifica el proceso de actualizacion de la cota infe-

100

Page 122: Optimización del uso de pivotes en tareas de búsqueda y ...

rior de la distancia G (lıneas de la 3 a la 9 en el Algoritmo 12). Es decir,se repite el proceso de actualizacion de G para los n primeros pivotes de lalista ordenada P , donde n ≤ |P |. Este nuevo enfoque simplifica el algoritmo,y permite analizar la influencia de la cantidad de pivotes utilizados en estaetapa en la reduccion del numero de distancias calculadas para encontrar elvmc. El algoritmo resultante de estas modificaciones se presenta en el Algo-ritmo 13, el cual de ahora en adelante llamaremos PiAESAn.

Algoritmo 13: PiAESAn

Entrada:X: base de datos;q: consulta;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;n ∈ N: parametro que controla el cambio de criterio de

aproximacion (numero de pivotes);Salida: pmin ∈ X: vmc a q;dmin = ∞; i = 0;1

para todo u ∈ X hacer G(u) = 0;2

mientras P 6= ∅ y i < n hacer3

s =extraer(P) ; // aproximacion basada en P4

X = X − {s}; P = P − {s};5

d = d(q, s); i = i+ 1;6

si d < dmin entonces pmin = s; dmin = d;7

para todo u ∈ X hacer G(u) = max(G(u), |D(u, s) − d|);8

fin9

mientras X 6= ∅ hacer10

s =arg min u∈X G(u); // aproximacion11

X = X − {s};12

d = d(q, s);13

si d < dmin entonces pmin = s; dmin = d;14

para todo t ∈ X hacer15

G(u) = max(G(u), |D(u, s) − d|);16

si G(u) ≥ dmin entonces X = X − {u}; // eliminacion17

fin18

fin19

5.2.1. Influencia del parametro n y tecnicas de seleccion depivotes en el PiAESAn

El algoritmo propuesto en esta seccion, al igual que el PiAESAc, crea en lafase de preproceso la lista de pivotes ordenada segun un criterio especifica-do inicialmente, y en la busqueda recibe como parametro un valor entero,

101

Page 123: Optimización del uso de pivotes en tareas de búsqueda y ...

n, que indica el numero maximo de iteraciones en las que los pivotes seranextraıdos de la lista P .Como en el caso anterior, se ha estudiado la influencia del parametro n enel numero de distancias evaluadas por el PiAESAn al emplear algunas delas tecnicas de seleccion de pivotes descritas en la seccion 3.5. En las figurasde la 5.11 a la 5.15 se puede apreciar la variacion del numero de pivotesutilizados en la primera etapa del algoritmo para cada una de las bases dedatos utilizadas en los experimentos.Se puede observar que para todas las bases de datos artificiales y tecnicas deseleccion de pivotes empleadas existe un n optimo (n∗) con el cual se calculael menor numero de distancias posible. No es este el caso de las bases dedatos COLORS y MNIST. Para COLORS, solo cuando se utilizan las tecni-cas SED y SDP es posible disminuir la cantidad de distancias calculadas conrespecto al AESA (n = 0), existiendo para ellas tambien un n∗. En el caso deMNIST, la tecnica de seleccion de pivotes SAP es la de mejores resultados,aunque tambien MMD reduce ligeramente el calculo de las distancias. Demanera general se puede apreciar que en todos los casos el comportamientode las tecnicas de seleccion de pivotes es similar al descrito por el PiAESAc

en la seccion 5.1.1. La diferencia entre ambas estrategias radica en el uso nfacilita la comprension del algoritmo y permite interpretar mas claramentelos resultados a partir del numero de pivotes empleado durante las primerasiteraciones del algoritmo.

40

45

50

55

60

65

70

0 5 10 15 20 25 30 35 40

dis

tancia

s

n

dimensión 12

SDP MMD SAP SED MSD

Figura 5.11: Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn durante la consulta. Para este experimento seha utilizado una base de datos con distribucion uniforme en el hipercubounidad de dimension 12.

102

Page 124: Optimización del uso de pivotes en tareas de búsqueda y ...

800

900

1000

1100

1200

1300

0 50 100 150 200 250 300

dis

tancia

s

n

dimensión 24

SDP MMD SAP SED MSD

Figura 5.12: Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn durante la consulta. Para este experimento seha utilizado una base de datos con distribucion univorme en el hipercubounidad de dimension 24.

100

110

120

130

140

150

0 10 20 30 40 50

dis

tancia

s

n

COLORS

SDP MMD SAP SEP MSD

Figura 5.13: Influencia del parametro n en el numero medio de distanciascalculadas por el PiAESAn durante la consulta. Para este experimento seha utilizado la base de datos COLORS.

103

Page 125: Optimización del uso de pivotes en tareas de búsqueda y ...

55

60

65

70

75

80

85

90

0 10 20 30 40 50

dis

tancia

s

n

NASA

SDP MMD SAP SED MSD

Figura 5.14: Influencia del incremento del parametro n en el numero mediode distancias calculadas por el PiAESAn durante la consulta. Para esteexperimento se ha utilizado la base de datos NASA.

600

605

610

615

620

625

630

635

640

0 5 10 15 20 25 30

dis

tancia

s

n

MNIST

SDP MMD SAP SED MSD

Figura 5.15: Influencia del aumento del parametro n en el numero mediode distancias calculadas por el PiAESAn durante la consulta. Para esteexperimento se ha utilizado la base de datos MNIST.

Se ha realizado un experimento adicional para comprobar el comportamien-to del parametro n∗ cuando varıa el tamano de la base de datos y cuandoaumenta la dimension del espacio. En la figura 5.16(a) se presentan los re-

104

Page 126: Optimización del uso de pivotes en tareas de búsqueda y ...

sultados experimentales al aumentar el tamano de la base de datos desde500 objetos hasta 15000 en dimensiones 12,18 y 24.

0

50

100

150

200

250

300

2000 4000 6000 8000 10000 12000 14000

n*

tamaño de la base de datos

dim 12 dim 18 dim 24

0

50

100

150

200

250

300

0 5 10 15 20

n*

dimensiones

SDP MMD SAP SED MSD

Figura 5.16: Comportamiento del parametro n∗ para diferentes tamanosde una base de datos con distribucion uniforme en el hipercubo unidad dedimension 20 y criterio de seleccion de pivotes MMD para crear la lista P(b), y para diferentes dimensiones del espacio (a).

Podemos ver que para tamanos pequenos de la base de datos (menores que5000) el valor de n∗ depende del tamano del conjunto de datos utilizados.Sin embargo, al aumentar el numero de objetos almacenados en la base dedatos, el valor de n∗ comienza a ser independiente de este tamano. Es decir,

105

Page 127: Optimización del uso de pivotes en tareas de búsqueda y ...

que al igual que el c∗ para el PiAESAc, el valor de n∗ para el PiAESAn esindependiente del tamano de la base de datos cuando este tamano sobrepasaun umbral. En la figura 5.16(b) se puede apreciar que el valor de n∗ crece amedida que aumenta la dimensionalidad de los datos.

5.3. Conclusiones

Las dos variantes del algoritmo PiAESA propuestas en este capıtuloreducen el numero de distancias calculadas por el AESA y otros algoritmosmiembros de esa familia. Esto se debe a que este nuevo algoritmo permiteutilizar durante las primeras iteraciones del proceso de busqueda un criteriode aproximacion diferente al utilizado por el AESA original, siempre que losobjetos seleccionados con este criterio contribuyan en el incremento de lafuncion cota inferior de la distancia entre cada objeto de la base de datos yla consulta.La segunda variante, el PiAESAn, simplifica la propuesta inicial (PiAESAc)y ademas permite conocer el numero de pivotes utilizados en las primerasiteraciones del algoritmo. Los resultados experimentales demuestran que secomportan de manera similar en cuanto al numero de distancias calculadasal utilizar las mismas tecnicas de seleccion de pivotes para ordenar la listade objetos durante el preproceso.En ambos casos se ha demostrado experimentalmente que existe un valoroptimo para el parametro que controla el cambio de criterio de aproximaciona utilizar, con el cual se evalua el menor numero de distancias y que esteoptimo se incrementa con el aumento de la dimension del espacio y que esindependiente del tamano de la base de datos.La efectividad de la tecnica de seleccion de pivotes esta asociada a algunaspropiedades de la base de datos a la que se aplica, principalmente a ladimension intrınseca de la misma.La reduccion del numero de distancias calculadas por el PiAESA, con res-pecto a los metodos analizados en este trabajo, aumenta al aumentar ladimensionalidad del espacio. Los resultados se obtienen sin tiempo extra deCPU durante la busqueda, pues la lista P se crea en tiempo de preproceso.Los resultados presentados en este capıtulo han sido publicados en:

Un nuevo criterio de aproximacion para la indexacion rapida en espa-cios metricos. Raisa Socorro, Luisa Mico y Jose Oncina. VII CongresoNacional de Reconocimiento de Patrones, RECPAT 2009. Santiago deCuba, Cuba. Diciembre 2009.

A fast pivot-based indexing algorithm for metric spaces. Pattern Recog-nition Letters, 32 (2011) 1511-1516. Raisa Socorro, Luisa Mico y Jose On-cina.

106

Page 128: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 6

Extensiones del PiAESA

La busqueda por similitud en espacios metricos no solo se reduce a en-contrar el vmc a la consulta. En el capıtulo 2 se definen otras estrategiasde busqueda basadas en distancias como son: la busqueda de los k-vmc yla busqueda por rango, la busqueda de los k-vmc inversos, etc. Como se hapodido ver en el capıtulo anterior, los algoritmos propuestos son algoritmosexactos para la busqueda del vmc. En este capıtulo se presenta una extensiondel algoritmo PiAESA para la busqueda exacta de los k-vmc, la busquedapor rango y una variante aproximada para el vmc.

6.1. Busqueda exacta de los k vecinos mas cer-

canos

Para adaptar el algoritmo PiAESAc propuesto en el capıtulo 5 a unaestrategia de busqueda de los k-vmc es necesario modificar tres elementosprincipales en el Algoritmo 12 (pagina 91):

1. Entrada: anadir un parametro k, que servira para indicar el numerode vecinos.

2. Salida: una lista Lv de los k objetos mas cercanos a la consulta, enlugar de pmin (lınea 12 del Algoritmo 12).

3. Para actualizar los k-vmc, se compara si d < dkmin (donde d es ladistancia calculada, y dkmin es la distancia del k-esimo objeto mascercano a la consulta). Es decir, si el candidato actual esta mas cercanoque el k-esimo vecino mas cercano hasta el momento. En ese caso seelimina este, anadiendose el nuevo candidato a la lista Lv.

4. El criterio de eliminacion empleado en la lınea 24 debe modificarsea: G(t) ≥ dkmin, siendo dkmin la distancia al k-esimo vecino mas cer-cano hasta el momento. Esto garantiza no eliminar candidatos que seencuentren mas cercanos que el k-esimo vecino hasta el momento.

107

Page 129: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 14: PiAESA-kcEntrada:

k: numero de vecinos;X: base de datos;q: consulta;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;c ∈ N: parametro que controla el cambio de estrategia de

aproximacion;Salida: Lv ⊂ X: lista de los k-vmc a q;dkmin = ∞;1

para todo u ∈ X hacer G(u) = 0;2

i = 0; gmin = 0; gpmin = 0;3

mientras P 6= ∅ y i < c hacer4

s = extraer(P); X = X − {s};5

P = P − {s}; d = d(q, s);6

si d < dkmin entonces7

insertOrd(s, d, Lv);8

dkmin = max∀p∈Lvd(q, p);9

fin10

gpmin = gmin; gmin = ∞;11

para todo u ∈ X hacer12

G(u) = max(|G(u),D(u, s) − d|);13

gmin = mın(G(u), gmin);14

fin15

i = i+ 1;16

si gmin > gpmin entonces i = 0;17

fin18

mientras X 6= ∅ hacer19

s =arg min u∈X G(u);20

X = X − {s};21

d = d(q, s);22

si d < dkmin entonces23

insertOrd(s, d, Lv,);24

dkmin = max∀p∈Lvd(q, p);25

fin26

para todo u ∈ X hacer27

G(u) = max(G(u), |D(u, s) − d|);28

si G(u) > dkmin entonces X = X − {u};29

fin30

fin31

108

Page 130: Optimización del uso de pivotes en tareas de búsqueda y ...

El algoritmo resultante de aplicar estas modificaciones lo llamaremos de aho-ra en adelante PiAESA-kc y se puede consultar en el Algoritmo 14. Estasmodificaciones tambien son validas para el PiAESAn y se presentan en elalgoritmo 15.

Algoritmo 15: PiAESA-knEntrada:

k: numero de vecinos;X: base de datos;q: consulta;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;n ∈ N: parametro que controla el cambio de estrategia de

aproximacion;Salida:

LV ⊂ X: lista de los k-vmc a q;dmin = ∞;1

dmin = ∞; i = 0;2

para todo u ∈ X hacer G(u) = 0;3

mientras P 6= ∅ y i < n hacer4

s =extraer(P) ; // aproximacion basada en P5

X = X − {s}; P = P − {s};6

d = d(q, s); i = i+ 1;7

si d < dkmin entonces8

insertOrd(s, d, Lv);9

dkmin = max∀p∈Lvd(q, p);10

fin11

para todo u ∈ X hacer G(u) = max(G(u), |D(u, s) − d|);12

fin13

mientras X 6= ∅ hacer14

s =arg min u∈X G(u);15

X = X − {s}; d = d(q, s);16

si d < dmin entonces17

insertOrd(s, d, Lv);18

dkmin = max∀p∈Lvd(q, p);19

fin20

para todo t ∈ X hacer21

G(u) = max(G(u), |D(u, s) − d|);22

si G(u) > dkmin entonces X = X − {u};23

fin24

fin25

109

Page 131: Optimización del uso de pivotes en tareas de búsqueda y ...

6.1.1. Analisis del comportamiento de los criterios de apro-ximacion del PiAESA en la busqueda de los k-vmc

En las secciones 5.1 y 5.2 del capıtulo anterior se definieron dos es-trategias para controlar el cambio de criterio de aproximacion del PiAESA.Recordamos que en la primera, llamada estrategia PiAESAc, hay que definirel numero maximo de iteraciones consecutivas en las que no se actualiza elcandidato a vmc como el criterio a tener en cuenta para cambiar a la es-trategia de aproximacion utilizada por el AESA. En la segunda estrategia(PiAESAn) se fija el numero maximo de iteraciones (sin restricciones) antesde pasar al criterio de aproximacion del AESA.Los experimentos realizados para la busqueda del vmc utilizando ambas es-trategias demuestran que existe un valor optimo para los parametros c y n,respectivamente, que minimizan el numero de distancias calculadas. Ademaseste optimo aumenta con el incremento de la dimension y es independientedel tamano de la base de datos. Se ha realizado un conjunto de experimen-tos para comprobar el comportamiento de ambas estrategias con respecto alnumero de vecinos a recuperar al extenderse este algoritmo a la busquedade los k-vmc.En las figuras 6.1 y 6.3 se puede apreciar la relacion existente entre el numeromedio de distancias calculadas y el parametro c (PiAESAc) para los difer-entes criterios de seleccion de pivotes utilizados para recuperar k vecinos, convalores de k entre 1 y 9. De igual manera en las figuras 6.2 y 6.4, se presentala relacion entre el parametro n (PiAESAn) y el numero medio de distanciasevaluadas. Se puede comprobar que los parametros del PiAESA para los kvecinos mas cercanos tienen un comportamiento similar al descrito para labusqueda del vecino mas cercano. Es decir, para cada dimension, existe unvalor optimo de c o n, que depende del criterio de seleccion de pivotes uti-lizado en el ordenamiento de la base de datos. En la figura 6.5 se compruebaademas que el valor optimo de c∗ y n∗ crece rapidamente con la dimensiondel espacio y sin embargo muy poco al incrementar el numero de vecinos ka recuperar.

110

Page 132: Optimización del uso de pivotes en tareas de búsqueda y ...

40

50

60

70

80

90

0 2 4 6 8 10 12 14 16 18 20

dis

tan

cia

s

c

dimensión 12 k=1

MMDMSD

SAPSED

SDP

550

600

650

700

750

800

850

900

950

0 50 100 150 200 250 300

dis

tan

cia

s

c

dimensión 22 k=1

MMDMSD

SAPSED

SDP

80

85

90

95

100

105

110

115

120

0 2 4 6 8 10 12 14 16 18 20

dis

tan

cia

s

c

dimensión 12 k=5

MMDMSD

SAPSED

SDP

1100

1200

1300

1400

1500

1600

1700

1800

0 50 100 150 200 250 300

dis

tan

cia

s

c

dimensión 22 k=5

MMDMSD

SAPSED

SDP

110

115

120

125

130

135

140

145

150

0 2 4 6 8 10 12 14 16 18 20

dis

tan

cia

s

c

dimensión 12 k=9

MMDMSD

SAPSED

SDP

1500

1600

1700

1800

1900

2000

2100

2200

2300

0 50 100 150 200 250 300

dis

tan

cia

s

c

dimensión 22 k=9

MMDMSD

SAPSED

SDP

Figura 6.1: Numero medio de distancias calculadas con el PiAESA-kc enfuncion del parametro c para bases de datos con distribucion uniforme en elhipercubo unidad con dimension 12 (izquierda) y dimension 22 (derecha) alrecuperar k-vmc (k = 1, 5 y 9).

111

Page 133: Optimización del uso de pivotes en tareas de búsqueda y ...

40

45

50

55

60

65

70

75

80

0 10 20 30 40 50

dis

tan

cia

s

n

dimensión 12 k=1

MMDSDP

SAPSED

SDP

500

600

700

800

900

1000

1100

1200

0 100 200 300 400 500 600 700 800

dis

tan

cia

s

n

dimensión 22 k=1

MMDMSD

SAPSED

SDP

80

90

100

110

120

130

140

0 10 20 30 40 50 60 70 80

dis

tan

cia

s

n

dimensión 12 k=5

MMDMSD

SAPSED

SDP

1100

1200

1300

1400

1500

1600

1700

1800

1900

2000

0 100 200 300 400 500 600 700 800

dis

tan

cia

s

n

dimensión 22 k=5

MMDMSD

SAPSED

SDP

110

120

130

140

150

160

170

0 10 20 30 40 50 60 70 80

dis

tan

cia

s

n

dimensión 12 k=9

MMDMSD

SAPSED

SDP

1600

1700

1800

1900

2000

2100

2200

2300

2400

0 100 200 300 400 500 600 700 800

dis

tan

cia

s

n

dimensión 22 k=9

MMDMSD

SAPSED

SDP

Figura 6.2: Numero medio de distancias calculadas con el PiAESA-kn enfuncion del parametro n para bases de datos con distribucion uniforme enel hipercubo unidad con dimension 12 (izquierda) y dimension 22 (derecha)al recuperar k-vmc (k = 1, 5 y 9).

112

Page 134: Optimización del uso de pivotes en tareas de búsqueda y ...

50

55

60

65

70

75

80

0 2 4 6 8 10 12 14

dis

tan

cia

s

c

NASA k=1

MMDSED

SAPMSD

SDP

170

175

180

185

190

195

200

0 2 4 6 8 10 12 14

dis

tan

cia

s

c

NASA k=9

MMDSED

SAPMSD

SDP

100

110

120

130

140

150

0 2 4 6 8 10 12 14

dis

tan

cia

s

c

COLORS k=1

MMDSED

SAPMSD

SDP

270

280

290

300

310

320

0 2 4 6 8 10 12 14

dis

tan

cia

s

c

COLORS k=9

MMDSED

SAPMSD

SDP

600

610

620

630

640

650

0 2 4 6 8 10 12 14 16

dis

tan

cia

s

c

MNIST k=1

MMDSED

SAPMSD

SDP

1500

1510

1520

1530

1540

1550

1560

0 2 4 6 8 10 12 14 16

dis

tan

cia

s

c

MNIST k=9

MMDSED

SAPMSD

SDP

Figura 6.3: Numero medio de distancias calculadas con el PiAESAc en fun-cion del parametro c para las bases de datos COLORS, NASA y MNIST alrecuperar k-vmc (k = 1, 9).

113

Page 135: Optimización del uso de pivotes en tareas de búsqueda y ...

50

55

60

65

70

75

80

85

90

0 10 20 30 40 50

dis

tan

cia

s

n

NASA k=1

SDPMMD

SAPSED

MSD

170

175

180

185

190

195

200

0 10 20 30 40 50

dis

tan

cia

s

n

NASA k=9

SDP MMD SAP SED MSD

100

110

120

130

140

150

0 10 20 30 40 50

dis

tan

cia

s

n

COLORS k=1

SDPMMD

SAPSED

MSD

270

280

290

300

310

320

0 10 20 30 40 50

dis

tan

cia

s

n

COLORS k=9

SDPMMD

SAPSED

MSD

600

605

610

615

620

625

630

635

640

0 5 10 15 20 25 30

dis

tan

cia

s

n

MNIST k=1

MMDMSD

SAPSED

SDP

1500

1510

1520

1530

1540

1550

1560

0 5 10 15 20 25 30 35 40

dis

tan

cia

s

n

MNIST k=9

MMDMSD

SAPSED

SDP

Figura 6.4: Numero medio de distancias calculadas con el PiAESAn en fun-cion del parametro n para las bases de datos NASA, COLORS y MNIST alrecuperar k-vmc (k = 1, 9).

114

Page 136: Optimización del uso de pivotes en tareas de búsqueda y ...

0

50

100

150

200

10 12 14 16 18 20 22 24

c*

dimensión

k=1k=3

k=5k=7

k=9

0

100

200

300

400

500

600

10 12 14 16 18 20 22 24

n*

dimensión

k=1k=3

k=5k=7

k=9

Figura 6.5: Comportamiento del parametro c∗ (izquierda) y n∗ (derecha)al recuperar k-vmc cuando aumenta la dimension del espacio utilizando elcriterio de seleccion de pivotes MSD para bases de datos con distribucionuniforme en el hipercubo unidad.

En estos experimentos se comprueba ademas que el numero de vecinos arecuperar influye en el numero de distancias a evaluar segun la estrategiade seleccion de pivotes empleada para obtener la lista P . Por ejemplo, parak = 1, ya se comprobo que para dimensiones relativamente pequenas el cri-terio MMD calculaba el menor numero de distancias, pero a medida queaumenta la dimension los mejores resultados se obtienen al emplear el cri-terio MSD. En el caso de los k-vmc sucede algo similar, no solo al aumentarla dimension sino tambien al aumentar el valor de k.

6.1.2. Comparacion con otros metodos de la familia AESA

En esta seccion se comparan los resultados obtenidos para la busquedade los k vecinos mas cercanos utilizando el PiAESAc con otros algoritmos dela familia AESA. Se han obtenido resultados similares al utilizar PiAESAn.En las tablas 6.1-6.6 se presentan los resultados para las bases de datosartificiales y reales utilizadas en este trabajo para la busqueda por similitud.En cada uno de los casos se utilizaron 15000 objetos como base de datos yse realizaron 1000 consultas.En todas las bases de datos el PiAESA obtiene mejores resultados que elresto de los algoritmos comparados. En el hipercubo unidad nuestra pro-puesta mejora al AESA entre un 16 y 17% para dimension 12 y entre un 24y 31% para dimension 24. Con respecto al iAESA esta mejora esta entre un7 y 10% para dimension 12 y entre un 18 y 22% para dimension 24. Paralas bases de datos NASA, COLORS y MNIST la mejora es de un 9% paraNASA, un 3% para COLORS y un 2% para MNIST con respecto a AESAy entre un 14 y 17% para NASA, un 7% para COLORS y entre 3 y 6%para MNIST al compararlo con iAESA.

115

Page 137: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.1: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una base dedatos con distribucion uniforme en el hipercubo unidad con dimension 12 ydiferentes valores de k. Para todas las variantes PiAESAc el valor de c = 5.Las dos ultimas filas representan el porcentaje de mejora del PiAESA conrespecto al AESA (Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 54.3 (0.9) 83.9 (0.9) 105.6 (1.0) 124.1 (1.0)iAESA 49.9 (0.9) 76.2 (0.9) 95.7 (0.9) 112.2 (0.9)PiAESAc-MSD 46.3 (1.0) 73.8 (1.0) 88.6 (1.0) 103.9 (1.0)PiAESAc-MMD 44.9 (0.5) 68.9 (0.6) 87.7 (0.6) 103.3 (0.6)PiAESAc-SAP 51.4 (0.9) 84.0 (0.9) 97.9 (0.9) 114.7 (0.9)PiAESAc-SED 47.7 (0.7) 77.4 (0.7) 90.6 (0.7) 105.6 (0.7)PiAESAc-SDP 47.6 (0.7) 78.8 (0.7) 90.4 (0.7) 105.8 (0.7)

Pi/A (%) 17.2 17.8 16.9 16.8Pi/iA (%) 9.9 9.5 8.4 7.9

Tabla 6.2: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una basede datos con distribucion uniforme en el hipercubo unidad con dimension18 y diferentes valores de k. Para todas las variantes PiAESAc el valor dec para k = 1, 3, 5, 7 es de 20, 30, 40, 50, respectivamente. Las dos ultimasfilas representan el porcentaje de mejora del PiAESA con respecto al AESA(Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 274.9 (9.6) 462.9 (9.8) 588.3 (9.7) 691.2 (9.9)iAESA 231.7 (8.6) 401.7 (8.9) 518.6 (8.6) 616.6 (8.5)PiAESAc-MSD 200.6 (3.6) 332.7 (3.6) 423.9 (3.6) 496.9 (3.6)PiAESAc-MMD 200.8 (4.3) 344.7 (4.2) 442.3 (4.3) 521.1 (4.3)PiAESAc-SAP 228.8 (5.7) 389.7 (5.7) 499.5 (5.6) 590.3 (5.7)PiAESAc-SED 214.2 (4.1) 355.7 (4.0) 449.3 (4.1) 527.5 (4.1)PiAESAc-SDP 216.1 (3.9) 357.7 (3.8) 457.5 (3.9) 541.2 (3.9)

Pi/A (%) 27.0 28.1 27.9 28.1Pi/iA (%) 13.4 17.2 19.8 19.4

116

Page 138: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.3: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una base dedatos con distribucion uniforme en el hipercubo unidad con dimension 24y diferentes valores de k. Para todas las variantes PiAESAc el valor de cutilizados para k = 1, 3, 5, 7 es de 85, 145, 180, 200, respectivamente. Las dosultimas filas representan el porcentaje de mejora del PiAESA con respectoal AESA (Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 1277.8 (33.3) 2103.8 (33.1) 2589.6 (33.3) 2953.9 (33.3)iAESA 1120.2 (31.5) 1901.8 (31.2) 2364.9 (31.6) 2717.2 (31.5)PiAESAc-MSD 869.7 (17.4) 1486.9 (17.6) 1880.4 (17.6) 2190.0 (17.4)PiAESAc-MMD 931.1 (19.6) 1603.0 (19.6) 2029.9 (19.7) 2355.9 (19.6)PiAESAc-SAP 1070.7 (23.9) 1832.4 (24.1) 2301.0 (24.9) 2659.1 (25.1)PiAESAc-SED 962.5 (21.1) 1626.8 (21.5) 2067.9 (21.8) 2415.3 (22.1)PiAESAc-SDP 961.9 (24.6) 1625.2 (23.8) 2065.9 (24.5) 2412.7 (24.6)

Pi/A (%) 31.9 29.3 27.4 25.9Pi/iA (%) 22.4 21.8 20.5 19.4

Tabla 6.4: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para la basede datos NASA con diferentes valores de k. Para todas las variantes delPiAESAc el valor de c para k = 1, 3, 5, 7 es de 2, 4, 6, 8. Las dos ultimasfilas representan el porcentaje de mejora del PiAESA con respecto al AESA(Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 63.2 (0.8) 111.5 (0.9) 141.7 (0.9) 168.6 (1.0)iAESA 69.3 (0.8) 118.6 (0.8) 149.4 (0.9) 177.9 (0.8)PiAESAc-MSD 60.5 (0.7) 106.2 (0.8) 134.9 (0.8) 160.3 (0.9)PiAESAc-MMD 57.2 (0.8) 99.7 (0.8) 127.4 (0.9) 152.3 (0.8)PiAESAc-SAP 62.1 (1.1) 107.5 (1.1) 135.9 (1.3) 161.6 (1.1)PiAESAc-SED 59.2 (0.9) 103.1 (0.9) 131.4 (0.9) 156.4 (0.9)PiAESAc-SDP 61.4 (0.9) 106.3 (0.9) 133.4 (0.9) 158.0 (0.9)

Pi/A (%) 9.5 10.6 10.1 9.7Pi/iA (%) 17.4 15.9 14.7 14.4

117

Page 139: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.5: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para la base dedatos COLORS con diferentes valores de k. Para el PiAESAc-SED el valorde c es de 5, para las otras variantes del PiAESAc el valor de c = 0. Las dosultimas filas representan el porcentaje de mejora del PiAESA con respectoal AESA (Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 114.0 (1.2) 183.9 (1.2) 224.7 (1.1) 259.7 (1.3)iAESA 122.4 (1.1) 193.8 (1.3) 235.8 (1.3) 271.6 (1.2)PiAESAc-MMD 114.0 (1.2) 183.9 (1.2) 224.7 (1.1) 259.7 (1.3)PiAESAc-MSD 114.0 (1.2) 183.9 (1.2) 224.7 (1.1) 259.7 (1.3)PiAESAc-SAP 114.0 (1.2) 183.9 (1.2) 224.7 (1.1) 259.7 (1.3)PiAESAc-SED 110.7 (1.1) 177.3 (1.2) 217.1 (1.2) 251.2 (1.1)PiAESAc-SDP 114.0 (1.2) 183.9 (1.2) 224.7 (1.1) 259.7 (1.3)

Pi/A (%) 2.9 3.6 3.37 3.2Pi/iA (%) 9.5 8.5 7.93 7.5

Tabla 6.6: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para la base dedatos MNIST con diferentes valores de k. Para el PiAESAc-SED el valor dec es de 16, para las otras variantes del PiAESAc el valor de c = 4. Las dosultimas filas representan el porcentaje de mejora del PiAESA con respectoal AESA (Pi/A) y el iAESA (Pi/iA).

k

Algoritmo 1 3 5 7

AESA 801.1 (8.5) 1115.7 (8.5) 1292.3 (8.3) 1433.3 (8.4)iAESA 833.9 (9.5) 1148.0 (10.5) 1323.7 (10.5) 1460.5 (9.9)PiAESAc-MMD 792.6 (6.5) 1109.1 (6.3) 1286.1 (6.4) 1426.9 (6.3)PiAESAc-MSD 798.9 (7.3) 1106.6 (7.9) 1283.6 (7.3) 1424.3 (7.2)PiAESAc-SAP 780.1 (9.3) 1090.4 (9.3) 1265.9 (9.8) 1405.7 (9.6)PiAESAc-SED 798.9 (8.0) 1113.7 (8.1) 1290.8 (8.3) 1431.8 (8.3)PiAESAc-SDP 798.9 (8.0) 1115.7 (8.2) 1292.3 (8.3) 1431.8 (8.3)

Pi/A (%) 2.6 2.3 2.0 1.9Pi/iA (%) 6.5 5.0 4.4 3.7

118

Page 140: Optimización del uso de pivotes en tareas de búsqueda y ...

6.2. Busqueda exacta por rango

La busqueda por rango es un tipo de busqueda por similitud que se carac-teriza por recuperar todos los objetos de la base de datos que se encuentrana una distancia menor que un valor dado de la consulta. Para adaptar el Pi-AESA propuesto para recuperar el vmc a este tipo de busqueda es necesariorealizar los siguientes cambios:

1. Entrada: se anade como entrada al algoritmo un parametro r ∈ R, querepresenta el rango maximo de la distancia a la consulta q a la quepueden encontrarse los objetos a recuperar.

2. Salida: una lista Lr de objetos que cumple que su distancia a la con-sulta q se encuentra dentro del rango establecido por el parametro r(lınea 12, Algoritmo 12).

3. Para actualizar Lr, se compara si d ≤ r. Es decir, si el candidato actualesta una distancia menor o igual que r, es anadido a la lista Lr.

4. El criterio de eliminacion empleado en la lınea 24 debe modificarsea: G(t) ≥ r. Es decir, se eliminan todos los objetos de la base dedatos cuyo valor de la cota G sea mayor o igual a r. Estos objetos soneliminados ya que resulta imposible que se encuentren a una distanciamenor que r de la consulta q.

El algoritmo resultante de aplicar estas modificaciones lo llamaremos deahora en adelante PiAESA-rc y se puede consultar en el Algoritmo 16. Estasmodificaciones tambien son validas para el PiAESAn y se presentan en elalgoritmo 17.

119

Page 141: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 16: PiAESA-rcEntrada:

X: base de datos;q: consulta;r ∈ R: rango maximo de la distancia a la consulta q;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;c ∈ N: parametro que controla el cambio de estrategia de

aproximacion;Salida: Lr ⊂ X: lista de los objetos u ∈ X con d(u, q) < r;dkmin = ∞;1

para todo u ∈ X hacer G(u) = 0;2

i = 0; gmin = 0; gpmin = 0;3

mientras P 6= ∅ y i < c hacer4

s = extraer(P); X = X − {s};5

P = P − {s}; d = d(q, s);6

si d < r entonces insertOrd(s, d, Lr);7

gpmin = gmin; gmin = ∞;8

para todo u ∈ X hacer9

G(u) = max(G(u), |D(u, s) − d|);10

gmin = mın(G(u), gmin);11

fin12

i = i+ 1;13

si gmin > gpmin entonces i = 0;14

fin15

mientras X 6= ∅ hacer16

s =arg min u∈X G(u);17

X = X − {s};18

d = d(q, s);19

si d < r entonces insertOrd(s,d,Lr);20

para todo u ∈ X hacer21

G(u) = max(G(u), |D(u, s) − d|);22

si G(u) ≥ r entonces X = X − {u};23

fin24

fin25

120

Page 142: Optimización del uso de pivotes en tareas de búsqueda y ...

Algoritmo 17: PiAESA-rnEntrada:

X: base de datos;q: consulta;r ∈ R: rango maximo de la distancia a la consulta q;P ⊆ X: lista ordenada de pivotes;D ∈ R

|X|×|X|: matriz de distancias;n ∈ N: parametro que controla el cambio de estrategia de

aproximacion numero de pivotes;Salida: Lr ⊂ X: lista de los objetos u ∈ X con d(u, q) < r;dmin = ∞;1

dmin = ∞; i = 0;2

para todo u ∈ X hacer G(u) = 0;3

mientras P 6= ∅ y i < n hacer4

s =extraer(P) ; // aproximacion basada en P5

X = X − {s}; P = P − {s};6

d = d(q, s); i = i+ 1;7

si d < r entonces insertOrd(s, d, Lr);8

para todo u ∈ X hacer G(u) = max(G(u), |D(u, s) − d|);9

fin10

mientras X 6= ∅ hacer11

s =arg min u∈X G(u);12

X = X − {s}; d = d(q, s);13

si d < dmin entonces insertOrd(s, d, Lr);14

para todo t ∈ X hacer15

G(u) = max(G(u), |D(u, s) − d|);16

si G(u) < dkmin entonces X = X − {u};17

fin18

fin19

6.2.1. Analisis del comportamiento de los criterios de apro-ximacion del PiAESA en la busqueda por rango

En esta seccion se estudia el comportamiento de las dos estrategiasdefinidas para cambiar el criterio de aproximacion al utilizar nuestra pro-puesta para la busqueda por rango. Se ha realizado un conjunto de experi-mentos utilizando ambas estrategias que confirman que existe un valor opti-mo para los parametros c y n, respectivamente, que minimizan el numerode distancias calculadas y que este optimo aumenta con el incremento de ladimension y el rango de la busqueda r.En la figura 6.6 se presentan los experimentos realizados para bases dedatos artificiales y diferentes dimensiones, en la misma se puede observar

121

Page 143: Optimización del uso de pivotes en tareas de búsqueda y ...

la relacion existente entre el numero medio de distancias calculadas y elparametro c (PiAESAc) para los diferentes criterios de seleccion de pivo-tes utilizados para la busqueda por rango y diferentes valores del rango r.Ademas se han realizado experimentos con bases de datos reales (NASA yCOLORS), y sus resultados se muestran en la figura 6.7.

15

20

25

30

35

40

45

0 2 4 6 8 10

dis

tan

cia

s

c

dimensión 12 r=1

MMDMSD

SAPSED

SDP

100

150

200

250

300

350

0 20 40 60 80 100

dis

tan

cia

sc

dimensión 24 r=3

MMDMSD

SAPSED

SDP

280

290

300

310

320

330

340

350

360

370

0 10 20 30 40 50

dis

tan

cia

s

c

dimensión 12 r=2

MMDMSD

SAPSED

SDP

800

850

900

950

1000

1050

1100

1150

1200

1250

0 50 100 150 200 250

dis

tan

cia

s

c

dimensión 24 r=4

MMDMSD

SAPSED

SDP

Figura 6.6: Numero medio de distancias calculadas con el PiAESAc en fun-cion del parametro c para bases de datos con distribucion uniforme en elhipercubo unidad con dimension 12 (izquierda) y dimension 24 (derecha) alaplicar una busqueda por rango.

De igual manera, en la figura 6.8 se presenta la relacion entre el parametro n(PiAESAn) y el numero medio de distancias evaluadas para bases de datosartificiales y diferentes dimensiones.Se puede comprobar en todos los casos analizados que el valor optimo c∗ y n∗

dependen tambien del criterio de seleccion de pivotes utilizado para crear lalista ordenada P . Se observa ademas que para las bases de datos artificiales,el criterio MMD tiene mejor rendimiento que el resto de los criterios paradimensiones y radios de busqueda pequenos, pero que a medida que estosaumentan el criterio MMD es mejorado por MSD.

122

Page 144: Optimización del uso de pivotes en tareas de búsqueda y ...

50

60

70

80

90

100

0 2 4 6 8 10 12 14 16 18 20

dis

tan

cia

s

c

NASA r=1

MMDMSD

SAPSED

SDP

70

80

90

100

110

120

0 5 10 15 20

dis

tan

cia

s

c

NASA r=2

MMDMSD

SAPSED

SDP

170

175

180

185

190

195

200

205

0 2 4 6 8 10

dis

tan

cia

s

r

COLORS r=0.3

MMDMSD

SAPSED

SDP

1070

1075

1080

1085

1090

1095

1100

1105

1110

0 2 4 6 8 10

dis

tan

cia

s

c

COLORS r=0.5

MMDMSD

SAPSED

SDP

Figura 6.7: Numero medio de distancias calculadas con el PiAESAc funciondel parametro c para las bases de datos COLORS y NASA al aplicar unabusqueda por rango.

Con respecto a las bases de datos COLORS, NASA se obtiene una ligeramejorıa utilizando el criterio SED, MMD y SAP respectivamente. En lostres casos este comportamiento esta asociado a la baja dimension intrınsecade las mismas (vease tabla 5.1.1), y ya se ha comprobado en el capıtuloanterior que el PiAESA reduce significativamente el numero de distanciasevaluadas por el AESA para dimensiones altas.

123

Page 145: Optimización del uso de pivotes en tareas de búsqueda y ...

15

20

25

30

35

40

45

0 5 10 15 20 25 30 35 40

dis

tan

cia

s

n

dimensión 12 r=1

MMDMSD

SAPSED

SDP

120

140

160

180

200

220

0 20 40 60 80 100 120 140 160

dis

tan

cia

s

n

dimensión 24 r=3

MMDMSD

SAPSED

SDP

280

300

320

340

360

380

400

0 20 40 60 80 100 120 140 160

dis

tan

cia

s

n

dimensión 12 r=2

MMDMSD

SAPSED

SDP

700

800

900

1000

1100

1200

1300

0 100 200 300 400 500 600 700

dis

tan

cia

s

n

dimensión 24 r=4

MMDMSD

SAPSED

SDP

Figura 6.8: Numero medio de distancias calculadas con el PiAESAn en fun-cion del parametro n para bases de datos con distribucion uniforme en elhipercubo unidad con dimension 12 (izquierda) y dimension 24 (derecha) alaplicar una busqueda por rango.

6.2.2. Comparacion con otros metodos de la familia AESA

En esta seccion se comparan los resultados obtenidos para la busquedapor rango en el PiAESAc con otros algoritmos de la familia AESA, obtenien-do resultados similares con PiAESAn. En las tablas 6.7-6.9 se presentan losresultados para las bases de datos con distribucion uniforme en el hipercubounidad para dimensiones 12, 18 y 24. En todas las bases de datos el PiAE-SA obtiene mejores resultados que el resto de los algoritmos comparados. Seobserva que el rendimiento del algoritmo depende del criterio de seleccion depivotes empleado, siendo MSD y MMD los que obtienen mejores resultados.Ademas se observa que para dimensiones altas, como es el caso de dimension24, el porcentaje de reduccion de distancias calculadas crece con respecto alresto de los algoritmos comparados.

124

Page 146: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.7: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una basede datos con distribucion uniforme en el hipercubo unidad con dimension12 y diferentes valores de r. Para todas las variantes PiAESAc los valoresde c utilizados para r = 1, r = 2, r = 3 son 2, 15, 135, 240 respectivamente.Las dos ultimas filas representan el porcentaje de mejora del PiAESA conrespecto al AESA (Pi/A) y el iAESA (Pi/iA).

r

Algoritmo 1 2 3AESA 24.3 (0.8) 325.8 (5.8) 3776 (18.1)iAESA 23.8 (0.8) 301.0 (5.5) 3743 (17.7)PiAESAc-MSD 22.8 (0.9) 288.9 (5.6) 3382 (16.5)PiAESAc-MMD 21.1 (0.8) 293.8 (5.2) 3497 (17.2)PiAESAc-SAP 24.3 (1.0) 311.3 (5.0) 3654 (18.6)PiAESAc-SED 23.2(0.9) 298.5 (5.5) 3686.9 (15.4)PiAESAc-SDP 22.8 (0.8) 298.3 (5.9) 3686 (19.5)

Pi/A (%) 13.2 11.3 10.4Pi/iA (%) 11.3 4.0 9.6

Tabla 6.8: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una bases dedatos con distribucion uniforme en el hipercubo unidad con dimension 18 ydiferentes valores de r. Para todas las variantes PiAESAc los valores de cutilizados para r = 1, r = 2, r = 3 son 1, 15, 30, 190 respectivamente. Las dosultimas filas representan el porcentaje de mejora del PiAESA con respectoal AESA (Pi/A) y el iAESA (Pi/iA).

r

Algoritmo 1 2 3

AESA 15.3 (1.1) 73.1(2.5)) 584.2 (7.4)iAESA 15.3 (1.0) 62.4 (2.3) 510.7 (7.2)PiAESAc-MSD 14.8 (0.9) 59.6(2.1) 467.2 (7.3)PiAESAc-MMD 13.9 (1.0) 55.5 (2.2) 467.2 (7.3)PiAESAc-SAP 15.3 (1.1) 66.2(2.5) 515.7 (7.4)PiAESAc-SED 15.1 (0.9) 62.9 (2.6) 483.1 (7.4)PiAESAc-SDP 14.8 (1.1) 62.4 (2.6) 488.5 (7.0)

Pi/A (%) 9.2 24.1 20.0Pi/iA (%) 9.2 11.1 8.5

125

Page 147: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.9: Numero medio de distancias calculadas (y desviacion estandar)por el PiAESAc y algunos algoritmos de la familia AESA para una bases dedatos con distribucion uniforme en el hipercubo unidad con dimension 24 ydiferentes valores de r. Para todas las variantes PiAESAc los valores de cutilizados para r = 1, r = 2, r = 3 son 1, 5, 10, 70 respectivamente. Las dosultimas filas representan el porcentaje de mejora del PiAESA con respectoal AESA (Pi/A) y el iAESA (Pi/iA).

r

Algoritmo 1 2 3

AESA 12.4 (0.4) 41.2 (1.1) 200.7 (9.9)iAESA 12.5 (0.3) 38.2 (0.9) 156.5 (9.3)PiAESAc-MSD 12.1 (0.3) 36.6 (0.9) 136.8 (9.3)PiAESAc-MMD 12.0 (0.3) 35.5 (1.0) 138.8 (9.4)PiAESAc-SAP 12.1 (0.2) 41.2 (1.0) 161.1 (9.9)PiAESAc-SED 12.3 (0.3) 41.2 (0.9) 154.6 (10.3)PiAESAc-SDP 12.3 (0.3) 40.5 (0.9) 152.1 (10.1)

Pi/A (%) 3.2 13.8 32.2Pi/iA (%) 4.0 7.1 13.1

6.3. Busqueda aproximada del vmc

Los algoritmos propuestos anteriormente son algoritmos exactos, es de-cir, recuperan correctamente el o los objetos mas cercanos a la consultaq segun la funcion distancia utilizada. Estos algoritmos no estan exentosde la llamada maldicion de la dimension en el sentido de que dejan de sereficientes a medida que aumenta la dimension de los datos. Una posible solu-cion a este problema es convertir un algoritmo exacto en inexacto, relajandola precision de la respuesta a la consulta, pero permitiendo de esta formaganar velocidad en los tiempos de respuesta.En esta seccion se propone una variante aproximada del PiAESA y se com-para su eficiencia y eficacia con un grupo de algoritmos de la familia AESA.

6.3.1. PiAESA aproximado

En la seccion 3.4 (pagina 62) se detallan las caracterısticas principales delos algoritmos inexactos de busqueda por similitud y se describen algunastecnicas para obtener un algoritmo aproximado a partir de un algoritmoexacto. Figueroa (2007) demuestra experimentalmente, al utilizar una vari-ante de busqueda aproximada basada en el criterio de detencion temprana,que al explorar un pequeno porcentaje de la base de datos el algoritmoiAESA obtiene un porcentaje de recuperacion de respuestas correctas (PR)superior al recuperado por el AESA en dimensiones altas.Nuestra propuesta consiste en obtener una variante aproximada del PiAESA

126

Page 148: Optimización del uso de pivotes en tareas de búsqueda y ...

empleando un criterio de poda agresiva que nos permita reducir el numero dedistancias evaluadas manteniendo un alto porcentaje de recuperacion. Paraesto, se incorpora a los algoritmos propuestos en este trabajo un parametrollamado holgura que permite controlar la precision de la respuesta. Tenien-do en cuenta que el criterio de eliminacion utilizado por el PiAESA eliminaun objeto t de la base de datos cuando se cumple que G(t) ≥ dmin, siendoG(t) la cota inferior de la distancia de la consulta q al objeto t y dmin ladistancia del objeto mas cercano a la consulta hasta el momento, el nuevocriterio de eliminacion quedarıa como G(t) ≥ dmin−h, donde h es la holgura(Algoritmo PiAESAc, lınea 24, y Algoritmo PiAESAn, lınea 17).

6.3.2. Comparacion con otros metodos utilizando el criteriode busqueda aproximada

En esta seccion utilizaremos el PiAESAn en su version aproximada ycompararemos sus resultados en cuanto al numero de distancias calculadasy el porcentaje de recuperacion del vmc con otros algoritmos de busquedapor similitud basados en pivotes.En las tablas 6.10-6.12 se presentan los resultados de los experimentos rea-lizados al utilizar diferentes valores de holgura (h) con estos algoritmospara bases de datos con distribucion uniforme en el hipercubo unidad ydimensiones 16, 24 y 32. Para estas bases de datos se puede observar que elPiAESAn reduce en todos los casos el numero de distancias calculadas conrespecto al resto de los algoritmos. Ademas, para los valores de h analizadospara dimensiones 16 y 24, el porcentaje de distancias que se reduce al uti-lizar PiAESAn tiene poca variacion al aumentar el valor de h. Por ejemplo,para dimension 24, el PiAESAn reduce entre el 32% y 36% las distanciascalculadas por el AESA, entre 19% y 23% las calculadas por el iAESA yentre el 58% y 67% las del OMNI-S secuencial, siendo este ultimo el demayor variabilidad. Para dimension 32, sin embargo, se puede observar queel porcentaje de reduccion de distancias evaluadas se incrementa entre el al-goritmo exacto (h = 0) y el inexacto manteniendo de un 16,7% a un 32.2%con respecto al AESA al aumentar el valor de la holgura a 0.3. Algo similarocurre al compararlo con el resto de los algoritmos.Esto nos indica que para dimensiones altas esta variante aproximada delPiAESA puede reducir significativamente el numero de distancias evaluadascon respecto a los otros algoritmos y que esta reduccion aumenta con res-pecto a la obtenida por el algoritmo exacto.

127

Page 149: Optimización del uso de pivotes en tareas de búsqueda y ...

En cuanto al porcentaje de recuperacion PR (numero de vmc recuperadoscorrectamente), para estas bases de datos y con estos valores de h, todos losalgoritmos comparados obtienen un porcentaje de recuperacion muy cercanoal 100%, aunque el iAESA mejora ligeramente al resto.Para las bases de datos NASA, COLORS y MNIST (vease tablas 6.13-6.15),PiAESAn mejora ligeramente el comportamiento del resto de los algoritmos(excepto al OMNI-S, al cual mejora considerablemente) en cuanto al numerode distancias evaluadas. Esto se debe a que la dimension intrınseca de lasmismas es muy pequena.El comportamiento del porcentaje de distancias calculadas a medida queaumenta el valor de h tiene muy poca variacion. En el caso de NASA, elPiAESAn reduce entre el 5% y el 6% de las distancias calculadas por elAESA, entre el 13% y el 15% las calculadas por el iAESA y el 88% de lascalculadas por el OMNI-S.En el caso del porcentaje de recuperacion, se puede apreciar que para NASAy COLORS valores pequenos de h influyen en que el porcentaje de recu-peracion del vmc sea afectado rapidamente. MNIST presenta resultados in-teresantes, pues aunque la mejora del PiAESAn con respecto al AESA encuanto al numero de distancias calculadas es poca (entre un 2% y un 3%),se puede observar que sı mejora el porcentaje de recuperacion al incrementarel valor de h.

128

Page 150: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.10: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para una base de datos con distribucion uniforme en el hipercubo unidad con dimension 16 (desviacion estaandarentre parentesis). Para el caso del PiAESAn y el OMNI-S se muestran los resultados obtenidos con el numero optimo depivotes. Las tres ultimas filas representan el porcentaje de mejora del PiAESA con respecto al AESA (Pi/A), al iAESA(Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 0.1 0.2 0.3

AESAD 165.8 (5.3) 135.0 (3.9) 109.0 (2.6) 88.7 (1.8)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 99.1 (0.1)

iAESAD 140.0 (4.9) 111.8 (3.0) 90.2 (1.9) 73.5 (1.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 99.9 (0.2) 99.7 (0.1)

PiAESA-MSDD 123.7 (4.5) 98.6 (2.1) 79.4 (1.2) 64.9 (0.9)

PR (%) 100.0 (0.0) 100.0 (0.0) 99.8 (0.1) 98.5 (0.1)

OMNI-SD 371.9 (6.2) 309.5 (6.2) 256.3 (4.3) 215.0 (4.0)

PR (%) 100.0 (0.0) 99.7 (0.1) 98.6 (0.3) 96.1 (0.2)

Pi/A (%) 25.4 26.8 27.1 26.8Pi/iA (%) 11.6 11.8 12.0 11.6Pi/O (%) 66.7 68.1 69.0 69.8

129

Page 151: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.11: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para una base de datos con distribucion uniforme en el hipercubo unidad con dimension 24 (desviacion estaandarentre parentesis). Para el caso del PiAESAn y el OMNI-S se muestran los resultados obtenidos con el numero optimo depivotes. Las tres ultimas filas representan el porcentaje de mejora del PiAESA con respecto al AESA (Pi/A), al iAESA(Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 0.3 0.5 0.8

AESAD 1277.8 (23.3) 774.3 (14.3) 550.6 (13.2) 327.1 (11.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 99.4 (0.2)

iAESAD 1120.2 (21.5) 655.4 (14.4) 452.9 (13.5) 259.6 (9.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 99.7 (0.1)

PiAESA-MSDD 864.5 (17.7) 506.0 (12.3) 352.5 (7.3) 209.8 (5.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 99.1 (0.2)

OMNI-SD 2087.6 (24.5) 1362.0 (21.2) 1016.2 (19.3) 654.2 (10.4)

PR (%) 100.0 (0.0) 99.4 (0.3) 99.1 (0.3) 97.8 (0.4)

Pi/A (%) 32.3 34.6 35.8 35.8Pi/iA (%) 22.8 22.8 21.9 19.2Pi/O (%) 58.6 62.8 65.2 67.9

130

Page 152: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.12: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para una base de datos con distribucion uniforme en el hipercubo unidad con dimension 32 (desviacion estaandarentre parentesis). Para el caso del PiAESAn y el OMNI-S se muestran los resultados obtenidos con el numero optimo depivotes. Las tres ultimas filas representan el porcentaje de mejora del PiAESA con respecto al AESA (Pi/A), al iAESA(Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 0.3 0.5 0.8

AESAD 5518.4 (25.2) 2332.4 (21.3) 1807.5 (19.6) 911.2 (16.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 99.6 (0.2)

iAESAD 5079.8 (22.9) 2032.6 (22.7) 1554.5 (20.4) 754.2 (19.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0)

PiAESA-MSDD 4594.6 (21.9) 1581.3 (19.9) 1175.6 (17.6) 513.1 (13.2)

PR (%) 100.0 (0.0) 100.0 (0.0) 99.9 (0.1) 99.4 (0.3)

OMNI-SD 7468.7 (28.2) 3483.4 (18.6) 2772.4 (17.6) 1524.2 (17.6)

PR (%) 100.0 (0.0) 99.4 (0.1) 99.1 (0.1) 96.9 (0.4)

Pi/A (%) 16.7 32.2 34.9 39.3Pi/iA (%) 9.5 22.2 24.8 26.7Pi/O (%) 38.5 54.6 57.6 63.7

131

Page 153: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.13: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para la base de datos NASA (desviacion estaandar entre parentesis). Para el caso del PiAESAn y OMNI-S semuestran los resultados obtenidos con el numero optimo de pivotes. Las tres ultimas filas representan el porcentaje de mejoradel PiAESA con respecto al AESA (Pi/A), al iAESA (Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 0.01 0.02 0.03

AESAD 63.2 (1.4) 61.2 (1.2) 59.4 i (1.3) 57.5 (1.3)

PR (%) 100.0 (0.0) 99.8 (0.1) 99.8 (0.1) 99.7 (0.1)

iAESAD 69.3 (1.1) 67.1 (1.1) 65.3 (0.9) 63.4 (1.0)

PR (%) 100.0 (0.0) 99.8 (0.1) 99.7 (0.1) 99.7 (0.1)

PiAESA-MSDD 59.5 (1.1) 57.8 (0.9) 56.0 (1.1) 54.3 (1.1)

PR (%) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0) 100.0 (0.0)

OMNI-SD 500.9 (3.2) 486.6 (2.9) 472.6 (3.0) 459.1 (2.9)

PR (%) 100.0 (0.0) 100.0 (0.0) 99.6 (0.2) 99.4 (0.3)

Pi/A (%) 5.9 5.5 5.6 5.6Pi/iA (%) 14.1 13.8 14.1 14.4Pi/O (%) 88.1 88.1 88.1 88.1

132

Page 154: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.14: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para la base de datos COLORS (desviacion estaandar entre parentesis). Para el caso del PiAESAn y OMNI-S semuestran los resultados obtenidos con el numero optimo de pivotes. Las tres ultimas filas representan el porcentaje de mejoradel PiAESA con respecto al AESA (Pi/A), al iAESA (Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 0.001 0.002 0.003

AESAD 114.0 (1.3) 112.7 (1.3) 111.4 (1.2) 110.1 (1.2)

PR (%) 100.0 (0.0) 99.8 (0.1) 99.8 (0.1) 99.8 (0.1)

iAESAD 122.3 (1.8) 121.2 (1.8) 119.9 (1.6) 118.5 (1.2)

PR (%) 100.0 (0.0) 99.9 (0.1) 99.9 (0.1) 99.8 (0.1)

PiAESA-MSDD 111.9 (1.3) 110.7 (0.9) 109.4 (0.9) 108.2 (0.8)

PR (%) 100.0 (0.0) 99.9 (0.1) 99.9 (0.1) 99.9 (0.1)

OMNI-SD 821.8 (4.5) 816.8 (4.4) 811.7 (4.2) 806.6 (4.1)

PR (%) 100.0 (0.0) 99.9 (0.1) 99.9 (0.1) 99.9 (0.1)

Pi/A (%) 1.8 1.8 1.8 1.8Pi/iA (%) 8.5 8.7 8.7 8.7Pi/O (%) 88.1 88.1 88.1 88.2

133

Page 155: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 6.15: Numero medio de distancias calculadas (D) y porcentaje de recuperacion (PR) al utilizar la busqueda por similitudaproximada para la base de datos MNIST (desviacion estaandar entre parentesis). Para el caso del PiAESAn y OMNI-S semuestran los resultados obtenidos con el numero optimo de pivotes.Las tres ultimas filas representan el porcentaje de mejoradel PiAESA con respecto al AESA (Pi/A), al iAESA (Pi/iA) y al OMNI-S (Pi/O).

h

Algoritmo 0 1 2 3

AESAD 621.0 (3.0) 477.5 (2.7) 364.0 (2.3) 276.5 (2.3)

PR (%) 100.0 (0.0) 99.1 (0.2) 97.0 (0.4) 94.8 (0.6)

iAESAD 656.2 (2.9) 506.3 (2.9) 386.5 (2.8) 293.1 (2.8)

PR (%) 100.0 (0.0) 97.6 (0.3) 94.2 (0.4) 90.6 (0.7)

PiAESA-MSDD 609.6 (2.7) 466.9 (2.3) 354.2 (1.9) 267.6 (1.6)

PR (%) 100.0 (0.0) 99.0 (0.2) 97.5 (0.2) 96.3 (0.4)

OMNI-SD 1935.0 (8.9) 1635.0 (7.7) 1392.4 (6.2) 1202.0 (6.0)

PR (%) 100.0 (0.0) 98.9 (0.5) 95.8 (0.9) 88.2 (1.0)

Pi/A (%) 1.8 2.2 2.7 3.2Pi/iA (%) 7.1 7.8 8.4 8.7Pi/O (%) 68.5 71.4 74.6 77.7

134

Page 156: Optimización del uso de pivotes en tareas de búsqueda y ...

6.4. Conclusiones

El PiAESA mejora los resultados del AESA y el iAESA no solo para labusqueda del vmc, sino tambien en la busqueda de los k-vmc y la busquedapor rango.Los experimentos realizados para la busqueda aproximada demuestran queal igual que en su variante exacta, PiAESA reduce el porcentaje de dis-tancias calculadas con respecto a otros algoritmos con los que se comparo.Ademas, a medida que aumenta el valor de h, el porcentaje de reduccion dedistancias evaluadas con respecto a otros algoritmos se mantiene. En cuantoal porcentaje de recuperacion de los vmc tiene un comportamiento similaral resto de los algoritmos analizados.Algunos de los resultados obtenidos en este capıtulo se han presentado enlas siguientes publicaciones:

Efficient Search Supporting Several Similarity Queries by ReorderingPivots. Raisa Socorro, Luisa Mico y Jose Oncina. Proceedings of theIASTED International Conference Signal Processing, Pattern Recog-nition, and Applications (SPPRA 2011). February 16-18, 2011. Inns-bruck, Austria.

Uso eficiente de pivotes aplicado a la busqueda aproximada en algo-ritmos rapidos sobre espacios metricos. Raisa Socorro y Luisa Mico.Enviado a la Revista Computacion y Sistemas, junio 2012.

135

Page 157: Optimización del uso de pivotes en tareas de búsqueda y ...

136

Page 158: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 7

Uso de pivotes en una tareade clasificacion

Una de las aplicaciones mas importantes de la busqueda por similituden espacios metricos es en el area del reconocimiento de patrones en tareascomo la clasificacion de objetos. Durante la etapa de extraccion de carac-terısticas se extraen las caracterısticas mas relevantes de los objetos (Dudaet al., 2001). Estas caracterısticas pueden ser representadas en un espaciode vectores o utilizando una representacion estructurada como pueden sercadenas, arboles y grafos, entre otros (Shasha and Zhang (1990), Navarro(2001), Gao et al. (2010)).El uso de una representacion estructurada de las caracterısticas de los obje-tos limita el empleo de clasificadores, siendo los clasificadores por vecindad(descritos en la seccion 4) unos de los mas utilizados. Esto implica que eltiempo de respuesta del clasificador dependera de la complejidad de la fun-cion distancia y del numero de distancias evaluadas durante la clasificacion.En capıtulos anteriores se ha propuesto un grupo de algoritmos eficientespara la busqueda del vmc, de los k-vmc y la busqueda por rango, que puedenser utilizados para mejorar la eficiencia de una tarea de clasificacion basa-da en distancias, pues reducen el numero de distancias a evaluar. En estecapıtulo se propone utilizar nuevamente los pivotes, pero ahora para obteneruna transformacion de los objetos del espacio original a un espacio de vec-tores y utilizar esta nueva representacion en una tarea de clasificacion. Alcambiar la representacion de objetos estructurados a un espacio de vectoreses posible utilizar distancias mucho mas baratas y con esto reducir el tiempode respuesta. Ademas se propone utilizar algunas estrategias de combinacionde clasificadores con el objetivo de que la calidad en la respuesta obtenidaal utilizar los objetos originales no se pierda al realizar la transformacion.Los experimentos presentados en este capıtulo fueron realizados para unatarea de clasificacion de caracteres manuscritos. En este caso se utilizaroncomo representaciones originales de los objetos dos representaciones estruc-

137

Page 159: Optimización del uso de pivotes en tareas de búsqueda y ...

turadas: 1) cadenas de contorno de la imagen y 2) arboles del esqueleto dela imagen, ambas extraıdas de la base de datos NIST.En las siguientes secciones se presentan los resultados de clasificacion alaplicar la regla de los k-vmc individualmente a las representaciones origi-nales y a las transformaciones obtenidas de las mismas al aplicar el metodode transformacion propuesto en esta tesis. Ademas se presentan varias es-trategias de combinacion de clasificadores basadas en la utilizacion de losresultados de la transformacion.

7.1. Clasificacion simple

Para realizar la tarea de clasificacion de caracteres manuscritos a partirde la base de datos NIST se diseno un conjunto de experimentos utilizan-do dos representaciones estructurales de los caracteres manuscritos y unarepresentacion de vectores de los mismos, estas son:

cadenas: representa la cadena de Freeman obtenida del contorno exte-rior de los caracteres manuscritos (descrito en la seccion 2.7.2.1);

arboles: representa el esqueleto del caracter (descrito en la seccion2.7.2.2);

vectores: se obtuvo a partir de la matriz cuadrada mas pequena queincluye al caracter de la imagen original (descrito en la seccion 2.7.2.3).

La representacion de vectores utilizada en este trabajo, aunque no es la quemejores resultados de clasificacion obtiene en esta tarea de clasificacion decaracteres manuscritos, es muy sencilla y brinda buenos resultados al com-binarla con las otras representaciones empleadas.La tarea de clasificacion se realiza con 26 clases asociadas a las letras delalfabeto y se utilizo como clasificador base la regla de los k-vmc. En losexperimentos donde se utilizan datos estructurados se utilizo el algoritmoAESA para la busqueda de los k-vmc. En todos los experimentos realizadosen este capıtulo se utilizan conjuntos de entrenamiento con 15000 objetosy conjuntos de prueba con 1000 objetos diferentes. Todos los experimentosse repiten 10 veces para conjuntos de entrenamiento y prueba diferentes,y lo que se presenta es la tasa media de error de estos experimentos y sudesviacion estandar.A continuacion se describen diferentes representaciones de los objetos, lasdistancias que se pueden aplicar sobre los mismos y los experimentos que nospermitieron determinar cuales de las representaciones obtenidas nos permitealcanzar la menor tasa de error de clasificacion.

138

Page 160: Optimización del uso de pivotes en tareas de búsqueda y ...

7.1.1. Cadenas

Durante la etapa de extraccion de caracterısticas en la base de datosNIST se obtuvieron varias cadenas de contorno para cada caracter, variandola resolucion de la imagen en cada caso. Las resoluciones usadas fueron64×64(50%), 32×32(25%), 16×16(12.5%) y la imagen original de 128×128.Se utilizo la distancia de edicion de cadenas descrita en la seccion 2.7.2.1pero normalizada con el objetivo de disminuir la influencia de la longitud delas cadenas (invarianza al tamano del caracter). En esta tesis se utilizaronlas tıpicas normalizaciones usadas para este fin. La distancia de ediciondefinida de esta manera no cumple la desigualdad triangular, por tanto noes una metrica. En este caso esto no resulta un gran problema porque,segun algunos experimentos realizados en el trabajo de De la Higuera andMico (2008), la desigualdad triangular no se cumple en muy pocos casos,y sin embargo se reduce el error de clasificacion, tanto con este tipo denormalizacion como con otras ampliamente utilizadas. A continuacion sedescriben estas normalizaciones:

1. Norm1: se divide la distancia por la suma de las longitudes de ambascadenas

dN (s, t) =d(s, t)

|s|+ |t|.

2. Norm2: se divide la distancia por la longitud de la cadena de mayortamano

dN (s, t) =d(s, t)

max (|s|, |t|).

Se realizo un primer experimento para comparar el resultado de clasificacional utilizar estas normalizaciones. En la tabla 7.1 se muestra el porcentaje deerror de clasificacion obtenido al aplicar la regla de los k-vmc a las cadenasde contornos obtenidas a partir de imagenes con una resolucion de 64 × 64utilizando ambas normalizaciones. Analizando los resultados y la desviacionestandar obtenidos con las dos normas, podemos apreciar que no hay muchadiferencia en los resultados, por lo que es posible emplear cualquiera de lasdos normas. En nuestro caso seleccionamos la normalizacion Norm2 para elresto de los experimentos.

139

Page 161: Optimización del uso de pivotes en tareas de búsqueda y ...

Tabla 7.1: Error de clasificacion (%) obtenidos aplicando la regla de losk-vmc a las cadenas de contornos obtenidas a partir de imagenes con unaresolucion de 64× 64 utilizando las normalizaciones Norm1 y Norm2 (entreparentesis la desviacion estandar).

cadenas

k Norm1 (%) Norm2 (%)

1 13.4 (1.7) 12.9 (1.3)3 14.4 (1.6) 13.8 (1.6)5 16.5 (2.0) 15.9 (1.8)7 18.5 (2.2) 18.0 (1.8)

Otro experimento realizado consistio en aplicar la regla de los k-vmc a lascadenas de contorno obtenidas con diferentes resoluciones para determinarla resolucion final de la imagen que nos permite obtener una cadena decontorno con la que se alcance una buena relacion entre el porcentaje de errorde clasificacion y el tiempo de respuesta. Los resultados de este experimentose muestran en la figura 7.1, donde se puede apreciar que con las cadenasde contorno con resoluciones de 128 × 128 y 64 × 64 se obtienen mejoresresultados de clasificacion que con las demas. Si bien se aprecia que con lascadenas de contorno obtenidas a partir de la imagen original se obtienen losmejores resultados (11.8%), el tiempo de clasificacion es mucho mayor queel obtenido para cadenas de contorno a partir de la imagen reducida a unaresolucion de 64 × 64 (vease tabla 7.21), con la que se obtiene un error declasificacion de 12.9%, por lo que se decide utilizar las cadenas de contornoobtenidas con una resolucion de la imagen de 64× 64.

Tabla 7.2: Tiempo de clasificacion (%) para cadenas de contorno con dife-rentes resoluciones usando como referencia (100%) el tiempo empleado conla imagenes originales.

k 128 × 128 64× 64 32 × 32 16 × 16

1 100% 19.8% 6.4% 2.3%3 100% 19.8% 6.5% 2.4%5 100% 19.9% 6.6% 2.4%7 100% 20.1% 6.7% 2.5%

1Por ejemplo, con una resolucion de 64× 64 y k = 1 el tiempo de clasificacion es soloel 19.8 % del tiempo de clasificacion al emplear la imagen orginal (128 × 128)

140

Page 162: Optimización del uso de pivotes en tareas de búsqueda y ...

0

20

40

60

80

100

1 3 5 7

% e

rror

k

128x128 64x64 32x32 16x16

Figura 7.1: Error de clasificacion para cadenas de contorno con diferentesresoluciones.

7.1.2. Arboles

Durante la etapa de extraccion de caracterısticas se obtuvo la cadena delarbol del esqueleto de la imagen original a partir del algoritmo planteado enel trabajo de Rico and Mico (2003) descrito en la seccion 2.7.2.2, utilizandoventanas de diferentes tamanos (R = 2, 4, 8 y 12).Para aplicar un algoritmo de busqueda se necesita una distancia, que en estecaso es la distancia de edicion entre arboles, utilizando el algoritmo descritoen (Shasha and Zhang, 1990). La distancia obtenida es normalizada con elobjetivo de disminuir la influencia del numero de nodos de los arboles, dealguna manera relacionado directamente con el tamano de las imagenes. Eneste caso tambien se utilizan las normalizaciones tıpicas que se describen acontinuacion:

1. Norm1: se divide la distancia por el total de nodos en los dos arboles

dN (t1, t2) =d(t1, t2)

|t1|+ |t2|,

2. Norm2: se divide la distancia por el numero de nodos del arbol quetiene mayor numero de nodos

dN (t1, t2) =d(t1, t2)

max (|t1|, |t2|),

141

Page 163: Optimización del uso de pivotes en tareas de búsqueda y ...

donde |t1| y |t2| son el numero de nodos de los arboles t1 y t2 respectivamente.Los experimentos realizados se reflejan en la tabla 7.3. Analizando estos re-sultados y la desviacion estandar obtenidos con las dos normas, podemosapreciar que no hay mucha diferencia entre ellas por lo que es posible em-plear cualquiera de las dos. En nuestro caso seleccionamos la normalizacionNorm2 para el resto de los experimentos donde se utilicen cadenas del arboldel esqueleto.

Tabla 7.3: Error de clasificacion (%) aplicando la regla de los k-vmc, ala cadena del arbol del esqueleto obtenidas con R = 2 utilizando ambasnormalizaciones.

k Norm1 (%) Norm2 (%)

1 27.8 (2.2) 26.4 (1.8)3 29.1 (2.3) 27.4 (2.0)5 32.0 (2.2) 30.4 (2.0)7 34.4 (1.9) 33.2 (2.3)

En un segundo experimento se aplico la regla de los k-vmc a arboles delesqueleto obtenidos con ventanas de diferentes tamanos (R=2, 4, 8, 12). Losresultados de este experimento se muestran en la figura 7.2, donde se puedeapreciar que el esqueleto obtenido con R = 2 es el que mejores resultadosde clasificacion ofrece y es el utilizado en los experimentos donde se utilizael arbol del esqueleto.

0

20

40

60

80

100

1 3 5 7

% e

rror

k

R=2 R=4 R=8 R=12

Figura 7.2: Error de clasificacion para cadenas del arbol del esqueletoobtenidas con diferentes valores de R.

142

Page 164: Optimización del uso de pivotes en tareas de búsqueda y ...

7.1.3. Vectores

Durante la etapa de extraccion de caracterısticas se obtuvieron variasrepresentaciones de vectores a partir de la division de la imagen en 25, 36 y49 submatrices respectivamente (vease seccion 2.7.2.3). Los resultados quese presentan en la Tabla 7.4 muestran que estos son muy similares entresı. En los siguientes experimentos se decide utilizar el vector histograma re-sultante al dividir la imagen en 25 submatrices, por ser el vector de menordimension entre los analizados.

Tabla 7.4: Error de clasificacion (%) para la representacion obtenida aldividir la imagen en n submatrices.

k n=25 n=36 n=49

1 27.4 (1.4) 28.6 (2.1) 28.6 (1.9)3 28.9 (1.3) 29.6 (2.1) 30.8 (1.8)5 32.4 (1.5) 31.2 (2.2) 35.0 (2.0)7 35.6 (1.8) 33.8 (1.7) 37.0 (2.3)

7.2. Criterios de seleccion de pivotes para una trans-

formacion vectorial

En esta seccion se propone el empleo de una transformacion de un espacioestructurado a R

n teniendo en cuenta las caracterısticas de este tipo detransformacion descritas en el capıtulo 3. El objetivo de esta transformaciones disminuir el tiempo de respuesta de la clasificacion en representacionespara las que las distancias a aplicar son muy costosas.Nuestra propuesta se basa en la transformacion de Lipschitz (Linial et al.,1995). Una transformacion Lipschitz a un espacio de vectores en Rn parauna coleccion de objetos X ⊂ U consiste primero en seleccionar un conjuntoA de subconjuntos de X, A = {A1, A2, · · · , An}, siendo Ai ⊂ X un conjuntode referencia, y despues realizar la transformacion de todos los objetos x ∈ Xcon respecto a A:

FA(x) = ( mınai∈A1

d(x, ai), mınai∈A2

d(x, ai), · · · , mınai∈An

d(x, ai)),

es decir, cada dimension del vector resultante se corresponde con la mınimadistancia del objeto x a los objetos del conjunto Ai. En nuestra propuesta,cada subconjunto Ai ∈ A estara formado por un solo objeto a ∈ X. Es-tos objetos pueden ser seleccionados utilizando algunas de las tecnicas deseleccion de pivotes descritas en el capıtulo 3. De manera general, la ideaconsiste en que un objeto representado por una estructura puede ser trans-formado a un vector calculando la distancia a todos los objetos seleccionados

143

Page 165: Optimización del uso de pivotes en tareas de búsqueda y ...

como pivotes, donde cada distancia representa un componente del vector.Formalmente, se define la transformacion como:

Definicion 7 Dado un espacio metrico (X, d) y un subconjunto de objetosA = {a1, a2, · · · , an} ⊆ X, la transformacion fn

A → Rn se define como una

funcion:

fnA(u) = (d(u, a1), d(u, ba2), · · · , d(u, an)) ∀u ∈ X,

donde d es la distancia en el espacio original y n = |A|.

Una vez realizada la transformacion, es posible utilizar para la clasificaciondistancias definidas para un espacio de vectores, como por ejemplo las perte-necientes a la familia de distancias de Minkowski. Esta transformacion cumplecon la propiedad de contraccion (Linial et al., 1995)( vease seccion 3.1.1), queconsiste en que dT (f(ui), f(uj)) ≤ d(ui, uj) ∀ui, uj ∈ X, aunque no preservael orden de cercanıa entre los objetos, lo que implica que la utilizacion de latransformacion fn

A para la busqueda del vmc ofrecera un resultado aproxi-mado.En la figura 7.3 se muestran los resultados de clasificacion obtenidos alaplicar la regla de los vmc a diferentes transformaciones realizadas a la basede datos de cadenas de contorno (base de datos NISTC). La diferencia entrecada una de las transformaciones empleadas consiste en el metodo utilizadopara seleccionar los objetos que pertenecen al conjunto de A (metodos deseleccion de pivotes descritos en la seccion 3.5).En el experimento que se muestra en la figura 7.3 se ha utilizado el vmc, yse observa que para el caso de los metodos SED y SDP (donde el numeromaximo de objetos a utilizar viene implıcito en el propio algoritmo) el con-junto A puede tener a los sumo 30 objetos para la base de datos utilizada,y es precisamente con ese valor con el que se obtiene el menor porcentajede error de clasificacion. Para los metodos MMD y MSD, donde el tamanodel conjunto A puede ser igual al tamano de la base de datos, se aprecia queexiste un tamano optimo para el conjunto A a partir del cual el porcentajedel error de clasificacion sufre poca variacion. En ambos casos el error declasificacion comienza a estabilizarse para conjuntos A de tamanos entre 30y 60. El metodo que menor error de clasificacion obtiene es el MMD, quees el utilizado en el resto de experimentos de esta tesis donde se utilizantransformaciones.En la tabla 7.5 se presenta el error de clasificacion al utilizar las repre-sentaciones de cadenas y arboles, tanto en el espacio original como en eltransformado. En el caso de utilizar las representaciones originales, el menorerror de clasificacion para cualquier valor de k se obtiene al emplear las ca-denas de contorno. La diferencia entre utilizar cadenas y utilizar arboleso vectores es significativa. Las dos ultimas columnas presentan el error declasificacion al utilizar las transformaciones obtenidas para cadenas y arboles

144

Page 166: Optimización del uso de pivotes en tareas de búsqueda y ...

al utilizar el criterio MMD para seleccionar los pivotes que forman el con-junto A. En el caso de la transformacion realizada a cadenas, el error declasificacion aumento alrededor de un 10% con respecto al obtenido con larepresentacion original, sin embargo sigue siendo mejor que el obtenido porarboles y vectores. El error de clasificacion para la transformacion de losarboles aumento con respecto a la obtenida por la representacion original,pero solo en un 3% para valores de k ≤ 3.

55

60

65

70

75

80

85

0 20 40 60 80 100 120 140 160 180 200

% e

rror

cla

sific

ació

n

tamaño del conjunto A

MSD MMD SDP SED

Figura 7.3: Error de clasificacion empleando la regla del vmc aplicando elmetodo de transformacion con diferentes criterios para seleccionar los obje-tos que pertenecen al conjunto A.

Tabla 7.5: Error de clasificacion (%) al emplear la regla de los k-vmcpara clasificadores individuales utilizando las transformaciones (desviacionestandar entre parentesis). Se emplearon 15000 objetos en el conjunto deentrenamiento y 1000 en el conjunto de prueba.

espacio original transformacionesk cadenas arboles vectores cadenasT arbolesT

1 12.9(1.1) 26.4(1.6) 27.4(1.4) 22.2(2.2) 31.4(1.4)3 13.8(1.3) 27.4(1.8) 28.9(1.2) 21.4(1.8) 30.5(1.1)5 15.9(1.6) 30.4(1.8) 32.4(1.0) 21.2(1.2) 30.0(1.3)7 18.0(1.6) 33.2(2.0) 35.6(1.0) 21.5(1.3) 30.3(1.2)

La transformacion de una representacion estructurada a un espacio de vec-tores permite reducir el tiempo de respuesta durante la clasificacion debido

145

Page 167: Optimización del uso de pivotes en tareas de búsqueda y ...

a que solo es necesario calcular n distancias en el espacio original, siendo nla dimension del vector resultante de la transformacion. Los resultados ex-perimentales confirman que ademas de la reduccion del tiempo de respuestade la clasificacion se incrementa el error de clasificacion. A continuacion seexploran varias propuestas basadas en el uso de las tranformaciones paraintentar reducir el tiempo de clasificacion y mejorar o mantener el error declasificacion con respecto al obtenido al utilizar la representacion original delos objetos.

7.3. Estrategia filtro-refinamiento

En la seccion 3.1.1 se plantea que cuando una transformacion cumple conla propiedad de contraccion es posible utilizar una estrategia de busquedaconocida como filtro-refinamiento (Korn et al., 1996). Esta estrategia constaprincipalmente de 2 etapas. La primera etapa consiste en usar como un“filtro” durante el proceso de busqueda la distancia definida en el espaciotransformado para encontrar un conjunto de candidatos, y la segunda etapase encarga del “refinamiento” del resultado anterior al evaluar la distancia enel espacio original de todos los candidatos. A continuacion vamos a describircomo aplicar este esquema en nuestro caso.

Dado un espacio metrico (U, d), una base de datos X ⊂ U como conjuntode entrenamiento X, y una distancia dT definida para un espacio de vectores:

Etapa de preproceso:

1. Se obtiene un conjunto A ⊂ X a partir de algun criterio de selec-cion de pivotes.

2. Se obtiene el conjunto XA al transformar el conjunto de entre-namiento X con la transformacion

f(x)A = {d(x, a1), d(x, a2), · · · , d(x, an)},

donde ai ∈ A y n = |A|.

Etapa de clasificacion de una consulta q:

1. Transformacion: se obtiene la transformacion de la consulta qcomo:

f(q)A = (d(q, a1), d(q, a2), · · · , d(q, an)).

2. Filtro: se obtiene un conjunto con k1 objetos al realizar la busque-da por similitud de los k1 vecinos mas cercanos a f(q)A en el con-junto de entrenamiento transformado XA, utilizando una funcionde disimilitud definida en el espacio de vectores. A este conjuntose le llama V A

k1.

146

Page 168: Optimización del uso de pivotes en tareas de búsqueda y ...

3. Refinamiento: se obtiene un conjunto con k2 objetos al buscar losk2 vmc a la consulta q en el conjunto Vk1 ⊂ X, tal que ∀x ∈ Vk1

se cumple que x = f−1(xA), xA ∈ V Ak1 y x ∈ X. A este conjunto

se le llama Vk2 .

4. Clasificacion: se clasifica q al realizar la votacion por mayorıaentre todos los k2 objetos de Vk2 .

En la figura 7.4 se presenta un esquema de nuestra propuesta.

Figura 7.4: Esquema de funcionamiento de la estrategia filtro-refinamiento,donde X es el conjunto de entrenamiento y A ⊂ X el conjunto de pivotesseleccionados para realizar la transformacion.

7.3.1. Resultados experimentales

En esta seccion se analiza el comportamiento de la estrategia filtro-refinamiento propuesta, utilizando para ello dos esquemas de funcionamien-to. La diferencia principal entre ambos esquemas se encuentra en la repre-sentacion de los datos utilizada como entrada al proceso de filtrado. Estosesquemas se describen a continuacion.

CadT -Cad: durante la etapa de preproceso se obtiene el conjunto XA

al transformar la base de datos de cadenas (NISTC) a un espaciode vectores. Los objetos del conjunto A se seleccionan utilizando elcriterio de seleccion de pivotes MMD y |A| = 50, ya que a partir de esetamano del conjunto A el error de clasificacion comienza a estabilizarse(vease figura 7.3). Durante la etapa de clasificacion de una consultaq, se obtiene la transformacion qA y se utiliza como entrada al pasode filtrado el conjunto XA obtenido durante la etapa de preproceso.En este paso se filtran los k1 objetos mas cercanos qA (V A

k1) utilizandola distancia L2 como dT . En el paso de refinamiento se utiliza comoentrada la representacion en el espacio de cadenas de los objetos delconjunto V A

k1. En este paso se seleccionan los k2 objetos mas cercanos aq (Vk2(q)) utilizando la distancia de edicion entre cadenas. Se le asignaa q la clase mayoritaria entre los objetos de Vk2(q).

Vec-Cad: en este esquema no es necesario realizar la etapa de transforma-cion en preproceso. Durante la etapa de clasificacion de una muestra

147

Page 169: Optimización del uso de pivotes en tareas de búsqueda y ...

q se utiliza como entrada al paso de filtrado el conjunto XA al cualpertenecen todos los objetos de la base de datos NISTV (estan re-presentados en un espacio de vectores). En este paso se filtran los k1objetos mas cercanos qA (V A

k1) utilizando la distancia L2 como dT . Seutiliza como entrada al paso de refinamiento la representacion en elespacio de cadenas de los objetos del conjunto V A

k1, en este paso seseleccionan los k2 objetos mas cercanos a q (Vk2(q)) utilizando la dis-tancia de edicion entre cadenas. Se le asigna a q la clase mayoritariaentre los objetos de Vk2(q).

El valor de k1 a utilizar durante la etapa de filtrado influye en la precisiony tiempo de respuesta de la clasificacion final. A medida que se incrementael valor de k1 se incrementa la precision y el tiempo de respuesta. Despuesde varios experimentos se determino que el valor de k1 adecuado para cadaesquema era de 100 y 200 respectivamente.En la tabla 7.6 se muestra el error de clasificacion al emplear ambos esque-mas. Se puede observar que los mejores resultados se obtienen al emplear lascadenas transformadas para filtrar la busqueda (CadT -Cad). En este casose obtiene para k = 1 un porcentaje de error de clasificacion del 13.2%,cercano al 12.9% obtenido al utilizar las cadenas originales, evaluando enel peor caso 150 distancias en el espacio original, mientras que si se empleael esquema Vec-Cad, aunque se obtiene un error de clasificacion de 13.6%(bastante similar al obtenido con el esquema CadT -Cad), serıa necesarioevaluar 200 distancias en el espacio de cadenas. Tambien se puede apreciarque al emplear el esquema CadT -Cad el error se estabiliza a medida queaumenta la k, lo cual no ocurre al emplear el espacio de cadenas. Estos re-sultados no son concluyentes, porque la desviacion estandar (obtenida para10 repeticiones de este experimento) hace que el mejor y peor caso (parak = 1) esten dentro del mismo rango.

Tabla 7.6: Error de clasificacion (%) usando una estrategia filtro-refinamiento (desviacion estandar entre parentesis).

k CadT -Cad Vec-Cad Cadenas

1 13.2(1.2) 13.6(1.2) 12.9(1.1)3 12.3(0.9) 14.5(1.4) 13.8(1.3)5 12.4(1.1) 16.5(1.7) 15.9(1.6)7 12.9(1.2) 18.5(1.7) 18.0(1.6)

7.4. Combinacion de clasificadores

La utilizacion de tecnicas de combinacion de clasificadores como las des-critas en la seccion 4.2 permiten mejorar la precision y el tiempo de respues-

148

Page 170: Optimización del uso de pivotes en tareas de búsqueda y ...

ta durante una tarea de clasificacion. En esta tesis proponemos utilizar elesquema de votacion de confianza (suma, producto y maximo descritos tam-bien en la seccion 4.2) para combinar clasificadores que utilicen conjuntosde entrenamiento que representen diferentes tipos de caracterısticas de unmismo conjunto de objetos. En particular nos proponemos combinar repre-sentaciones en espacio de vectores y representaciones estructurales.Se diseno un conjunto de combinaciones para comprobar experimentalmentecomo influyen en el error y en el tiempo de clasificacion. Estas combinacionesse describen a continuacion:

C1: cadenas y vectores,

C2: cadenas y arboles,

C3: arboles y vectores,

C4: cadenas, arboles y vectores,

C5: cadenasT , arbolesT y vectores.

El primer experimento realizado consiste en seleccionar la medida de con-fianza que permite obtener mejores resultados de combinacion. En este casofueron usadas las medidas de confianza definidas en las ecuaciones 4.5-4.8 enla seccion 4.2 a los tres esquemas de combinacion: suma, producto y maximoutilizados para la combinacion C4, ya que en esta se combinan tres repre-sentaciones diferentes de los objetos de una misma base de datos.En la figura 7.5 se presentan los resultados de este experimento, donde sepuede apreciar que las medidas de confianza que permiten obtener menoreserrores de clasificacion son las medidas de confianza obtenidas por las ecua-ciones 4.6 y 4.7 con resultados muy similares (que corresponden a mc2 ymc3). De esta figura, tambien podemos concluir que para estos datos losmejores resultados de combinacion se obtienen utilizando el esquema de lasuma. Teniendo en cuenta esto, se decide utilizar en el resto de experimen-tos de esta tesis la medida de confianza obtenida por la ecuacion 4.7 y elesquema de combinacion basado en la suma.A continuacion se presenta un experimento para determinar que combi-nacion de las cinco definidas anteriormente reduce el error de clasificacioncon respecto al error obtenido por los clasificadores individuales (veaseseccion 7.1). Ademas se ha utilizado como baseline los mejores resultadosobtenidos individualmente y que fueron aquellos en los que se utilizaba lacadena de contorno. Recordamos que en este caso el error de clasificacionfue de 12.9% utilizando el vecino mas proximo.

149

Page 171: Optimización del uso de pivotes en tareas de búsqueda y ...

0

20

40

60

80

100

1 3 5 7

% e

rro

r

k

mc1 mc2 mc3 mc4

(a) suma

0

20

40

60

80

100

1 3 5 7

% e

rro

r

k

mc1 mc2 mc3 mc4

(b) producto

0

20

40

60

80

100

1 3 5 7

% e

rro

r

k

mc1 mc2 mc3 mc4

(c) maximo

Figura 7.5: Error de clasificacion (%) al utilizar diferentes medidas de confi-anza a los esquemas de combinacion utilizados. (a) suma, (b) producto ,(c)maximo.

150

Page 172: Optimización del uso de pivotes en tareas de búsqueda y ...

En la tabla 7.7 se observa que la tasa de error de clasificacion esta influen-ciada por el numero de vecinos recuperados y de la combinacion aplicada.A continuacion se resumen los resultados obtenidos:

independientemente de la combinacion, los mejores resultados se ob-tienen para valores de k > 1;

cualquier combinacion de dos representaciones donde las cadenas seauna de ellas (C1 y C2), mejora los resultados de cualquier clasificadorindividual para k > 1 (vease tabla 7.5);

el mejor resultado se obtiene al usar la combinacion C4 con k = 3,en este caso se utilizan las 3 representaciones (cadenas, arboles y vec-tores);

la combinacion C5 para valores de k > 1 obtiene mejores resultados declasificacion que cualquiera de los clasificadores simples (vease tabla7.5), con la diferencia de que la clasificacion es mucho mas rapida alemplear las transformaciones.

Tabla 7.7: Error de clasificacion (%) al emplear la regla de los k-vmc paralas cinco combinaciones de clasificadores descritas (desviacion estandar entreparentesis).

combinacionesk C1 C2 C3 C4 C5

1 19.6(1.0) 19.4(1.4) 26.5(1.1) 13.3(1.1) 18.0(1.2)3 11.0(1.0) 11.5(1.3) 16.7(1.3) 8.9(1.1) 12.6(1.3)5 10.5(0.7) 10.9(1.4) 15.8(1.5) 9.1(1.0) 12.1(1.0)7 10.5(0.6) 11.1(1.5) 16.2(1.7) 9.3(1.1) 12.4(1.3)

Tabla 7.8: Error (%) y tiempo de clasificacion para todas las combinaciones.Se utiliza como referencia el error utilizando un clasificador simple con ca-denas.

cadenas C4 C5 CadT -Cad Vec-Cad

error (%) 12.9 8.9 12.1 12.3 13.6tiempo (%) 100 158 8 13.9 18.4

La reduccion del tiempo de respuesta de clasificacion al utilizar lasmejores combinaciones y las estrategias de filtro-refinamiento se presentanen la tabla 7.8. Si el objetivo es reducir el tiempo de clasificacion, la com-binacion C5 (vectores, cadenasT y arbolesT ) reduce ligeramente la tasa deerror obtenida por las cadenas reduciendo ademas a un 8% el tiempo declasificacion. Sin embargo, si el objetivo es reducir la tasa de error se puede

151

Page 173: Optimización del uso de pivotes en tareas de búsqueda y ...

utilizar la combinacion C4, en nuestros experimentos hemos reducido el errorde un 12.9% hasta un 8.9%.

7.5. Conclusiones

El uso eficiente de pivotes al realizar una transformacion de una repre-sentacion estructural de un objeto a una representacion en R

n reduce eltiempo de clasificacion aunque incrementa el error de clasificacion alrededorde un 10%.El uso de un esquema filtro-refinamiento aplicando transformaciones de unarepresentacion estructural de un objeto a una representacion en R

n durantela etapa de filtrado reduce el tiempo de clasificacion sin afectar el error declasificacion si se utiliza un clasificador simple en el espacio original.Al combinar diferentes representaciones de un mismo objeto es posible re-ducir la tasa de error de clasificacion con respecto a la obtenida por el mejorclasificador individual que forma parte de la combinacion. Dependiendo deque combinacion usemos podemos mejorar el tiempo de clasificacion o elerror de clasificacion.

152

Page 174: Optimización del uso de pivotes en tareas de búsqueda y ...

Parte III

Conclusiones finales yobjetivos futuros

153

Page 175: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 176: Optimización del uso de pivotes en tareas de búsqueda y ...

Capıtulo 8

Conclusiones

En esta tesis se ha explorado y explotado el uso de diferentes tecnicas deseleccion de pivotes en algoritmos de busqueda por similitud y clasificacionpara mejorar la eficiencia de estas tareas.

En la tarea de busqueda por similitud

Se ha analizado el comportamiento del algoritmo AESA, un algoritmode busqueda por similitud en espacios metricos que ha sido referencia du-rante muchos anos como el algoritmo que menos distancias calcula duranteel proceso de busqueda del vecino mas cercano. A partir de este analisis seha propuesto un nuevo algoritmo llamado PiAESA que reduce el numerode distancias calculadas por el AESA y otros algoritmos miembros de esafamilia. Esto se debe a que este nuevo algoritmo permite utilizar durante lasprimeras iteraciones del proceso de busqueda un criterio de aproximaciondiferente al utilizado por el AESA original, siempre que los objetos selec-cionados como pivotes con este criterio contribuyan a incrementar rapida-mente la funcion cota inferior de la distancia entre cada objeto de la base dedatos y la consulta. Para elegir los pivotes que mas contribuyen rapidamentea la obtencion de una buena funcion cota inferior (maximizando el valor dela funcion para todo objeto de la base de datos), se construye en tiempo depreproceso una lista “ordenada” de pivotes a partir de los objetos en la basede datos, y durante las primeras iteraciones de la busqueda se optimiza eluso de los pivotes utilizando para ello algun metodo de seleccion de pivotes.En esta tesis se han utilizado diferentes metodos de seleccion de pivotes.Se ha demostrado experimentalmente que la efectividad de la tecnica deseleccion de pivotes utilizada durante las primeras iteraciones de la etapade aproximacion esta asociada a algunas propiedades de la base de datos ala que se aplica, principalmente a la dimension intrınseca de la misma. Porejemplo para dimensiones pequenas (dimension 10) los mejores resultados se

155

Page 177: Optimización del uso de pivotes en tareas de búsqueda y ...

obtienen al emplear el metodo MMD, mientras que para dimensiones altas(dimension 24) se obtienen con el metodo MSD.Al analizar de forma experimental el comportamiento del algoritmo prop-uesto PiAESA con respecto a otros algoritmos de la familia AESA (LAESA,iAESA y AESA), se ha comprobado que PiAESA reduce el numero de dis-tancias evaluadas durante la busqueda, y que esta reduccion aumenta alincrementarse la dimension del espacio. Por ejemplo, utilizando el criterioMMD:

Con respecto al AESA reduce en un 23.82% el numero de distanciasevaluadas para dimension 12 y en un 44.8% para dimension 24.

Con respecto al LAESA reduce en un 55.7% el numero de distanciasevaluadas para dimension 12 y en un 73.6% para dimension 24.

Con respecto al iAESA reduce en un 14,34% el numero de distanciasevaluadas para dimension 12 y en un 23.48% para dimension 24.

El PiAESA mejora los resultados del AESA y el iAESA no solo para labusqueda del vmc, sino tambien en la busqueda de los k-vmc y la busquedapor rango, por ejemplo:

Busqueda de los k-vmc: en el hipercubo unidad nuestra propuestamejora al AESA, para los valores de k analizados, entre un 16 y 17%para dimension 12 y entre un 24 y 31% para dimension 24. Con re-specto al iAESA esta mejora esta entre un 7 y 10% para dimension12 y entre un 18 y 22% para dimension 24.

Busqueda por rango: en el hipercubo unidad para dimensiones altas,como es el caso de dimension 24, el porcentaje de reduccion de distan-cias calculadas crece con respecto al resto de los algoritmos comparadosa medida que aumenta r. En este caso, nuestra propuesta mejora alAESA en un 13.8% con r = 2 y en un 32.2% para r = 3, y al iAESAen un 7.1% para r = 2 y en un 13.1% para r = 3.

Los experimentos realizados para la busqueda aproximada demuestran queal igual que en su variante exacta, PiAESA reduce el porcentaje de dis-tancias calculadas con respecto a otros algoritmos con los que se comparo.Por ejemplo, para dimension 24, el PiAESA reduce entre el 32% y 36%las distancias calculadas por el AESA, y entre 19% y 23% las calculadaspor el iAESA. En cuanto al porcentaje de recuperacion de los vmc, para unvalor de holgura determinada, tiene un comportamiento similar al resto delos algoritmos analizados.

156

Page 178: Optimización del uso de pivotes en tareas de búsqueda y ...

En la tarea de clasificacion

En este caso se ha analizado el uso de pivotes para reducir el tiempo de re-spuesta en una tarea de clasificacion. Se ha comprobado experimentalmenteque el uso de pivotes al realizar una transformacion de una representacionestructural de un objeto a una representacion en R

n reduce el tiempo declasificacion con respecto al obtenido usando la representacion original delos datos. Esto se consigue al reducir el numero de distancias evaluadas enel espacio original (normalmente de mayor coste), aunque esto conlleva unincremento de aproximadamente un 10% del error de clasificacion. Por ejem-plo:

Al utilizar la representacion de cadenas de contorno para el vmc seobtiene un error de clasificacion de 12.9%, mientras que al utilizarseuna transformacion usando 50 objetos como pivotes se obtiene un errorde clasificacion de 22.2%.

Al utilizar la representacion basada en el arbol del esqueleto se ob-tiene un error de clasificacion del 26.4%, mientras que al usarse unatransformacion usando 50 pivotes se obtiene un error de clasificacionde 31.4%

El uso de un esquema filtro-refinamiento aplicando transformaciones de unarepresentacion estructural de un objeto a una representacion en R

n durantela etapa de filtrado permite reducir el tiempo de clasificacion y obtener re-sultados de clasificacion similares con respecto al uso de las representacionesoriginales. Por ejemplo, al utilizar una transformacion de las cadenas de con-torno (utilizando 50 pivotes para la transformacion) como entrada a la etapade filtro con k1 = 100, se calculan como maximo 150 distancias de edicion,lo que representa solo un 14% del tiempo empleado al usar las cadenas orig-inales. Ademas se obtiene un error de clasificacion de 13.2% usando la regladel vmc, mientras que para las cadenas originales el error es de 12.9%.Al combinar diferentes representaciones de un mismo objeto es posible re-ducir la tasa de error de clasificacion con respecto a la obtenida por el mejorclasificador individual que forma parte de la combinacion. Dependiendo deque combinacion usemos, podemos mejorar el tiempo de clasificacion o elerror de clasificacion. En nuestro caso, si el objetivo es reducir el tiempo declasificacion, la combinacion de vectores, cadenasT y arbolesT reduce ligera-mente la tasa de error obtenida por las cadenas reduciendo ademas a un 8%el tiempo de clasificacion. Sin embargo, si el objetivo es reducir la tasa deerror, se puede utilizar la combinacion de vectores, cadenas y arboles. Conesta combinacion, en nuestros experimentos hemos reducido el error de un12.9% hasta un 8.9%.

157

Page 179: Optimización del uso de pivotes en tareas de búsqueda y ...

8.1. Trabajo futuro

En este trabajo hemos propuesto un conjunto de algoritmos que exploranel uso eficiente de pivotes en la busqueda por similitud para el vmc, los k-vmcy la busqueda por rango y en una tarea de clasificacion. Nos proponemoscomo trabajo futuro continuar la investigacion en los siguientes temas:

1. Explorar nuevos criterios para la seleccion de pivotes, ya que se hapodido comprobar que los resultados pueden mejorar bastante conuna seleccion activa de estos objetos.

2. Explorar y explotar la propuesta de busqueda aproximada del vmc conotros tipos de busqueda no analizados en este trabajo.

3. Aplicar los algoritmos propuestos a otros tipos de busquedas por simil-itud, por ejemplo a los k vecinos reversos mas cercanos y a la unionpor similitud.

4. El coste espacial de los algoritmos propuestos en esta tesis es cuadraticoy nos proponemos disminuirlo reduciendo el tamano de la matriz dedistancias. Por ejemplo, almacenando para cada objeto x ∈ X la dis-tancia a todos los objetos de A ⊂ X y ademas la distancia de los kobjetos mas cercanos a x en X.

5. Utilizar otros tipos de transformaciones como entrada a la etapa defiltro del esquema de filtro-refinamiento utilizado en esta tesis.

6. Aplicar la estrategia filtro-refinamiento propuesto a otras representa-ciones estructurales, por ejemplo grafos.

7. Usar otros clasificadores como clasificadores base a los esquemas decombinacion empleados en esta tesis.

158

Page 180: Optimización del uso de pivotes en tareas de búsqueda y ...

Parte IV

Bibliografıa consultada

159

Page 181: Optimización del uso de pivotes en tareas de búsqueda y ...
Page 182: Optimización del uso de pivotes en tareas de búsqueda y ...

Bibliografıa

A. Apostolico and Z. Galil. Pattern Matching Algorithms. Oxford UniversityPress, 1997.

J. Arlandis, J.C. Perez-Cortes, and J. Cano. Rejection strategies and confi-dence measures for a k-nn classifier in an ocr task. In 16th InternationalConference on Pattern Recognition, pages 576–579. IEEE, 2002.

S. Arya, D.M. Mount, N.S. Netanyahu, R. Silverman, and A.Y. Wu. Anoptimal algorithm for approximate nearest neighbor searching in fixeddimensions. In ACM-SIAM Symposium on discrete Algorithms, pages573–582, 1994.

V. Athitsos, J. Alon, S. Sclaroff, and G. Kollios. Boostmap: A method forefficient approximate similarity rankings. In Proceedings of the 2004 IEEEComputer Society Conference on Computer Vision and Pattern Recogni-tion, volume 2, pages 268–275, 2004.

V. Athitsos, J. Alon, and S. Sclaroff. Efficient nearest neighbor classificationusing a cascade of approximate similarity measures. In Proceedings ofthe 2005 IEEE Conference on Computer Vision and Pattern Recognition,pages 486–493, 2005.

V. Athitsos, J. Alon, S. Sclaroff, and G. Kollios. Boostmap: An embeddingmethod for efficient nearest neighbor retrieval. IEEE Transactions onPattern Analysis and Machine Intelligence, 30(1):89–104, 2008.

R. Baeza-Yates, W. Cunto, U. Manber, and S. Wu. Proximity matchingusing fixed-queries trees. In Combinatorial Pattern Matching, volume 807of Lecture Notes in Computer Science, pages 198–212. Springer, 1994.

E. Baydal, G. Andreu, and E. Vidal. Estimating the intrinsic dimensionalityof discrete utterances. IEEE Transactions on Acoustics, Speech and SignalProcessing, 37(5):755–757, Mayo 1989.

N. Beckmann, H. P. Kriegel, R. Schneider, and B. Seeger. The R*-tree: anefficient and robust access method for points and rectangles. In Proceed-ings of the ACM SIGMOD International Conference on Management ofData, pages 322–331. ACM, 1990.

161

Page 183: Optimización del uso de pivotes en tareas de búsqueda y ...

S. Belongie, J. Malik, and J. Puzicha. Shape matching and object recogni-tion using shape contexts. IEEE Transactions on Pattern Analysis andMachine Intelligence, 24(4):509–522, 2002.

J.L. Bentley. Multidimensional binary search trees used for associativesearching. Communications of the ACM, 18(9):509–517, September 1975.

J.L. Bentley. Multidimensional binary search trees in database applications.IEEE Transactions on Software Engineering, 5(1):333–340, 1979.

S. Berchtold, D. Keim, and H. Kriegel. The x-tree: An index structure forhigh-dimensional data. In VLDB’96, Proceedings of 22th InternationalConference on Very Large Data Bases, pages 28–39. Morgan Kaufmann,1996.

P. Bille. A survey on tree edit distance and related problems. TheoryComputer Science, 337:217–239, June 2005.

C. Bohm, S. Berchtold, and D. Keim. Searching in high-dimensional spaces:Index structures for improving the performance of multimedia databases.ACM Computing Surveys, 33(3):322–373, September 2001.

J. Bourgain. On lipschitz embedding of finite metric spaces in hilbert space.Israel Journal of Mathematics, 52:46–52, 1985.

T. Bozkaya and M. Ozsoyoglu. Distance-based indexing for high-dimensionalmetric spaces. In Proceedings of ACM SIGMOD International Conferenceon Management of Data, pages 357–368. ACM, 1997.

T. Bozkaya and M. Ozsoyoglu. Indexing large metric spaces for similaritysearch queries. ACM Transactions on Database Systems, 24(3):361–404,1999.

S. Brin. Near neighbor search in large metric spaces. In Proceedings of the21th International Conference on Very Large Data Bases, pages 574–584,1995.

N. R. Brisaboa, A. Farina, O. Pedreira, and N. Reyes. Similarity search usingsparse pivots for efficient multimedia information retrieval. In ISM ’06:Proceedings of the Eighth IEEE International Symposium on Multimedia,pages 881–888. IEEE Computer Society, 2006.

W. A. Burkhard and R. M. Keller. Some approaches to best-match filesearching. Communications of the ACM, 16:230–236, 1973.

B. Bustos, G. Navarro, and E. Chavez. Pivot selection techniques for prox-imity searching in metric spaces. Pattern Recognition Letters, 24(14):2357–2366, 2003.

162

Page 184: Optimización del uso de pivotes en tareas de búsqueda y ...

B. Bustos, O. Pedreira, and N. Brisaboa. A dynamic pivot selection tech-nique for similarity search. In Proceedings of the 1st International Work-shop on Similarity Search and Applications (SISAP’08), pages 105–112,2008.

R. Carrasco and M. Forcada. A note on the nagendraprasad-wnag-guptathinning algorithm. Pattern Recognition Letters, 16:539–541, 1995.

E. Chavez and G. Navarro. An effective clustering algorithm to index highdimensional metric spaces. In Proceedings of the Seventh InternationalSymposium on String Processing Information Retrieval, page 75. IEEEComputer Society, 2000.

E. Chavez and G. Navarro. A probabilistic spell for the curse of dimen-sionality. In Algorithm Engineering and Experimentation, volume 2153 ofLecture Notes in Computer Science, pages 147–160. Springer, 2001.

E. Chavez, J.L. Marroquın, and G. Navarro. Overcoming the curse of dimen-sionality. In European Workshop on Content-Based Multimedia Indexing(CBMI’99), pages 57–64, 1999.

E. Chavez, G. Navarro, R. Baeza-Yates, and J.L. Marroquın. Searching inmetric spaces. ACM Computing Surveys, 33(3):273–321, 2001.

E. Chavez, K. Figueroa, and G. Navarro. Proximity searching in high di-mensional spaces with a proximity preserving order. In MICAI 2005:Advances in Artificial Intelligence, volume 3789 of Lecture Notes in Com-puter Science, pages 405–414. Springer, 2005.

P. Ciaccia, M. Patella, and P. Zezula. M-tree: An efficient access methodfor similarity search in metric spaces. In Proceedings of 23rd InternationalConference on Very Large Data Bases, pages 426–435, 1997.

P. Ciaccia, M. Patella, and P. Zezula. A cost model for similarity queriesin metric spaces. In Proceedings of the 17th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pages 59–68,1998.

B.V. Dasarathy. Nearest neighbor (NN) norms: NN pattern classificationtechniques. IEE Computer Society Press, 1990.

C. De la Higuera and L. Mico. A contextual normalised edit distance. InProceedings of the 24th International Conference on Data EngineeringWorkshops, ICDE 2008, April 7-12, 2008, Cancun, Mexico, pages 354–361. IEEE Computer Society, 2008.

F. Dehne and H. Noltemeier. Voronoi trees and clustering problems. Infor-mation System Journal, 12(2):171–175, 1987.

163

Page 185: Optimización del uso de pivotes en tareas de búsqueda y ...

P. Diaconis. Group representations in probability and statistics. Institute ofMathematical Statistics, 1988.

R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification. Wiley-Interscience, 2 edition, nov 2001.

R. P. W. Duin. The combining classifier: To train or not to train? In 16thInternational Conference on Pattern Recognition (ICPR), volume 2, pages765–770. IEEE Computer Society, 2002.

R. Fagin, R. Kumar, and D. Sivakumar. Comparing top k lists. In Proceed-ings of the fourteenth annual ACM-SIAM symposium on Discrete algo-rithms, pages 28–36, 2003.

C. Faloutsos and K. Lin. Fastmap: A fast algorithm for indexing data-miningand visualization of traditional and multimedia datasets. In Proceedings ofthe ACM International Conference on Management of Data, pages 163–174, 1995.

K. Figueroa. Indexacion Efectiva de Espacios Metricos usando Permuta-ciones. PhD thesis, Universidad de Chile, 2007.

K. Figueroa and F. Kimmo. Simple space-time trade-off for aesa. In Work-shop on Experimental Algorithm, volume 4525 of Lecture Notes in Com-puter Science, pages 229–241. Springer, 2007.

K. Figueroa, E Chavez, G. Navarro, and R. Paredes. On the least cost forproximity searching in metric spaces. In Proceedings of the 5th interna-tional Conference on Experimental Algorithms, pages 279–290, 2006.

K. Figueroa, E. Chavez, G. Navarro, and R. Paredes. Speeding up spatialapproximation search in metric spaces. Journal of Experimental Algorith-mics, 14:3.6–3.21, 2009.

R.F.S. Filho, A. Traina, Jr. Traina, C., and C. Faloutsos. Similarity searchwithout tears: the omni-family of all-purpose access methods. In Pro-ceedings of the 17th International Conference on Data Engineering, 2001,pages 623 –630, 2001.

H. Freeman. Boundary encoding and processing. In Picture Processing andPsychopictorics, pages 241–266. Academic Press, 1970.

K. Fukunaga and P.M. Narendra. A branch and bound algorithm for com-puting k-nearest neighbors. IEEE Transactions on Computers, 24(7):750–753, 1975.

X. Gao, B. Xiao, D. Tao, and X. Li. A survey of graph edit distance. PatternAnalysis & Applications, 13(1):113–129, 2010.

164

Page 186: Optimización del uso de pivotes en tareas de búsqueda y ...

D. Guillevic and C. Suen. Recognition of legal amounts on bank cheques.Pattern Analysis and Applications, 1:28–41, 1998.

A. Guttman. R-trees: A dynamic index structure for spatial searching. InProceedings of ACM SIGMOD International Conference on Managementof Data, pages 47–57. ACM Press, 1984.

G. R. Hjaltason and H. Samet. Properties of embedding methods for simi-larity searching in metric spaces. IEEE Transactions on Pattern Analysisand Machine Intelligence, 25(5):530–549, 2003a.

G. R. Hjaltason and H. Samet. Index-driven similarity search in metricspaces (survey article). ACM Transactions on Database Systems, 28(4):517–580, 2003b.

G. Hristescu and M. Farach-Colton. Cluster-preserving embedding of pro-teins. Technical report, Rutgers University, 1999.

A.K. Jain, R.P.W Duin, and J. Mao. Statistical pattern recognition: Areview. IEEE Transactions on Pattern Analysis and Machine Intelligence,22(1):4–37, 2000.

I. Kalantari and G. McDonald. A data structure and an algorithm for thenearest point problem. IEEE Transactions on Software Engineering, SE-9(5):631 – 634, 1983.

F. Korn, N. Sidiropoulos, C. Faloutsos, E. Siegel, and Z. Protopapas. Fastnearest neighbor search in medical image databases. In 22nd InternationalConference on Very Large Data Bases, pages 215–226, 1996.

Ludmila I. Kuncheva. Combining Pattern Classifiers: Methods and Algo-rithms. Wiley-Interscience, July 2004.

Ch. Lee and B. Wu. A chinese-character-stroke-extraction algorithm basedon contour information. Pattern Recognition, 31:651–663, 1998.

V.I. Levenshtein. Binary codes capable of correcting spurius insertions anddeletions of ones. Problems of Information Transmission, 1:8–17, 1965.

N. Linial, E. London, and Y. Rabinovich. The geometry of graphs and someof its algorithmic applications. Combinatorica, 15:215–245, 1995.

A. Marzal and E. Vidal. Computation of normalized edit distance andapplications. IEEE Transactions on Pattern Analysis and Machine Intel-ligence, 15(9):926–932, 1993.

J. N. Mazon, L. Mico, and F. Moreno. New neighborhood based classifica-tion rules for metric spaces and their use in ensemble classification. In

165

Page 187: Optimización del uso de pivotes en tareas de búsqueda y ...

Pattern Recognition and Image Analysis, volume 4477 of Lecture Notes inComputer Science, pages 354–361. Springer, 2007.

L. Mico. Algoritmos de busqueda del vecino mas cercano en espacios metri-cos. PhD thesis, Universidad Politecnica de Valencia, 1996.

L. Mico, J. Oncina, and E. Vidal. A new version of the nearest-neighbourapproximating and eliminating search algorithm (aesa) with linear pre-processing time and memory requirements. Pattern Recognition Letters,15(1):9–17, 1994.

F. Moreno-Seco, L. Mico, and J. Oncina. Extending laesa fast nearest neigh-bour algorithm to find the k nearest neighbours. In Structural, Syntactic,and Statistical Pattern Recognition Workshop (S+SSPR 2002), volume2396 of Lecture Notes in Computer Science, pages 718–724. Springer, 2002.

F. Moreno Seco, L. Mico, and J. Oncina. A modification of the laesa algo-rithm for approximated k-nn classification. Pattern Recognition Letters,24:47–53, January 2003.

G. Navarro. Searching in metric spaces by spatial approximation. In Pro-ceedings of the String Processing and Information Retrieval Symposium.International Workshop on Groupware, SPIRE ’99, pages 141–148. IEEEComputer Society, 1999.

G. Navarro. A guided tour to approximate string matching. ACM ComputingSurveys, 33(1):31–88, 2001.

G. Navarro. Searching in metric spaces by spatial approximation. The VeryLarge Data Base Journal, 11:141–148, 2002.

M. Parnas and D. Ron. Testing metric properties. In Proceedings of the33rd Annual ACM Symposium on Theory of Computing (STOC), pages276–285. ACM Press, 2001.

M. Patella and P. Ciaccia. The many facets of approximate similarity search.In Proceedings of the First International Workshop on Similarity Searchand Applications, pages 10–21. IEEE Computer Society, 2008.

V. Pestov. Intrinsic dimension of a dataset: what properties does one ex-pect? In Proceedings of the 20th International Joint Conference on NeuralNetworks, pages 1775–1780, 2007.

K.l W. Pettis, T. A. Bailey, A.l K. Jain, and R. C. Dubes. An intrinsicdimensionality estimator from near-neighbor information. IEEE Trans-actions on Pattern Analysis and Machine Intelligence, 1:25 – 37, 1979.

166

Page 188: Optimización del uso de pivotes en tareas de búsqueda y ...

V Ramasubramanian and K. Paliwal. Fast nearest-neighbor search algo-rithms based on approximation-elimination search. In Proceedings of theACM-SIAM Symposium on Discrete Algorithms, pages 1497–1510, 2000.

J. Rico and L. Mico. Comparison of aesa and laesa search algorithms usingstring and tree edit distances. Pattern Recognition Letters, 24(9):1427–1436, 2003.

J. Samalea, R. Socorro, and A. Rosete. Tecnicas de mapeo de representa-ciones estructurales a espacios vectoriales. In Congreso Latino Ibero Amer-icano de Investigacion de Operaciones (CLAIO), 2008.

D. Sanko and Y.J. B Kruskal. Time Warps, String Edits and Macro-molecules: The Theory and Practice Of Sequence Comparison. AddisonWesley, 1983.

M. Shapiro. The choice of reference points in best-match file searching.Artificial Intelligence/Language Processing, 20:339–343, 1977.

D. Shasha and K. Zhang. Fast algorithms for the unit cost editing distancebetween trees. Journal Algorithms, 11(4):581–621, 1990.

R. Socorro and L. Mico. Uso eficiente de pivotes aplicado a la busquedaaproximada en algoritmos rapidos sobre espacios metricos. Enviado a laRevista Computacion y Sistemas, junio 2012.

R. Socorro and L. Mico. Combinacion de clasificadores utilizando representa-ciones estructurales transformadas a un espacio vectorial. In XIV Con-greso Latino Ibero Americano de Investigacion de Operaciones (CLAIO),2008.

R. Socorro, L. Mico, and J. Oncina. Un nuevo criterio de aproximacion parala indexacion rapida en espacios metricos. In VII Congreso Nacional deReconocimiento de Patrones, (RECPAT), 2009.

R. Socorro, L Mico, and J. Oncina. Efficient search supporting several sim-ilarity queries by reordering pivots. In Signal Processing, Pattern Recog-nition, and Applications (SPPRA 2011), pages 114–120. ACTA Press,2011a.

Raisa Socorro, Luisa Mico, and Jose Oncina. A fast pivot-based indexingalgorithm for metric spaces. Pattern Recognition Letters, 32(11):1511–1516, 2011b.

K. Tai. The tree-to-tree correction problem. Journal of the Association forComputing Machinery, 26(3):422–433, 1979.

167

Page 189: Optimización del uso de pivotes en tareas de búsqueda y ...

K. Tokoro, K. Yamaguchi, and S. Masuda. Improvements of tlaesa nearestneighbour search algorithm and extension to approximation search. InProceedings of the 29th Australian Computer Science Conference, pages77–83. Australian Computer Society, Inc., 2006.

J.K. Uhlmann. Satisfying general proximity / similarity queries with metrictrees. Information Processing Letters, 40(4):175 – 179, 1991.

G. Valiente. Algorithms On Trees And Graphs. Springer-Verlag, 2002.

B. Verma. A contour code feature based segmentation for handwriting recog-nition. In Seventh International Conference on Document Analysis andRecognition (ICIDAR), volume 2, page 1203. IEEE Computer Society,2003.

P. J. Verveer and R. P. W. Duin. An evaluation of intrinsic dimension-ality estimators. IEEE Transactions on Pattern Analysis and MachineIntelligence, 17(1):81–86, 1995.

E. Vidal. An algorithm for finding nearest neighbours in (approximately)constant average time. Pattern Recognition Letters, 4(3):145–157, 1986.

E. Vidal, H.M. Rulot, F. Casacuberta, and J.-M. Benedi. On the use ofa metric-space search algorithm (aesa) for fast dtw-based recognition ofisolated words. IEEE Transactions on Acoustics, Speech and Signal Pro-cessing, 36(5):651 –660, 1988.

J. Vilar. Reducing the overhead of the aesa metric-space nearest neigh-bour searching algorithm. Information Processing Letters, 56(5):265–271,diciembre 1995.

R. A. Wagner and M. J. Fischer. The string-to-string correction problem.Journal of the ACM, 21(1):168–173, 1974.

S. Wolfram. Mathematics. Addison Wesley, second edition, 91.

L. Xu, A. Krzyzak, and C.Y. Suen. Several methods for combining multi-ple classifiers and their applications in handwritten character recognition.IEEE Transactions on System, Man and Cybernetics, 2(3):418–435, 1992.

P.N. Yianilos. Data structures and algorithms for nearest neighbor searchin general metric spaces. In Proceedings of the fourth annual ACM-SIAMSymposium on Discrete algorithms, pages 311–321. Society for Industrialand Applied Mathematics, 1993.

P. Zezula, P. Savino, G. Amato, and F. Rabitti. Approximate similarityretrieval with m-trees. The VLDB Journal, 7:275–293, 1998.

168

Page 190: Optimización del uso de pivotes en tareas de búsqueda y ...

P. Zezula, G. Amato, V. Dohnal, and M. Batko. Similarity Search.The Met-ric Space Approach, volume 32 of Advances in Database Systems. Springer,2006.

169

Page 191: Optimización del uso de pivotes en tareas de búsqueda y ...