Agrupamiento de Datos utilizando técnicas MAM-SOM



Documentos relacionados
CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN)

CLASIFICACIÓN NO SUPERVISADA

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

Redes de Kohonen y la Determinación Genética de las Clases

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Tema 7. Introducción al reconocimiento de objetos

Capítulo 2. Las Redes Neuronales Artificiales

Parte I: Introducción

7. Conclusiones. 7.1 Resultados

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

Clasificación de Música por Genero Utilizando Redes Neuronales Artificiales. Elkin García, Germán Mancera, Jorge Pacheco

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Enfoque del Marco Lógico (EML)

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 -

MÁQUINA DE VECTORES DE SOPORTE

Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

forma de entrenar a la nuerona en su aprendizaje.

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

4. Programación Paralela

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

CMMI (Capability Maturity Model Integrated)

MINERIA DE DATOS Y Descubrimiento del Conocimiento

1.1 EL ESTUDIO TÉCNICO

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

Unidad 1. Fundamentos en Gestión de Riesgos

I SEMANA ELECTRONICA REDES NEURONALES

activuspaper Text Mining and BI Abstract

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software

CICLO DE VIDA DEL SOFTWARE

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

TEMA 7: Análisis de la Capacidad del Proceso

Fundamentos del diseño 3ª edición (2002)

Análisis y síntesis El proceso documental Lenguajes documentales El proceso de indización El resumen documental

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Portafolio de Servicios y Productos

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

de la empresa Al finalizar la unidad, el alumno:

Figure 7-1: Phase A: Architecture Vision

Capítulo IV. Manejo de Problemas

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

1.1. Introducción y conceptos básicos

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

CASO 3-5 EUROPEAN ALCOHOL RESEARCH FOUNDATION

Usos de los Mapas Conceptuales en Educación

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Inteligencia de Negocio

SISTEMAS DE INFORMACIÓN II TEORÍA

SÍNTESIS Y PERSPECTIVAS

Plan de estudios ISTQB: Nivel Fundamentos

1. INTRODUCCIÓN 1.1 INGENIERÍA

Activos Intangibles Costos de Sitios Web

MAPAS AUTOORGANIZATIVOS Y MODELOS SIMILARES

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Elementos requeridos para crearlos (ejemplo: el compilador)

Medias Móviles: Señales para invertir en la Bolsa

PREPROCESADO DE DATOS PARA MINERIA DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Unidad III. Planificación del proyecto de software

Validation. Validación Psicométrica. Validation. Central Test. Central Test. Centraltest CENTRAL. L art de l évaluation. El arte de la evaluación

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

El Proceso Unificado de Desarrollo de Software

Data Mining Técnicas y herramientas

Minería de Datos Web. 1 er Cuatrimestre Página Web. Prof. Dra. Daniela Godoy.

Resolución de Problemas: Situaciones y Contextos

Formularios. Formularios Diapositiva 1

Administración por Procesos contra Funciones

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales

Sistema Inteligente de Exploración

Sistemas de Información Geográficos (SIG o GIS)

Cadena de Valor y Estrategias Genéricas 1. Prof. Marcelo Barrios

El modelo de ciclo de vida cascada, captura algunos principios básicos:

Novedades en Q-flow 3.02

Capítulo 12: Indexación y asociación

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

SISTEMAS Y MANUALES DE LA CALIDAD

Test de Idioma Francés. Manual del evaluador

1.2 SISTEMAS DE PRODUCCIÓN

SEGURIDAD Y PROTECCION DE FICHEROS

Indicaciones específicas para los análisis estadísticos.

Redes Neuronales Artificiales y sus Aplicaciones

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL

Figura 4.1 Clasificación de los lenguajes de bases de datos

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Técnicas de valor presente para calcular el valor en uso

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Master en Gestion de la Calidad

Diseño orientado al flujo de datos

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

Portal de Compras del Gobierno del Estado de Baja California ( A. Antecedentes

Planeación del Proyecto de Software:


Transcripción:

Agrupamiento de Datos utilizando técnicas MAM-SOM Carlos Eduardo Bedregal Lizárraga Orientador: Prof. Mag. Juan Carlos Gutiérrez Cáceres Tesis profesional presentada al Programa Profesional de Ingeniería Informática como parte de los requisitos para obtener el Título Profesional de Ingeniero Informático. UCSP - Universidad Católica San Pablo Julio de 2008

A mis padres y mi hermano.

Abreviaturas MAM Métodos de Acceso Métrico SAM Spatial Access Method MAE Métodos de Acceso Espacial NCD Número de Cálculos de Distancia SOM Self-Organizing Maps GSOM Growing Self-Organizing Maps GHSOM Growing Hierarchical Self-Organizing Maps GNG Growing Neural Gas CHL Competitive Hebbian Learning BMU Best Matching Unit IGG Incremental Grid-Growing RNA Redes Neuronales Artificiales ART Adaptative Resonance Theory MST Minimal Spanning Tree SAT Spatial Approximation Tree IGNG Incremental Growing Neural Gas DBGNG Density Based Growing Neural Gas NGCHL Neural Gas with Competitive Hebbian Learning AESA Approximating and Eliminating Search Algorithm 3

Agradecimientos En primer lugar deseo agradecer a Dios por haberme guiado a lo largo de mis años de estudio. Agradezco a mi familia por el gran apoyo brindado para forjarme como un profesional. Agradezco a la universidad por haberme brindado la formación que ahora me permitirá ayudar a construir una mejor sociedad. Agradezco de forma muy especial a Ernesto y a Juan Carlos por haberme guiado en esta tesis. Muchas gracias también a todos los profesores con los que trabajé durante esos largos cinco años, y al personal administrativo por la atención brindada y por su disposición a ayudar.

Resumen Hoy en día la necesidad de procesar grandes volúmenes de datos es cada vez más frecuente. Investigaciones recientes buscan proponer algoritmos eficientes para problemas complejos como el agrupamiento de datos. Una de estas investigaciones llevó al desarrollo de la familia de técnicas MAM-SOM y SAM-SOM, que propone la combinación de Self-Organizing Maps (SOM) y Métodos de Acceso para una rápida recuperación de información por similitud. En esta investigación se presentan resultados empíricos del uso de técnicas MAM-SOM empleando Métodos de Acceso recientes como Slim-Tree y Omni-Secuencial, aplicadas a tareas de agrupamiento de datos; mostrando la mejora y propiedades de estas técnicas en contraste con una de las técnicas tradicionales de agrupamiento: las redes SOM.

Abstract Nowadays the need to process lots of complex multimedia databases is more frequent. Recent investigations pursue to find efficient algorithms to solve complex problems such as data clustering. One of these investigations led to the development of the MAM-SOM and SAM-SOM families, which propose the combination of Self-Organizing Maps (SOM) with Access Methods for a faster similarity information retrieval. In this investigation we present experimental results of the MAM-SOM techniques using recent Access Methods such as Slim-Tree and Omni- Sequential when performing clustering tasks, showing the improvement acquired by these techniques and their properties in contrast with one traditional clustering technique: the SOM networks.

Índice general 1. Introducción 14 1.1. Contexto y Motivación.............................. 14 1.2. Definición del problema............................. 16 1.3. Objetivos..................................... 16 1.4. Organización de la tesis.............................. 16 2. Agrupamiento de datos 17 2.1. Consideraciones iniciales............................. 17 2.2. Agrupamiento de datos.............................. 18 2.2.1. Reducción de la dimensionalidad.................... 19 2.2.2. Validez de un grupo........................... 19 2.2.3. Estimación de error............................ 20 2.2.4. Conocimiento del dominio de datos................... 20 2.2.5. Otras propiedades............................. 20 2.3. Etapas del proceso de agrupamiento....................... 20 2.3.1. Representación del patrón........................ 21 2.3.2. Definición de la medida de proximidad................. 21 2.3.3. Agrupamiento.............................. 22 2.3.4. Abstracción de datos........................... 22 2.3.5. Evaluación de resultados......................... 22 7

ÍNDICE GENERAL 2.4. Clasificación de las técnicas de agrupamiento.................. 23 2.4.1. Agrupamiento jerárquico......................... 23 2.4.2. Agrupamiento particional........................ 23 2.5. Técnicas comunes para agrupamiento de datos.................. 24 2.5.1. Agrupamiento con vecinos más cercanos................ 24 2.5.2. Agrupamiento difuso........................... 24 2.5.3. Agrupamiento con RNA......................... 24 2.5.4. Agrupamiento con métodos evolutivos.................. 24 2.6. Aplicaciones................................... 25 2.7. Consideraciones finales.............................. 26 3. Redes Neuronales Artificiales 27 3.1. Consideraciones iniciales............................. 27 3.2. Definiciones.................................... 27 3.2.1. Modelo de una neurona artificial..................... 28 3.2.2. Arquitectura............................... 28 3.2.3. Aprendizaje................................ 29 3.3. Redes neuronales auto-organizables....................... 30 3.3.1. Entrenamiento de los mapas auto-organizables............. 31 3.4. Redes SOM constructivas............................. 32 3.4.1. Incremental Grid-Growing........................ 33 3.4.2. Growing Self-Organizing Maps..................... 33 3.4.3. Growing Neural Gas........................... 33 3.4.4. Density Based Growing Neural Gas................... 33 3.4.5. Aprendizaje Hebbiano Competitivo................... 33 3.4.6. Gas Neuronal con Aprendizaje Hebbiano Competitivo......... 34 3.5. Growing Neural Gas............................... 34 Ingeniería Informática - UCSP 8

ÍNDICE GENERAL 3.5.1. Algoritmo GNG............................. 35 3.6. Consideraciones finales.............................. 38 4. Métodos de Acceso Métrico 39 4.1. Consideraciones iniciales............................. 39 4.2. Definiciones.................................... 39 4.2.1. Consultas de proximidad......................... 40 4.2.2. Consideraciones de eficiencia...................... 41 4.3. Algoritmos de búsqueda............................. 42 4.3.1. Burkhard-Keller Tree........................... 42 4.3.2. Vantage-Point Tree............................ 43 4.3.3. M-Tree.................................. 43 4.3.4. Slim-Tree................................. 44 4.3.5. Omni-Tree................................ 44 4.3.6. DBM-Tree................................ 44 4.4. Slim-Tree..................................... 45 4.4.1. Funcionamiento............................. 45 4.5. Omni-Secuencial................................. 47 4.6. Consideraciones finales.............................. 48 5. Técnica MAM-SOM para agrupamiento de datos 50 5.1. Consideraciones iniciales............................. 50 5.2. Trabajos Previos.................................. 50 5.3. Técnicas MAM-SOM............................... 52 5.3.1. MAM-SOM Híbrida........................... 52 5.3.2. MAM-SOM*............................... 53 5.4. Propiedades de las técnicas MAM-SOM..................... 54 Ingeniería Informática - UCSP 9

ÍNDICE GENERAL 5.5. Estructuras propuestas para la técnica MAM-SOM............... 55 5.6. Agrupamiento con MAM-SOM......................... 55 5.7. Consideraciones finales.............................. 57 6. Experimentos 58 6.1. Consideraciones iniciales............................. 58 6.2. Bases de datos................................... 58 6.3. Primer grupo................................... 59 6.3.1. Discusión en relación al número de agrupamientos........... 59 6.3.2. Discusión en relación al número de patrones.............. 61 6.4. Segundo grupo.................................. 61 6.4.1. Discusión en relación al número de conexiones............. 61 6.4.2. Discusión en relación al número de patrones.............. 61 6.5. Tercer grupo.................................... 64 6.6. Experimentos adicionales............................. 67 6.6.1. Discusión con respecto a los agrupamientos............... 67 6.6.2. Discusión con respecto al tiempo consumido.............. 67 7. Conclusiones y Trabajos Futuros 70 7.1. Conclusiones................................... 70 7.2. Contribuciones.................................. 71 7.3. Problemas encontrados.............................. 71 7.4. Recomendaciones................................. 71 7.5. Trabajo futuro................................... 71 Bibliografía 77 Ingeniería Informática - UCSP 10

Índice de cuadros 6.1. Comparación de resultados para la base de datos COVERT (54-d)....... 64 6.2. Comparación de resultados para la base de datos IMAGES (1215-d)...... 67 6.3. Comparación de resultados para la base de datos NURSERY (8-d)....... 67 11

Índice de figuras 2.1. Ejemplo de agrupamientos de diferentes formas.................. 18 2.2. Etapas de la tarea de agrupamiento de datos.................... 21 3.1. Neurona McCulloch-Pitts [Jain et al., 1996].................... 28 3.2. Taxonomía de la arquitectura de las RNA [Jain et al., 1996]........... 29 3.3. Mapa auto-organizable de Kohonen [Jain et al., 1996].............. 31 3.4. La red GNG se adapta a la distribución de señales con áreas y dimensionalidades diferentes del espacio de entrada [Fritzke, 1995].............. 35 4.1. Tipos básicos de consultas por proximidad.................... 41 4.2. Taxonomía de algoritmos en base a sus características [Chávez et al., 2001].. 43 4.3. División de nodos con el algoritmo MST [Caetano Traina et al., 2000]...... 46 4.4. Funcionamiento del algoritmo Slim-down [Caetano Traina et al., 2000]..... 47 4.5. Selección de los candidatos para una consulta de rango con diferentes cardinalidades de F [Filho et al., 2001].......................... 48 5.1. Impacto del valor λ en la red GNG [Cuadros-Vargas and Romero, 2005]..... 52 5.2. Ejemplo del proceso de poda de conexiones de las técnicas MAM-SOM* con 5000 patrones y NeighborhoodSize = 3 [Cuadros-Vargas and Romero, 2002]. 54 6.1. Comparación del Número de Cálculos de Distancia acumulado de la red Growing Neural Gas y la técnica MAM-SOM GNG+Slim-Tree a lo largo del proceso de entrenamiento de la red en relación al número de agrupamientos generados.. 60 12

ÍNDICE DE FIGURAS 6.2. Comparación del Número de Cálculos de Distancia acumulado de la red Growing Neural Gas y la técnica MAM-SOM GNG+Slim-Tree a lo largo del proceso de entrenamiento de la red en relación al número de patrones presentados.... 62 6.3. Comparación del Número de Cálculos de Distancia acumulado de la red Growing Neural Gas y la técnica MAM-SOM* Slim-Tree en relación al número de conexiones creadas................................. 63 6.4. Comparación del Número de Cálculos de Distancia acumulado de la red Growing Neural Gas y la técnica MAM-SOM* Slim-Tree en relación al número de patrones presentados................................ 65 6.5. Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos COVERT (54-d)................ 66 6.6. Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos IMAGES (1215-d)............... 66 6.7. Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos NURSERY (8-d)................ 66 6.8. Reducción gradual del parámetro τ para encontrar agrupamientos en un conjunto datos sintéticos de 1000 puntos en dos dimensiones. NeighborhoodSize = 3. 68 Ingeniería Informática - UCSP 13

Capítulo 1 Introducción 1.1. Contexto y Motivación En el mundo actual la información se ha convertido en uno de los recursos más valiosos dentro de cualquier actividad humana. Asimismo, la cantidad y complejidad de la información disponible presenta un crecimiento explosivo a medida que la tecnología avanza, siendo cada vez más frecuente el caso en que aplicaciones necesiten manejar grandes volúmenes de datos con el fin de responder a determinados problemas. La información cumple un rol muy importante en el desarrollo de personas, organizaciones y sociedades. La aparición de grandes conjuntos de datos es cada vez más frecuente como consecuencia del acelerado desarrollo informático, en especial de la Internet (YouTube, Wikis, Google, Yahoo, etc.). De igual manera, la complejidad de los datos se va incrementando: desde trabajar con datos simples como números o cadenas de texto hasta problemas que involucran datos complejos como imágenes, vídeos o cadenas de ADN. Proyectos como CLUTO 1 de la Universidad de Minnesota para tareas de agrupamiento de datos, CYBER-T 2 de la Universidad de California para el análisis de ADN, IMEDIA 3 del gobierno de Francia para la recuperación de información en bases de datos multimedia son solo algunos ejemplos de la necesidad de técnicas cada vez más eficientes para procesar los datos, detectar interrelaciones y agrupamientos entre ellos e incluso generar nuevo conocimiento. El agrupamiento de datos es una tarea de análisis exploratorio que se refiere a la clasificación de patrones de una forma no supervisada, formando grupos en base a las relaciones no perceptibles a simple vista, con el objetivo de poder descubrir una estructura subyacente [Duda et al., 2000, Jain et al., 2000]. La utilidad en el análisis exploratorio de datos está fuertemente demostrada por su uso en diversos contextos y disciplinas como la recuperación de información, la minería de datos o la segmentación de imágenes entre muchas otras [Jain et al., 1999, 1 http://glaros.dtc.umn.edu/gkhome/views/cluto 2 http://cybert.microarray.ics.uci.edu/ 3 http://www-rocq.inria.fr/imedia/ 14

CAPÍTULO 1. Introducción Jain and Dubes, 1988]. De las varias técnicas existentes para agrupamiento de datos, los Mapas Auto-organizables de Kohonen [Kohonen, 1988], del inglés SOM, vienen siendo ampliamente utilizados en el agrupamiento de grandes conjuntos de datos, debido principalmente a la poca dependencia al dominio del conocimiento y a los eficientes algoritmos de aprendizaje disponibles. Estas estructuras resaltan por su capacidad de generar mapas topológicos a través de una arquitectura paralela y distribuida. Estos mapas pueden ser vistos como una representación en bajas dimensiones de los datos de entrada, preservando las propiedades topológicas de la distribución [Kohonen, 1998]. Si bien los mapas auto-organizables son muy populares para tareas de agrupamiento de grandes conjuntos de datos (siendo un caso muy popular WEBSOM [Lagus et al., 1999]), poseen algunas debilidades como la búsqueda secuencial de la unidad ganadora utilizada en la etapa de entrenamiento. Por cada patrón presentado a la red se hace una comparación de proximidad con todas las unidades (neuronas) existentes, haciendo pesado el entrenamiento de la red [Cuadros-Vargas, 2004]. Otro punto importante a tocar en las redes SOM, y de la mayoría de Redes Neuronales Artificiales (RNA), es el dilema Estabilidad-Plasticidad [Grossberg, 1972]. La estabilidad se refiere a la pertenencia de cada patrón a una sola categoría a lo largo del entrenamiento, es decir, que no se activen diferentes unidades de salida en diferentes momentos, mientras que la plasticidad se refiere a la capacidad de adaptarse a nuevos datos, incorporando nuevo conocimiento sin afectar el aprendido anteriormente. Elasticidad y plasticidad están inversamente relacionadas, ya que la presencia de una afecta a la otra. La topología estática del modelo original de Kohonen llevo al desarrollo de técnicas constructivas, que, incorporadas a las redes SOM, lograron abarcar el tema de la plasticidad, otorgando a las redes la capacidad de cambiar su arquitectura durante el entrenamiento. Entre algunas redes constructivas representativas tenemos Growing Neural Gas (GNG) [Fritzke, 1995], Growing Self-Organizing Maps (GSOM) [Alahakoon et al., 1998], Growing Hierarchical Self- Organizing Maps (GHSOM) [Dittenbach et al., 2000] e Incremental Grid-Growing (IGG) [Blackmore and Miikkulainen, 1993]. Por otro lado, las redes SOM carecen de la capacidad para responder a búsquedas específicas como búsquedas por rango o búsquedas de los k-vecinos mas cercanos. En las comunidades de Base de Datos y Recuperación de Información el problema de búsquedas específicas por similitud es comúnmente abordado por los Métodos de Acceso Métrico (MAM) [Chávez et al., 2001]. Algunas estructuras conocidas son BK-Tree [Burkhard and Keller, 1973], M-Tree [Ciaccia et al., 1997], Slim-Tree [Caetano Traina et al., 2000] y más recientemente DBM- Tree [Marcos R. Viera and Traina, 2004], que permiten realizar consultas de proximidad eficientemente. La incorporación de Métodos de Acceso Métrico en las redes SOM, técnica conocida como MAM-SOM [Cuadros-Vargas, 2004], logra reducir el costo computacional de la búsqueda de la unidad ganadora, acelerando drásticamente el proceso de agrupamiento. Ingeniería Informática - UCSP 15

1.2. Definición del problema 1.2. Definición del problema El problema en tareas de agrupamiento de datos es la complejidad algorítmica de procesamiento y clasificación. La dificultad de agrupar grandes conjuntos de datos complejos se debe principalmente al alto número de cálculos de distancia entre elementos que los algoritmos SOM realizan. 1.3. Objetivos El objetivo principal de esta investigación es proponer un algoritmo de agrupamiento MAM-SOM eficiente para su aplicación en grandes conjuntos de datos considerando una mínima complejidad algorítmica. La presente investigación pretende además demostrar la eficiencia de las técnicas MAM- SOM. Estas técnicas combinan mapas auto-organizables y métodos de acceso métrico para agilizar el procesamiento de grandes conjuntos de datos. Se busca demostrar la rapidez de las técnicas MAM-SOM comparándolas con otras redes SOM en tareas de agrupamiento de datos, así como la mejora y beneficios ganados al introducir Métodos de Acceso Métrico. 1.4. Organización de la tesis La tesis está organizada como sigue: En el capítulo 2 se desarrolla el tema de Agrupamiento de datos. Se describen sus definiciones, aplicaciones y etapas. En el capítulo 3 se exponen las Redes Neuronales Artificiales, definiciones y su uso como técnicas de agrupamiento de datos, características de los mapas auto-organizables y la red propuesta para los experimentos. En el capitulo 4 se exponen los Métodos de Acceso Métrico: definiciones, propiedades y consideraciones de eficiencia, así como las estructuras propuestas para este investigación. En el capítulo 5 se presentan las técnicas MAM-SOM, la combinación de los métodos de acceso y los mapas auto-organizables, y la técnica propuesta para las tareas de agrupamiento de datos. En el capítulo 6 se describirán y analizarán los experimentos realizados con diversas técnicas, y la comparación con las técnicas propuestas. En el capítulo 7 se presentarán las conclusiones y consideraciones para trabajos futuros. Ingeniería Informática - UCSP 16

Capítulo 2 Agrupamiento de datos 2.1. Consideraciones iniciales El reconocimiento, descripción, clasificación y agrupamiento de patrones de forma automática son problemas importantes en varias disciplinas científicas como biología, psicología, medicina, visión por computadora e inteligencia artificial. En [Watanabe, 1985] se define a patrón como lo opuesto al caos, una entidad vagamente definida que puede ser nombrada. Dado un patrón, su reconocimiento/clasificación consiste en una de las siguientes dos tareas [Jain et al., 2000]: 1) clasificación supervisada, en la que el patrón de entrada es identificado como miembro de una clase predefinida, o 2) clasificación no supervisada (agrupamiento de datos o clustering), en la que el patrón es asignado a una clase aún no conocida. El área de reconocimiento de patrones incluye aplicaciones de minería de datos (identificar una correlación entre millones de patrones multidimensionales), clasificación de documentos, predicciones financieras, organización y recuperación de bases de datos multimedia, y biometría (identificación personal basada en atributos físicos), entre otras. En [Jain et al., 2000] se especifican cuatro métodos para el reconocimiento de patrones: 1) templatematching, 2) clasificación estadística, 3) coincidencia sintáctica o estructural, y 4) redes neuronales. En los métodos estadísticos, cada patrón es representado en términos de d características o medidas, y es visualizado como un punto en un espacio d-dimensional. El objetivo aquí es seleccionar las características que permitan a los vectores de patrones que pertenecen a diferentes categorías ocupar regiones compactas y disjuntas en el espacio de características d-dimensional. A pesar de los principios aparentemente diferentes, la mayoría de modelos de redes neuronales son implícitamente equivalentes o similares a los métodos estadísticos clásicos de reconocimiento de patrones [Jain et al., 2000]. Como veremos, las redes neuronales ofrecen además varias ventajas. 17

2.2. Agrupamiento de datos Figura 2.1: Ejemplo de agrupamientos de diferentes formas. En muchas aplicaciones de reconocimiento de patrones, es en exceso costoso, difícil, o incluso imposible, etiquetar manualmente cada un patrón con su categoría correcta. Por este motivo la clasificación no supervisada, conocida como agrupamiento de datos, provee una solución a este tipo de problemas. 2.2. Agrupamiento de datos En el área de reconocimiento de patrones, el reconocimiento o clasificación no supervisada (agrupamiento de datos), es el conjunto de procedimientos diseñados para encontrar grupos naturales basados en las similitudes presentes en un conjunto de patrones; los patrones son representados como un vector de medidas o como un punto en un espacio multidimensional, para luego ser agrupados en base a su similitud [Jain and Dubes, 1988, Jain et al., 1999]. En agrupamiento de datos, la clasificación de patrones se da de forma no supervisada, que a diferencia de la clasificación supervisada en la que se tienen patrones previamente clasificados, el objetivo radica en agrupar el conjunto de patrones no etiquetados en agrupamientos con algún significado. La clasificación no supervisada o agrupamiento es un problema complejo debido a que los datos pueden originar grupos con diferentes formas y tamaños. En [Jain et al., 2000]se definen las propiedades que deben cumplir los agrupamientos: 1) los patrones dentro de un grupo son más similares entre sí que patrones que pertenecen a grupos diferentes, y 2) un grupo consiste de una relativa alta densidad de puntos separados de otros grupos por una relativa baja densidad de puntos. El creciente uso de técnicas de agrupamiento en el campo de análisis exploratorio de pa- Ingeniería Informática - UCSP 18

CAPÍTULO 2. Agrupamiento de datos trones, agrupamiento, toma de decisiones y aprendizaje de máquina han demostrado su utilidad. Aplicaciones como la minería datos [Hand et al., 2001, Vesanto and Alhoniemi, 2000], donde se busca obtener información útil a partir de grandes cantidades de datos; el reconocimiento de objetos [Lowe, 2001], caracteres [Breuel, 2001], del habla [Waibel et al., 1990] e incluso del hablante [Xu et al., 2006]; la recuperación de información [Tombros et al., 2002]; y la segmentación de imágenes [Rueda and Qin, 2005, Arifin and Asano, 2006] que permite una clasificación de los píxeles de una imagen para el reconocimiento de superficies o texturas (útil para la medicina o la geología); son solo algunos ejemplos de su uso práctico en el mundo actual. En varios de estos problemas existe poca información previa de los datos, por lo que las técnicas de agrupamiento son apropiadas para la exploración de las interrelaciones existentes entre los datos. Entre los principales temas a considerar en las tareas de agrupamiento de datos tenemos la dimensionalidad de los datos, la determinación de la validez de un grupo, la estimación de la tasa de error del sistema de reconocimiento, el conocimiento previo que se tenga sobre el dominio de datos y las propiedades del algoritmo de agrupamiento [Jain et al., 2000, Jain and Dubes, 1988, Jain et al., 1999]. 2.2.1. Reducción de la dimensionalidad Hay dos razones principales para mantener la dimensionalidad de la representación de los patrones lo más pequeña posible: costo de medición y precisión de la clasificación. Un reducido conjunto de características simplifica tanto la representación del patrón como los clasificadores que se construyen sobre la representación seleccionada. El clasificador resultante será más rápido y usará menos memoria, pero por otro lado la reducción del número de características puede disminuir la exactitud del sistema al reducir el poder de discriminación. Por lo tanto, la selección de características es muy importante, ya que es posible hacer dos patrones similares arbitrariamente representándolos con características redundantes. Para la reducción de la dimensionalidad se aplican algoritmos de selección y extracción de características. La selección de características se refiere a algoritmos que seleccionan el mejor subconjunto de características. Los algoritmos de extracción de características crean nuevas características en base a transformaciones o combinaciones del conjunto original de características. 2.2.2. Validez de un grupo En general, se dice que un grupo es válido si es compacto y aislado. Entonces, se debe determinar cuán compacto es un grupo midiendo la cohesión interna entre los elementos del grupo; y cuán aislado es, midiendo la separación del grupo con otros patrones que no pertenecen a él. Ingeniería Informática - UCSP 19

2.3. Etapas del proceso de agrupamiento 2.2.3. Estimación de error En la práctica, la tasa de error de un sistema de reconocimiento debe ser estimada a partir de todas las muestras disponibles, divididas en conjuntos de entrenando y prueba. El clasificador se construye usando las muestras de entrenamiento, y luego se evalúa en base a la clasificación de las muestras del conjunto de prueba. El porcentaje de muestras de prueba que fueron mal clasificadas se toma como una estimación de la tasa de error. 2.2.4. Conocimiento del dominio de datos Debido a que la tarea de agrupamiento es subjetiva (i.e. los mismos datos pueden ser particionados de diferentes formas para diferentes propósitos), esta subjetividad es incorporada en el criterio de agrupamiento al añadir conocimiento del dominio en una o más fases del proceso de agrupamiento ya sea implícita o explícitamente. Este conocimiento influye en la selección de la representación de los patrones, la selección de la medida de similitud y en la selección del esquema de agrupamiento. En el caso de las Redes Neuronales Artificiales (RNA) el conocimiento del domino se usa implícitamente al seleccionar los valores de los parámetros de control o aprendizaje. 2.2.5. Otras propiedades son: Algunas de las propiedades más comunes en los algoritmos de agrupamiento de datos Aglomerativo o divisivo. Una clasificación jerárquica aglomerativa coloca cada objeto en un grupo propio y gradualmente une estos grupos en otros más grandes hasta que todos los objetos están dentro del mismo grupo, mientras que una clasificación divisiva coloca inicialmente a todos los objetos en un único grupo que es gradualmente dividido. Serial o simultáneo. Los procesos seriales manejan a los patrones uno por uno, mientras que los simultáneos trabajan con todo el conjunto de patrones al mismo tiempo. Rígido o difuso. Un algoritmo rígido coloca cada patrón en un solo grupo. Un algoritmo difuso asigna a cada patrón grados de pertenencia a varios grupos. 2.3. Etapas del proceso de agrupamiento La Figura 2.2 muestra el proceso típico de agrupamiento de datos. Entonces, la actividad de agrupamiento involucra los siguientes pasos [Jain et al., 1999]: 1. Representación del patrón (extracción y selección de características), Ingeniería Informática - UCSP 20

CAPÍTULO 2. Agrupamiento de datos Figura 2.2: Etapas de la tarea de agrupamiento de datos. 2. Definición de una medida de proximidad de patrones apropiada al dominio de datos, 3. Agrupamiento, 4. Abstracción de datos, y 5. Evaluación de resultados. 2.3.1. Representación del patrón La representación de patrones hace referencia al número de clases, la cantidad de patrones disponibles y en especial al número, tipo y escala de las características con las cuales el algoritmo de agrupamiento trabajará. Típicamente los patrones son representados como vectores multidimensionales, donde cada dimensión es asociada a una característica. Las características pueden ser cuantitativas (como el peso) o cualitativas (como el color). Como se mencionó anteriormente, existen dos técnicas para determinar el grupo de características que representarán a los patrones: selección y extracción. En la selección de características se identifica el conjunto de características originales más efectivo para la tarea de agrupamiento. En la extracción de características se aplican diversas transformaciones en las características existentes para producir nuevas características. En ambos casos lo que se busca es mejorar el rendimiento de la clasificación y/o la eficiencia computacional. Una investigación cuidadosa sobre las características disponibles, y sus transformaciones, puede mejorar significantemente los resultados del agrupamiento. Asimismo una buena representación de patrones facilitará el entendimiento del agrupamiento resultante. 2.3.2. Definición de la medida de proximidad Debido a que la definición de similitud es una parte fundamental en la determinación de agrupamientos, la métrica con la que se medirá la similitud entre patrones debe ser escogida cuidadosamente. En lugar de medir la similitud entre dos patrones es más común medir la disimilitud usando una métrica definida en el espacio de características. Esta disimilitud entre patrones se mide por medio de una función de distancia (como la distancia Euclidiana) que refleja la diferencia entre dos patrones. Ingeniería Informática - UCSP 21

2.3. Etapas del proceso de agrupamiento Estas y otras consideraciones sobre los espacios métricos se abordarán con más detalle en el Capítulo 4. 2.3.3. Agrupamiento La etapa de agrupamiento es donde se forman los grupos en sí. Este agrupamiento puede darse de diferentes maneras dependiendo del algoritmo de agrupamiento seleccionado y de sus propiedades. Los grupos de salida (clusters) pueden ser rígidos o difusos. Adicionalmente pueden aplicarse otro tipo de técnicas para la etapa de agrupamiento, como métodos probabilísticos y de teoría de grafos. 2.3.4. Abstracción de datos El proceso de abstracción de datos consiste en generar una representación simple del conjunto de datos que sea fácil de comprender o procesar. En el contexto de agrupamiento de datos, la abstracción de datos se refiere a una descripción compacta de cada grupo, por lo general en términos de patrones representativos o prototipos. Para grupos pequeños e isótropos se puede utilizar al centroide como representación. En el caso de grupos grandes, es mejor trabajar con puntos localizados en la región externa del grupo, requiriendo más puntos en proporción a la complejidad de la forma del grupo. Al brindar una descripción simple e intuitiva de los grupos, la abstracción de datos es una herramienta útil para el análisis exploratorio. 2.3.5. Evaluación de resultados Así como se hace una evaluación previa de los datos de entrada para determinar si deben ser procesados o no, en la etapa de evaluación de resultados se hace un análisis de validez de los agrupamientos en base a un criterio específico de optimización (usualmente subjetivo). El análisis de validez busca determinar si el agrupamiento obtenido es significativo. Existen tres tipos de estudios para analizar la validez de los grupos formados: 1) una evaluación externa que compara la estructura obtenida con una previa, 2) una evaluación interna que determina si la estructura es intrínsecamente apropiada para los datos y, 3) una evaluación relativa que compara dos estructuras y mide el mérito relativo de cada una [Dubes, 1993]. Ingeniería Informática - UCSP 22

CAPÍTULO 2. Agrupamiento de datos 2.4. Clasificación de las técnicas de agrupamiento La gran variedad de técnicas para la representación de los datos, medición de similitud entre elementos, y agrupamiento han producido una amplia gama de métodos de agrupamiento. No existe una técnica de agrupamiento de datos que sea universalmente aplicable debido principalmente a las suposiciones implícitas de la forma del grupo o al criterio de agrupamiento que posee cada algoritmo. Considerando al agrupamiento de datos como una tarea de clasificación no supervisada, la gran mayoría de métodos pueden ser divididos en: 1) jerárquicos, que producen una serie de particiones anidadas basadas en un criterio para unir o dividir grupos basados en su similitud, y 2) particionales, que identifican la partición que optimiza un criterio agrupamiento [Jain et al., 1999]. Según la forma de construcción del dendograma, los métodos jerárquicos pueden clasificarse a su vez en aglomerativos y particionales. Según el criterio de optimización, los métodos particionales pueden clasificarse en error cuadrático, mixture resolving, mode seeking y teoría de grafos. 2.4.1. Agrupamiento jerárquico Los métodos jerárquicos pueden construirse de forma aglomerativa o divisiva. Los métodos aglomerativos construyen la jerarquía de abajo a arriba, creando un grupo por objeto para luego unirlos gradualmente hasta que todos los objetos pertenezcan del mismo grupo. Los métodos divisivos construyen la jerarquía de arriba a abajo, creando inicialmente un único grupo al que pertenecen todos los objetos para luego ser dividido gradualmente. Los métodos particionales suelen tener ventaja sobre los jerárquicos en aplicaciones donde se trabaja con grandes conjuntos de datos, debido principalmente al costo computacional de la construcción del dendograma de los métodos jerárquicos. 2.4.2. Agrupamiento particional El agrupamiento particional puede ser expresado como: dados n patrones en un espacio métrico d-dimensional, determinar la partición de los patrones en K grupos, de modo que los patrones en un grupo son más similares entre sí que con patrones de otros grupos. El valor de K puede o no ser especificado, y debe adoptarse un criterio de optimización global o local [Jain et al., 2000]. Un criterio global, como el de error cuadrático, representa cada grupo a través de un prototipo y asigna los patrones a los grupos de acuerdo a los prototipos más similares. Un criterio local forma los grupos utilizando estructuras locales en los datos, por ejemplo, identificando regiones de alta densidad en el espacio de patrones o asignando un patrón y sus k vecinos más Ingeniería Informática - UCSP 23

2.5. Técnicas comunes para agrupamiento de datos cercanos al mismo grupo. Los criterios de error cuadrático y descomposición de mezcla (mixture decomposition) son los más populares dentro de los métodos de agrupamiento particional [Jain et al., 2000], siendo el error cuadrático la estrategia más usada. Aquí el objetivo es obtener la partición que, para un determinado número de grupos, minimice el error cuadrático. 2.5. Técnicas comunes para agrupamiento de datos 2.5.1. Agrupamiento con vecinos más cercanos Debido a que la proximidad juega un papel importante en la noción de grupo, las distancias de los vecinos más cercanos sirven de base para procedimientos de agrupamiento. Un patrón usualmente pertenece al mismo grupo que su vecino más cercano, y dos patrones son considerados similares si comparten vecinos [Jain and Dubes, 1988]. 2.5.2. Agrupamiento difuso Los métodos tradicionales de agrupamiento de datos generan particiones, donde cada patrón pertenece a un solo grupo, por lo que los grupos son disjuntos. El agrupamiento difuso asocia cada patrón con todos los grupos usando una función de pertenencia. El diseño de esta función de pertenencia es el punto más importante en el agrupamiento difuso. 2.5.3. Agrupamiento con RNA Las Redes Neuronales Artificiales (RNA) han sido utilizadas extensamente en las últimas décadas tanto para agrupamiento como para clasificación. Entre las principales características tenemos la arquitectura de procesamiento paralela y distribuida, la capacidad de aprender relaciones no lineales complejas, el entrenamiento y la adaptación al dominio de datos. Las redes neuronales competitivas son las más usadas para el agrupamiento de datos. 2.5.4. Agrupamiento con métodos evolutivos Los métodos evolutivos hacen uso de operadores evolutivos y una población de soluciones para obtener la partición de datos globalmente óptima. Las soluciones candidatas para el problema de agrupamiento son codificadas como cromosomas. Los operadores transforman uno o más cromosomas de entrada en uno o más de salida, siendo los más populares: selección, combinación y mutación. Adicionalmente se aplica una función de evaluación a los cromosomas para determinar la probabilidad de un cromosoma de pasar a la siguiente generación. Ingeniería Informática - UCSP 24

CAPÍTULO 2. Agrupamiento de datos Los métodos evolutivos destacan por ser técnicas de búsqueda global, a diferencia del resto de métodos que realizan búsquedas locales. 2.6. Aplicaciones Las técnicas de agrupamiento de datos fueron inicialmente desarrolladas en biología y zoología para la construcción de taxonomías. La necesidad de varias disciplinas científicas de organizar grandes cantidades de datos en grupos con significado ha hecho del agrupamiento de datos una herramienta valiosa en el análisis de datos. Un sin número de entidades han sido objeto de aplicaciones de agrupamiento de datos: enfermedades, huellas digitales, estrellas, consumidores e imágenes. En muchas aplicaciones no es primordial identificar el número exacto de grupos o la correcta pertenencia de cada patrón, basta con agrupar los objetos de una forma eficaz para que el proceso físico, biológico o evolutivo subyacente pueda ser entendido o aprendido [Jain and Dubes, 1988]. Entre las principales aplicaciones de agrupamiento de datos tenemos la segmentación de imágenes, la minería de datos, la recuperación de información, el procesamiento del lenguaje natural y el reconocimiento de objetos. Segmentación de imágenes. Componente fundamental en muchas aplicaciones de visión computacional, consiste en el exhaustivo particionamiento de una imagen de entrada para la identificación de regiones, cada una de las cuales es considerada homogénea con respecto a alguna propiedad de la imagen. Para cada píxel de la imagen se define un vector de características compuesto por lo general de funciones de intensidad y ubicación del píxel. Esta idea ha sido satisfactoriamente usada para imágenes de intensidad (con o sin textura), imágenes de rango (profundidad) e imágenes multiespectrales [Rueda and Qin, 2005, Arifin and Asano, 2006]. Reconocimiento de objetos. Cada objeto es representado en términos de un conjunto de imágenes del objeto obtenidas desde un punto de vista arbitrario. Debido a la infinidad de vistas posibles de un objeto tridimensional se descartan las comparaciones de una vista no conocida con las ya almacenadas. Entonces, a través de técnicas de agrupamiento es posible seleccionar e identificar al conjunto de vistas de un objeto que sean cualitativamente similares [Lowe, 2001]. Procesamiento del lenguaje natural. Técnicas de agrupamiento son también utilizadas para el reconocimiento de caracteres y del habla. Sistemas dependientes o independientes del sujeto capaces de reconocer lexemas y morfemas para identificar caracteres escritos y discursos hablados. A mayor número de sujetos con los que el sistema debe trabajar, más difícil es discriminar entre clases debido a la superposición en el espacio de características [Breuel, 2001, Waibel et al., 1990]. Minería de datos. Es necesario desarrollar algoritmos que puedan extraer información significante de la gran cantidad de datos disponibles. La generación de información útil, o conocimiento, a partir de grandes cantidades de datos es conocida como minería de datos. Ingeniería Informática - UCSP 25

2.7. Consideraciones finales La minería de datos puede ser aplicada a bases de datos relacionales, transaccionales y espaciales, así como en almacenes de datos no estructurados como la Internet. El agrupamiento de datos es a menudo un importante paso inicial de muchos procesos de minería de datos, como segmentación de bases de datos, modelamiento predictivo, y visualización [Hand et al., 2001, Vesanto and Alhoniemi, 2000]. 2.7. Consideraciones finales El análisis de agrupamientos es una técnica muy útil e importante. La velocidad, fiabilidad y consistencia con las que un algoritmo de agrupamiento puede organizar grandes conjuntos de datos constituyen las razones de su uso en aplicaciones de minería de datos, recuperación de información entre otras. Los procedimientos de agrupamiento producen una descripción de los datos en términos de grupos de datos que poseen fuertes similitudes internas [Duda et al., 2000]. Al aplicar un algoritmo de agrupamiento se debe considerar que: 1) antes de aplicar el algoritmo los datos deben sujetarse a pruebas para ver si existe alguna tendencia de agrupamiento, 2) no existe un mejor. a lgoritmo de agrupamiento para los datos. En [Jain et al., 1999] realizan una comparación de las diferentes técnicas de agrupamiento de datos, donde se resalta que: la mayoría de métodos particionales utilizan la función criterio de error cuadrado, pero las particiones generadas no son tan versátiles como las generadas por algoritmos jerárquicos. Los grupos generados son en su mayoría de forma hiperesférica. Las redes neuronales y los algoritmos genéticos pueden implementarse en hardware paralelo para mejorar su velocidad, pero por otra parte, son sensibles a la selección de varios parámetros de aprendizaje o control. Los métodos evolutivos presentan un buen desempeño cuando el conjunto de datos es pequeño y para datos de bajas dimensiones. Generalmente, al algoritmo de k-medias y su red neuronal equivalente, la red de Kohonen, han sido aplicados en conjuntos de datos grandes. Ingeniería Informática - UCSP 26

Capítulo 3 Redes Neuronales Artificiales 3.1. Consideraciones iniciales Inspiradas en las redes neuronales biológicas, las Redes Neuronales Artificiales (RNA) han sido satisfactoriamente utilizadas para resolver problemas de clasificación de patrones, agrupamiento de datos, aproximación de funciones, predicción, optimización, recuperación por el contenido, y control, convirtiéndose en herramientas populares para la resolución de este tipo de problema. En el área de reconocimiento de patrones, las RNA proveen arquitecturas que permiten mapear algoritmos estadísticos de reconocimiento de patrones. La adaptabilidad de las RNA es crucial para el diseño de sistemas de reconocimiento de patrones no sólo por su capacidad de generalización, sino por su desempeño en ambientes dinámicos durante el entrenamiento. Dentro de la tarea de agrupamiento de datos, las principales características de las redes neuronales artificiales son [Jain et al., 1999]: Procesamiento de vectores numéricos, por lo que los patrones deben representarse con características cuantitativas. Poseen una arquitectura de procesamiento distribuido y paralelo. Pueden aprender los pesos de sus interconexiones adaptativamente, actuando como normalizadores de patrones y selectores de características. 3.2. Definiciones Las redes neuronales pueden verse como sistemas de cómputo paralelos que consisten en un gran número de procesadores simples con varias interconexiones. Los modelos de redes neuronales usan principios de organización como aprendizaje, generalización, adaptación, 27

3.2. Definiciones Figura 3.1: Neurona McCulloch-Pitts [Jain et al., 1996]. tolerancia a fallos y procesamiento distribuido, en una red de grafos dirigidos, en la cual los nodos son neuronas artificiales y las conexiones entre las salidas de las neuronas y sus entradas son aristas dirigidas y con pesos. Entre sus principales características tenemos la habilidad de aprender complejas relaciones no lineales de entrada-salida, usar entrenamiento secuencial y la adaptación al dominio de datos [Jain et al., 1996, Haykin, 1994, Bishop, 1995]. 3.2.1. Modelo de una neurona artificial McCulloch y Pitts propusieron una unidad de umbral binario como modelo computacional de una neurona. La Figura 3.1 muestra un diagrama esquemático de la neurona McCulloch- Pitts, la cual calcula la suma de los pesos de sus n señales de entrada, x j, j = 1, 2,..., n, y genera una salida 1 si la suma está por encima de un parámetro µ, o una salida 0 en el caso contrario. McCulloch y Pitts probaron que con los pesos apropiados, un arreglo sincronizado de las neuronas es capaz de una computación universal. Comparando este modelo con la neurona biológica, las interconexiones modelan a los axones, los pesos de conexión representan la sinapsis, y la función de activación aproxima la actividad en el soma. Por otra parte las neuronas biológicas tiene grados de respuesta, producen una secuencia de pulsos, y son actualizadas de forma asíncrona [Jain et al., 1996]. La neurona McCulloch-Pitts marcó una nueva era en el modelamiento computacional de neuronas, siendo generalizado de muchas formas, principalmente remplazando la función umbral de activación por otras como la sinodal o la Gaussiana. 3.2.2. Arquitectura El agrupamiento de neuronas es llamado Redes Neuronales Artificiales (RNA), la que puede ser vista como un grafo dirigido con pesos, donde los nodos son neuronas artificiales y las aristas son las conexiones entre las neuronas [Haykin, 1994]. Como se observa en la Figura 3.2, según el patrón de conexión o arquitectura las RNA pueden clasificarse en: 1) redes feedforward, en las que no existen ciclos en el grafo, y 2) redes feedback en las que existen ciclos debido a las conexiones de retroalimentación [Jain et al., 1996]. Las redes feedforward son llamadas estáticas porque producen un solo conjunto de sal- Ingeniería Informática - UCSP 28

CAPÍTULO 3. Redes Neuronales Artificiales Figura 3.2: Taxonomía de la arquitectura de las RNA [Jain et al., 1996]. idas, además, no poseen memoria ya que la respuesta a una entrada es independiente de los estados previos de la red. Las redes f eedback o recurrentes son sistemas dinámicos donde un nuevo estado de la red se genera por cada nueva entrada presentada, proceso que se repite hasta llegar a un punto de convergencia. 3.2.3. Aprendizaje La habilidad de aprender es una característica fundamental de la inteligencia. Un proceso de aprendizaje, visto en el contexto de Redes Neuronales Artificiales, se refiere a la actualización de la arquitectura de la red y de los pesos de conexión. Algunos de los conceptos más importantes en el aprendizaje de RNAs son el paradigma de aprendizaje, el algoritmo de aprendizaje y la teoría de aprendizaje [Haykin, 1994, Bishop, 1995, Jain et al., 1996]. El paradigma de aprendizaje se refieren al modelo de entrenamiento de la red (como la información está disponible para la red). Los tres principales paradigmas son: 1) supervisado, 2) no supervisado, e 3) híbrido. En el aprendizaje supervisado o aprendizaje con profesor, se le proporciona a la red la respuesta correcta de cada patrón de entrenamiento. Opuestamente, en el aprendizaje no supervisado no se necesita la respuesta correcta de cada patrón, debido a que la red explora la estructura subyacente de datos y la correlación de los mismos, organizándolos en categorías. El aprendizaje híbrido combina el aprendizaje supervisado y el no supervisado. La teoría de aprendizaje estudia la capacidad, complejidad de muestras, y complejidad de tiempo de la red. La capacidad determina cuánto puede aprender la red de los ejemplos si la solución óptima está contenida en las soluciones que da la red. La complejidad de muestras determina el número de patrones de entrenamiento requeridos en la red para garantizar una generalización válida. Por último, la complejidad de tiempo investiga cuán rápido puede aprender el sistema, es decir, la complejidad computacional del algoritmo para estimar una solución. Ingeniería Informática - UCSP 29

3.3. Redes neuronales auto-organizables El algoritmo de aprendizaje se refiere a la aplicación de las reglas de aprendizaje para ajustar los pesos de la red. Los cuatro tipos básicos de aprendizaje son: 1) corrección de error, 2) Boltzmann, 3) Hebbiano, y 4) competitivo. El algoritmo de corrección de error, aplicable al aprendizaje supervisado, utiliza la señal de error (d y), donde y es la salida actual y d la salida deseada, para modificar los pesos de conexión y gradualmente reducir el error. El aprendizaje Boltzmann es una regla de aprendizaje estocástico derivada de los principios de termodinámica y de teoría de información. El objetivo es ajustar los pesos de las conexiones para que el estado de las unidades visibles satisfaga una distribución de probabilidades deseada. En el aprendizaje Hebbiano si dos neuronas son activadas simultanea y repetitivamente, entonces la fuerza de la sinapsis es incrementada. Una propiedad importante es que el aprendizaje se da localmente. En el aprendizaje competitivo todas las unidades de salida compiten entre ellas para ser activadas, resultando sólo una unidad de salida activada en un instante de tiempo. Las redes más utilizadas en tareas de agrupamiento de datos son aquellas que hacen uso del aprendizaje competitivo, donde patrones similares son agrupados automáticamente en base a correlaciones de datos y representados por una neurona [Jain et al., 1999], siendo los mapas auto-organizables de Kohonen (SOM) [Kohonen, 1982] y las redes Adaptative Resonance Theory (ART) [Carpenter and Grossberg, 1988] (y las derivaciones de ambos) los modelos más difundidos. Una característica común en ambos modelos es la simplicidad de sus arquitecturas ya que poseen una sola capa. Los patrones son presentados en la entrada para luego ser asociados con los nodos de salida. Los pesos entre los nodos de entrada y salida son iterativamente modificados hasta satisfacer un criterio de parada. 3.3. Redes neuronales auto-organizables Los mapas auto-organizables de Kohonen [Kohonen, 1982], del inglés Self-Organizing Maps (SOM), trabajan bajo el paradigma no supervisado y emplean un aprendizaje competitivo en el que se define una vecindad espacial para cada unidad de salida, pudiendo ser de forma cuadrada, rectangular o circular. En este aprendizaje competitivo, se actualizan los vectores de pesos asociados con la unidad ganadora y con sus vecinas. Los mapas auto-organizables tienen la propiedad de preservar la topología, es decir, patrones de entrada cercanos activan unidades de salida cercanas en el mapa. La Figura 3.3 muestra la arquitectura básica de los SOM, pudiéndose describir como un arreglo de unidades cada una conectada con todos los patrones de entrada. Ingeniería Informática - UCSP 30

CAPÍTULO 3. Redes Neuronales Artificiales Figura 3.3: Mapa auto-organizable de Kohonen [Jain et al., 1996]. 3.3.1. Entrenamiento de los mapas auto-organizables En el proceso de entrenamiento de los mapas auto-organizables, cada patrón o señal de entrada es representado por un vector de tamaño n, x = {x 1, x 2,..., x n }, y cada unidad de la red tiene asociado un vector de pesos w = {w 1, w 2,..., w n }, donde w i representa el peso asociado al i-ésimo componente de la señal de entrada. Inicialmente los pesos de las neuronas son establecidos aleatoriamente. Cuando se presenta un patrón x a la red se evalúan todas las salidas de la red, calculando la diferencia entre x y los vectores de pesos w de cada neurona presente en la red de acuerdo con la Ecuación 3.1. x w (3.1) Luego se selecciona la unidad vencedora o Best Matching Unit (BMU) de acuerdo con la Ecuación 3.2. Esta unidad presenta la menor diferencia con el patrón presentado. x w c = min{ x w i } i (3.2) Finalmente se actualizan el vector de pesos de la neurona vencedora y los vectores de pesos de sus vecinos topológicos de acuerdo a la Ecuación 3.3, de manera que toda la vecindad es aproximada hacia el patrón de entrada usando una tasa de aprendizaje α que va decreciendo a través del entrenamiento. w(t + 1) = w(t) + α[x(t) w(t)] (3.3) Debido a que las redes SOM pueden generar una partición no óptima si los pesos iniciales no son escogidos apropiadamente, se pueden aplicar políticas adicionales para la selección de estos pesos. La convergencia de la red es controlada por parámetros como la vecindad de la neurona ganadora o la tasa de aprendizaje. Es aquí que surge el problema de la estabilidad, ya que es posible que un mismo patrón de entrada active diferentes unidades de salida a lo largo del Ingeniería Informática - UCSP 31

3.4. Redes SOM constructivas entrenamiento. Entonces, se dice que un sistema es estable si ningún patrón cambia de categoría durante la fase de entrenamiento. Este problema esta muy relacionado con la plasticidad o habilidad de adaptarse a nuevos datos sin perder la información obtenida anteriormente. Para salvaguardar la estabilidad la tasa de aprendizaje debe decrecer durante el proceso, pero la plasticidad se ve aún afectada. Con el modelo ART [Carpenter and Grossberg, 1988] se logró una red con estabilidad y plasticidad pero se sacrificó la robustez de la misma al ser dependiente del orden en el que se presentan los patrones, obteniendo así diferentes particiones del conjunto de datos para diferentes órdenes de presentación. Además, el tamaño y número de grupos generados por las redes ART dependen del parámetro de vigilancia establecido. También poseen un número fijo de nodos de salida, limitando el número de grupos que pueden producir. Una desventaja del modelo original de Kohonen es la necesidad de definir el número de grupos a priori, generando la necesidad de evaluar diferentes topologías para escoger de entre todas la más óptima para la solución de un problema. Además, la distribución de datos puede variar en el tiempo, y la red debe ser capaz de adaptarse adecuadamente a los cambios de la distribución, creando unidades en caso de que el número de patrones aumente, o eliminando unidades que dejen de ser útiles luego de la eliminación de patrones. Entre algunos de los modelos constructivos que surgen para solucionar la topología estática del modelo original de Kohonen tenemos: Growing Neural Gas [Fritzke, 1995] Density Based Growing Neural Gas [Ocsa et al., 2007] Growing Self-Organizing Maps [Alahakoon et al., 1998] Growing Hierarchical Self-Organizing Maps [Dittenbach et al., 2000] Incremental Grid-Growing [Blackmore and Miikkulainen, 1993] 3.4. Redes SOM constructivas Las redes SOM constructivas incorporan técnicas para poder alterar su arquitectura a través del proceso de entrenamiento. Como se muestra en [Cuadros-Vargas, 2004], un algoritmo constructivo debe: 1) reconocer y corregir las neuronas que hayan sido generadas en posiciones inapropiadas para la distribución de datos, o 2) corregir la topología existente para minimizar el error. Algunos de los algoritmos más representativos de redes SOM constructivas son: Ingeniería Informática - UCSP 32

CAPÍTULO 3. Redes Neuronales Artificiales 3.4.1. Incremental Grid-Growing El algoritmo de Incremental Grid-Growing (IGG) [Blackmore and Miikkulainen, 1993] construye la red dinámicamente modificando la estructura de las conexiones de acuerdo con los datos de entrada. El entrenamiento se inicia con cuatro neuronas conectadas formando un cuadrado, y nuevas neuronas son creadas en los límites externos del mapa, cerca de las neuronas con mayor error acumulado. Esto permite al algoritmo IGG mantener siempre una estructura de dos dimensiones, incluso si los patrones son de dimensionalidad mayor. 3.4.2. Growing Self-Organizing Maps El algoritmo Growing Self-Organizing Maps (GSOM) [Alahakoon et al., 1998] permite el crecimiento de la red en forma dinámica, similar al algoritmo IGG, inicialmente se tienen cuatro neuronas conectadas formando un rectángulo, y nuevas unidades son insertadas en base a la unidad con mayor error acumulado. A diferencia de IGG, GSOM posee un método de inicialización de pesos, lo que reduce la probabilidad de generar mapas inapropiados. 3.4.3. Growing Neural Gas El algoritmo Growing Neural Gas (GNG) propuesto por Firtzke [Fritzke, 1995], permite crear y eliminar unidades en el proceso de entrenamiento. El algoritmo GNG resulta de la combinación de los métodos de Neural Gas [Martinetz and Schulten, 1994] y el Aprendizaje Hebbiano Competitivo [White, 1992], siendo un importante representante de los modelos SOM constructivos [Cuadros-Vargas, 2004]. La red GNG posee una arquitectura feedback, y así como los Self-Organizing Maps, trabaja bajo el paradigma de aprendizaje no supervisado. 3.4.4. Density Based Growing Neural Gas Density Based Growing Neural Gas (DBGNG) propuesto en [Ocsa et al., 2007], es una red constructiva que introduce un criterio de densidad en el entrenamiento de la red, insertando y eliminando unidades de en base a la relativa concentración de patrones en la región en la que se ubique el patrón presentado. La región de evaluación es determinada por un radio de forma similar al algoritmo Incremental Growing Neural Gas [Prudent and Ennaji, 2005], pero a diferencia de éste, se generan una mejor representación del dominio de datos. 3.4.5. Aprendizaje Hebbiano Competitivo La técnica de Aprendizaje Hebbiano Competitivo, o Competitive Hebbian Learning (CHL) [White, 1992], permite crear conexiones dinámicamente durante el proceso de entrenamiento. Ingeniería Informática - UCSP 33

3.5. Growing Neural Gas A diferencia del modelo clásico de Kohonen, CHL verifica si existe una conexión entre las unidades s 1 y s 2 más próximas al patrón ξ presentado, y la crea de no existir. 3.4.6. Gas Neuronal con Aprendizaje Hebbiano Competitivo El algoritmo Gas Neuronal con Aprendizaje Hebbiano Competitivo, del inglés Neural Gas with Competitive Hebbian Learning (NGCHL) [Martinetz and Schulten, 1994] elimina las conexiones no útiles en la red incorporando un contador que controle la edad de las conexiones, contador que se incrementa cuando la neurona a la que pertenecen es elegida vencedora, y que al alcanzar un parámetro máximo de edad elimina la conexión. La principal diferencia con GNG es la necesidad de especificar el número de unidades de la red, además de trabajar con parámetros no constantes en el tiempo. Todos estos modelos proporcionan estructuras capaces de trabajar en ambientes dinámicos. De entre la gran variedad de modelos de redes constructivas, en esta investigación se utilizará la red GNG por ser una red representativa, por lo que será detallada con mayor profundidad a continuación. 3.5. Growing Neural Gas Growing Neural Gas (GNG) es un algoritmo de agrupamiento incremental no supervisado resultante de la combinación de los métodos Neural Gas [Martinetz and Schulten, 1994] y Aprendizaje Hebbiano Competitivo [White, 1992]. Dada una distribución de datos de entrada en R n, GNG crea incrementalmente un grafo, o red neuronal, donde cada nodo en el grafo tiene una posición en R n. Este modelo surgió principalmente con el objetivo de mejorar algunas limitaciones del modelo básico de Kohonen. En cuanto una red de Kohonen precisa de la iniciación de su topología, Growing Neural Gas inicia su entrenamiento con una estructura mínima y nuevas unidades son creadas gradualmente [Fritzke, 1995]. Por tanto el modelo GNG además de trabajar con el paradigma no supervisado, también es constructivo, siendo capaz de generar una topología diferente para cada tipo de problema. Otra diferencia con el modelo de Kohonen es la forma de conectar las unidades. En los mapas de Kohonen las conexiones crean mallas rectangulares, mientras que en el modelo GNG, una unidad puede tener más de cuatro vecinos [Fritzke, 1995], generando así diversas figuras geométricas y una red con mayor capacidad de aprendizaje como se observa en la Figura 3.4. Comenzando con dos nodos el algoritmo construye un grafo en el que los nodos son considerados vecinos si están conectados entre sí por medio de una arista. La información de vecindad se obtiene mediante CHL: para cada señal de entrada x se crea una arista entre los dos nodos más cercanos a la señal medidos en una distancia Euclidiana [Fritzke, 1995]. El grafo generado por CHL, también llamado triangulación inducida de Delaunay, es un Ingeniería Informática - UCSP 34

CAPÍTULO 3. Redes Neuronales Artificiales Figura 3.4: La red GNG se adapta a la distribución de señales con áreas y dimensionalidades diferentes del espacio de entrada [Fritzke, 1995]. sub-grafo de la triangulación de Delaunay correspondiente al grupo de nodos. La triangulación inducida de Delaunay preserva óptimamente la topología en un sentido general. CHL es un componente esencial del algoritmo GNG, ya que es usado para dirigir la adaptación local de los nodos y la inserción de nuevos nodos. Además, Growing Neural Gas usa solamente parámetros que son constantes en el tiempo. 3.5.1. Algoritmo GNG El algoritmo GNG asume que cada nodo k consiste en: k w - un vector de referencia en R n, es decir, la posición de un nodo en el espacio de entrada. Error k - una variable local de error acumulado que representa la medida estadística que se usa para determinar los puntos de inserción apropiados para nuevos nodos. Un conjunto de aristas definen la topología de los vecinos del nodo k, donde cada arista posee una variable de edad que se usa para decidir cuándo remover las aristas viejas con el objetivo de mantener la topología actualizada. Teniendo en cuenta lo anterior, el Algoritmo 1 muestra el proceso de entrenamiento de la red GNG. Ingeniería Informática - UCSP 35

3.5. Growing Neural Gas Algoritmo 1: Algoritmo de entrenamiento de una red GNG 1: Inicializar la red A con dos unidades c 1 e c 2 : A = {c 1, c 2 } (3.4) Los pesos deben ser inicializados con valores aleatorios, generalmente en el intervalo [0,1]. Inicializar el conjunto de conexiones C, C A x A: C = (3.5) 2: Presentar el patrón ξ 1 a la red de acuerdo con una distribución uniforme p(ξ). 3: Determinar las dos neuronas s 1 y s 2 más próximas a ξ de acuerdo con las ecuaciones (3.6) y (3.7): s 1 = argmin ξ w c c A (3.6) s 2 = argmin ξ w c c A {s 1 } (3.7) donde ξ w c representa la función de distancia (en este caso euclidiana) entre los vectores ξ e w c. 4: Si no existe conexión entre s 1 y s 2, entonces crearla. Inicializar la edad de esta nueva conexión en 0. C = C {s 1, s 2 } (3.8) edad (s1,s 2 ) = 0 (3.9) 5: Actualizar la variable de error local adicionando el cuadrado de la distancia entre la neurona ganadora y el patrón presentado: E s1 = E s1 + ξ w s1 2 (3.10) 6: Actualizar el vector de pesos de s 1 y los vectores de pesos de sus vecinos de acuerdo con las ecuaciones 3.11 y 3.12: w s1 = µ b (ξ w s1 ) (3.11) w i = µ n (ξ w i ) ( i N s1 ) (3.12) donde N s1 es el conjunto de vecinos topológicos de la unidad ganadora s 1, µ b y µ n son las tasas de aprendizaje para la neurona ganadora y para sus vecinos respectivamente. 7: Incrementar la edad de todas las conexiones de s 1 : edad(s i, i) = edad(s i, i) + 1 i N s1. (3.13) 8: Remover las conexiones con edad mayor que a max 2. Si después de este proceso existen unidades sin conexiones, éstas deben ser removidas de la red. 1 ξ R n, donde n es la dimensión de los patrones. 2 a max es el parámetro de entrenamiento que determina la edad máxima permitida para una conexión. Ingeniería Informática - UCSP 36

CAPÍTULO 3. Redes Neuronales Artificiales 9: Si el número de patrones presentados hasta el momento es múltiplo del parámetro λ, una nueva unidad debe ser insertada de la siguiente forma: Determinar la unidad q con el mayor error acumulado de toda la red. q = max{e c, c A} (3.14) Determinar, de entre los vecinos de q, la unidad f con el mayor error acumulado. f = max{e c } c N q (3.15) Agregar una nueva unidad r a la red e interpolar su vector de pesos a partir de q y f de acuerdo con la Ecuación 3.17. A = A r (3.16) w r = w q + w f 2 Conectar la nueva unidad r con q y f, y remover la conexión original entre q y f: (3.17) C = C {(r, q), (r, f)} (3.18) C = C {(q, f)} (3.19) Disminuir las variables de error de las unidades q y f en una fracción α: Interpolar la variable de error de r a partir de q e f: E q = αe q, E f = αe f (3.20) E r = E q + E f 2 (3.21) 10: Disminuir la variable de error de todas las unidades en base a la tasa de corrección de error β: E c = βe c, c A (3.22) 11: Si el criterio de parada 3 no ha sido alcanzado, volver al paso 2. Gracias al entrenamiento, GNG puede ser usado para encontrar estructuras topológicas que reflejan la estructura de la distribución de entrada. Entonces, incluso si la distribución de entrada cambia en el tiempo, GNG es capaz de adaptarse moviendo los nodos hasta cubrir la nueva distribución. No es necesario decidir a priori el número de nodos ya que los nodos son añadidos incrementalmente durante la ejecución. La inserción de nuevos nodos termina cuando se cumple un criterio de desempeño definido por el usuario o si se llega a un tamaño máximo de la red. 3 Un criterio de parada puede ser un tamaño máximo de red, un determinado número de ciclos, o alguna otra medida de desempeño. Ingeniería Informática - UCSP 37

3.6. Consideraciones finales 3.6. Consideraciones finales En este capítulo se presentaron las redes neuronales artificiales, algunas propiedades y conceptos básicos así como los mapas auto-organizables o Self-Organizing Maps y algunas de variaciones constructivas del modelo de Kohonen. La gran ventaja de las redes SOM es su capacidad de aprendizaje y generalización. Las redes SOM vienen siendo ampliamente usadas en aplicaciones de agrupamiento de grandes conjuntos de datos (como WEBSOM [Lagus et al., 1999]) debido principalmente a que estas redes son capaces de establecer nuevas relaciones entre los datos, organizando la información de entrada mediante un aprendizaje no supervisado. Las redes SOM generan mapas topológico que mantiene las relaciones de vecindad en base a criterios de similitud, y por lo tanto, crean de forma natural agrupamientos de patrones con características similares, lo que sumado a sus otras características, ofrece una técnica de agrupamiento de datos efectiva. Una limitación importante de los mapas auto-organizables es la falta de una estructura capaz de responder a consultas específicas como las de k-vecinos más cercanos o búsquedas por rango, así como el alto costo computacional de su entrenamiento. Ingeniería Informática - UCSP 38

Capítulo 4 Métodos de Acceso Métrico 4.1. Consideraciones iniciales Los Métodos de Acceso Métrico (MAM) se enfocan en el problema de organización de datos para que, en base a un criterio de similitud, facilitar la búsqueda del conjunto de elementos que estén cerca de un elemento de consulta [Chávez et al., 2001]. Este problema está presente en un sinfín de aplicaciones que van desde escenarios de la vida cotidiana hasta las ramas de las ciencias de la computación, como el reconocimiento de patrones o la recuperación de información. Tradicionalmente, las estructuras de datos han aplicado operaciones de búsqueda, donde se hace una coincidencia exacta. Por ejemplo, en las bases de datos donde se manejan registros, cada registro es comparado con los demás por medio de una clave y las búsquedas retornan los registros cuya clave coincida con la clave suministrada. Tras la aparición de nuevos contextos, debido principalmente al desarrollo tecnológico, vienen surgiendo nuevos algoritmos y métodos de acceso más eficientes y veloces. En las búsquedas por similitud o proximidad, la similitud entre elementos es modelada a través de una función de distancia que satisfaga la desigualdad triangular, y un conjunto de objetos llamado espacio métrico. 4.2. Definiciones Los Métodos de Acceso Métrico son estructuras ampliamente utilizadas en el campo de Recuperación de Información. Un MAM debe organizar un conjunto de datos en base a un criterio de similitud para responder eficientemente a consultas específicas de proximidad. Los Métodos de Acceso Métrico puedes ser descritos como una herramienta de organización de datos. Los MAMs trabajan sobre espacios métricos definidos por un conjunto de 39

4.2. Definiciones objetos y una función de distancia que mide la disimilitud entre los objetos del espacio métrico [Chávez et al., 2001]. Consideremos un conjunto U que denota el universo de objetos válidos y la función d : U U R que mide la distancia entre objetos. Se define como espacio métrico al subconjunto S U de tamaño n = S llamado diccionario o base de datos, que denota el conjunto de objetos de búsqueda, y a la función d() que mide la disimilitud entre objetos y satisface las propiedades de: 1. x, y U, d(x, y) 0, positividad; 2. x, y U, d(x, y) = d(y, x), simetría; 3. x U, d(x, x) = 0, reflexividad; 4. x, y U, x y d(x, y) > 0, positividad estricta; 5. x, y, z U, d(x, y) d(x, z) + d(z, y), desigualdad triangular. La desigualdad triangular es la propiedad más importante porque establece los límites de distancias que aún pueden no haberse calculado, generando algoritmos de búsqueda por similitud significativamente más rápidos [Clarkson, 2006]. Para los espacios vectoriales (un caso particular de espacios métricos) donde cada objeto es descrito como un vector de características (x 1, x 2, x 3,..., x n ) varios Métodos de Acceso Espacial (MAE) como Kd-Tree [Bentley, 1979] o R-Tree [Guttman, 1984] han sido propuestos para indexar este tipo de objetos multidimensionales. El problema principal de los espacios vectoriales está relacionado con las altas dimensiones de los datos, la también conocida maldición de la dimensionalidad [Chávez et al., 2001]. 4.2.1. Consultas de proximidad Dado un objeto de consulta q U, para poder recuperar los objetos similares a q, se definen los siguientes tipos básicos de consulta: Consultas de rango Rq(q, r). Recupera todos los elementos que se encuentran dentro de un radio r de q. Esto es, {u U / d(q, u) r}. Consulta de vecino más cercano N N(q). Recupera el elemento en U más cercano a q. Esto es {u U / v U, d(q, u) d(q, v)}. Adicionalmente se puede establecer un rango máximo r. Consulta de k-vecinos más cercanos NN k (q). Recupera los k elementos en U más cercanos a q. Esto es, {A U / A = k u A, v {U A}, d(q, u) d(q, v)}. Ingeniería Informática - UCSP 40

CAPÍTULO 4. Métodos de Acceso Métrico (a) Ejemplo de búsqueda por rango r en un conjunto de puntos. (b) Ejemplo de búsqueda del vecino más cercano en un conjunto de puntos. Figura 4.1: Tipos básicos de consultas por proximidad. (c) Ejemplo de búsqueda de los k- vecinos más cercanos en un conjunto de puntos con k = 4. 4.2.2. Consideraciones de eficiencia La eficiencia de los Métodos de Acceso Métrico está determinada por muchos factores. Primero, como el conjunto inicial de datos es muy grande como para tenerlo en memoria principal, el número de accesos a disco requeridos para procesar una consulta o inserción es crucial. Segundo, el costo computacional de la función de distancia puede ser tan grande que el número de cálculos de distancia tienen gran impacto en la eficiencia. Tercero, la capacidad y uso del almacenamiento, no por el costo de almacenamiento sino por los accesos a disco [Bozkaya and Ozsoyoglu, 1997]. El tiempo total para evaluar una consulta viene determinado por la Ecuación 4.1, donde NCD representa el Número de Cálculos de Distancia, d() es la función de distancia, tiempo E/S es el tiempo requerido para el acceso a memoria secundaria y tiempo CPU el tiempo consumido por el procesador [Chávez et al., 2001]. T = NCD complejidad de d() + tiempo CPU + tiempo E/S (4.1) En muchas aplicaciones evaluar la función d() puede ser tan costoso que los demás componentes son descartados. El Número de Cálculos de Distancia (NCD) se mide en base a la complejidad de los algoritmos. Se puede asumir un trabajo de CPU lineal siempre que el número de cálculos de distancia sea bajo. La importancia del tiempo E/S depende de la cantidad de memoria principal disponible y el costo relativo de calcular la función de distancia. Entonces, para poder minimizar T es necesario reducir el NCD. Es entonces necesario diseñar algoritmos de indexación eficientes que reduzcan el NCD. En general, estas estructuras pueden resultar costosas de construir, pero el costo de construcción es compensado por la reducción de cálculos de distancia en las consultas posteriores. Ingeniería Informática - UCSP 41

4.3. Algoritmos de búsqueda 4.3. Algoritmos de búsqueda Los Métodos de Acceso Métrico son estructuras que trabajan sobre espacios métricos, organizando los datos para responder eficientemente a consultas por similitud. De acuerdo con [Zezula et al., 2006], los MAMs pueden ser clasificados en: Particionamiento de esferas: Fixed Queries Tree [Baeza-Yates et al., 1994], Vantage Point Tree [Uhlmann, 1991]. Particionamiento de hiperplanos: Generalized Hyper-plane Tree [Uhlmann, 1991]. Distancias Precomputadas: Omni-Family [Filho et al., 2001], Approximating and Eliminating Search Algorithm [Ruiz, 1986]. Métodos híbridos: GNAT [Brin, 1995], Spatial Approximation Tree [Navarro, 2002], Multi Vantage Point Tree [Bozkaya and Ozsoyoglu, 1997]. Otros métodos: M-Tree [Ciaccia et al., 1997], Slim-Tree [Caetano Traina et al., 2000], D- Index [Dohnal et al., 2003]. La Figura 4.2 muestra otra clasificación de los Métodos de Acceso Métrico propuesta en [Chávez et al., 2001], aquí se clasifican a los métodos de búsqueda en: basados en agrupamiento y basados en pivotes. Los métodos basados en agrupamiento particionan el espacio en regiones representadas por un centroide o centro de grupo, para luego poder descartar regiones completas cuando se hace una búsqueda. Los métodos basados en pivotes seleccionan un conjunto de elementos como pivotes, y construyen un índice en base a las distancias entre cada elemento y los pivotes. Se pueden encontrar buenas referencias sobre clasificación y definición de los MAMs en [Chávez et al., 2001], [Hjaltason and Samet, 2003] y [Clarkson, 2006]. A continuación se describen sólo algunos métodos de la gran variedad existente. 4.3.1. Burkhard-Keller Tree La estructura Burkhard-Keller Tree (BKT) [Burkhard and Keller, 1973] inicialmente selecciona un elemento arbitrario p U como la raíz del árbol. Para cada distancia i > 0, se define U i = {u U, d(u, p) = i} como el conjunto de todos los elementos a distancia i de la raíz p, y para cada U i no vacío, se construye un hijo de p (etiquetado i) para luego recursivamente construir el BKT para U i. Este método es conveniente para funciones de distancia discreta. Ingeniería Informática - UCSP 42

CAPÍTULO 4. Métodos de Acceso Métrico Figura 4.2: Taxonomía de algoritmos en base a sus características [Chávez et al., 2001] 4.3.2. Vantage-Point Tree El árbol Vantage-Point Tree (VPT) presentado por Uhlmann en [Uhlmann, 1991] fue diseñado para funciones de distancia continua. VPT construye recursivamente un árbol binario seleccionando también un elemento arbitrario p U como raíz y la mediana todas las distancias, M = mediana{d(p, u)/u U}. Los elementos a distancia menor o igual a M son insertados en el subárbol izquierdo, mientras que los mayores a M son insertados en el subárbol derecho. 4.3.3. M-Tree La estructura de datos M-Tree [Ciaccia et al., 1997] provee capacidades dinámicas (construcción gradual) y un buen manejo de E/S además de un reducido número de cálculos de distancia. Es un árbol donde se selecciona un conjunto de elementos representativos en cada nodo y el elemento más cercano a cada representativo es organizado en el subárbol cuya raíz es el elemento representativo. Cada representativo almacena su radio de cobertura. Al hacer una consulta el elemento de consulta es comparado con todos los representativos del nodo y el algoritmo de búsqueda entra recursivamente en los nodos no descartados usando el criterio del radio de cobertura. La principal diferencia en M-Tree con métodos anteriores es el algoritmo de inserción. Los Ingeniería Informática - UCSP 43

4.3. Algoritmos de búsqueda elementos son insertados en el mejor subárbol, definido como aquel subárbol que minimice la expansión del radio de cobertura. El elemento es luego agregado al nodo hoja. En caso de overflow se divide el nodo dos y se lleva un elemento del nodo a un nivel superior, obteniendo una estructura de datos balanceada. 4.3.4. Slim-Tree Slim-Tree propuesto por Traina en [Caetano Traina et al., 2000] es un MAM dinámico y balanceado con una estructura básica similar al M-Tree donde los datos se almacenan en los nodos hoja. Slim-Tree crece de abajo a arriba, de las hojas a la raíz, organizando los objetos en un estructura jerárquica que usa un representativo como el centro de cada región que cubre los objetos en el sub-árbol. Las principales características son la introducción de un nuevo algoritmo de división e inserción así como el algoritmo Slim-down [Caetano Traina et al., 2000] y una medida de sobreposición llamada Fat-factor par la construcción de árboles más rápidos. El algoritmo de división está basado en el MST [Kruskal, 1956], desempeñándose más rápidamente que otros algoritmos de división y sin sacrificar el rendimiento de las consultas. Además, el algoritmo de inserción produce un considerable mayor uso de almacenamiento. El algoritmo Slim-down es introducido para reducir el grado de sobreposición, haciendo al árbol más estrecho y por lo tanto mejorando el desempeño de las consultas y de la construcción, trabajando con memoria principal o secundaria. 4.3.5. Omni-Tree La familia de métodos Omni [Filho et al., 2001] trabaja de forma similar a la estructura LAESA [Micó L., 1994], pero a diferencia de ésta, Omni propone el algoritmo HF para la selección estratégica de un subconjunto de objetos del conjunto de datos para ser usados como puntos de referencia globales u Omni-coordenadas, definidas como el conjunto de distancias de un objeto a cada uno de los focos generalmente accesibles a través de una matriz con distancias precalculadas. Una vez que las Omni-coordenadas son calculadas y almacenadas, pueden ser utilizadas para reducir el número de cálculos de distancia. 4.3.6. DBM-Tree Un método de acceso más reciente, DBM-Tree (del inglés Density Based Metric-Tree) [Marcos R. Viera and Traina, 2004] presenta un funcionamiento similar a Slim-Tree, pero fue el primero en proponer un relajo en la altura de las regiones del árbol con alta densidad de datos para poder reducir aún más la sobreposición de nodos. Aunque generando árboles no balanceados, esta aproximación logra reducir el número de cálculos de distancia sin afectar el número de accesos a disco. Ingeniería Informática - UCSP 44

CAPÍTULO 4. Métodos de Acceso Métrico Actualmente existe una gran bibliografía sobre métodos de acceso, cada uno presentando nuevas mejoras en la eficiencia de los algoritmos de búsqueda y construcción. Para la presente investigación se han considerado las técnicas Slim-Tree y Omni-Secuencial, detalladas en las siguientes secciones. 4.4. Slim-Tree Slim-Tree [Caetano Traina et al., 2000] es un MAM dinámico. La estructura de datos básica de esta técnica es similar a la de otros árboles como el M-Tree [Ciaccia et al., 1997], donde los datos son almacenados en las hojas y se construye una jerarquía de abajo hacia arriba. Slim-Tree difiere de los demás Métodos de Acceso Métrico en los algoritmos de división e inserción que utiliza. El algoritmo de división es más rápido que otros algoritmos y sin sacrificar el rendimiento de las consultas, además, el algoritmo de inserción hace un considerable mayor uso del almacenamiento. El principal aporte es la introducción del algoritmo Slim-down, que mantiene al árbol compacto y rápido en la etapa de post-procesamiento. Slim-Tree es un árbol dinámico y balanceado que crece de las hojas a la raíz, organizando los objetos en una estructura jerárquica y utilizando un nodo representativo como centro de cada región que cubre a los objetos en un sub-árbol. Este árbol posee dos tipos de nodos: nodos dato (hojas) y nodos índice, ambos con un tamaño de página predefinido que almacena un número máximo de objetos. 4.4.1. Funcionamiento En el algoritmo de construcción de Slim-Tree, cuando se agrega un nuevo objeto, primero se busca al nodo que cubra a este objeto empezando desde la raíz. En caso de no encontrarse un nodo que cumpla con esta condición, se selecciona un sub-árbol siguiendo uno de estos tres métodos: 1) selección aleatoria de uno de los nodos, 2) selección del nodo cuyo centro (también llamado centriode) posea la mínima distancia al objeto, o 3) selección del nodo que tenga la mínima ocupación de entre los nodos calificados. Este proceso se aplica recursivamente en todos los niveles del árbol. Cuando un nodo se desborda se crea uno nuevo en el mismo nivel y se distribuyen los objetos entre los nodos, insertándose en el nodo padre. Si el nodo raíz se divide se crea una nueva raíz y el árbol crece un nivel. Para la división de los nodos se proponen tres algoritmos: Aleatorio, donde los dos nuevos centroides son seleccionados aleatoriamente y los objetos existentes son distribuidos entre ellos, cada objeto es almacenado en el nuevo nodo cuyo centro está más cerca. minmax, donde se consideran todos los pares de objetos como representativos potenciales. Ingeniería Informática - UCSP 45

4.4. Slim-Tree (a) Nodo antes de la división. (b) MST construido con los objetos del nodo. (c) Nodos después de la división. Figura 4.3: División de nodos con el algoritmo MST [Caetano Traina et al., 2000]. Para cada par, se asignan los objetos a un representativo por medio de un algoritmo lineal, escogiendo el par que minimice el radio convergente. Minimal Spanning Tree (MST) [Kruskal, 1956], donde se construye el MST de los objetos y se desecha el arco más largo del árbol. Gracias al algoritmo de división basado en MST, Slim-Tree logra una partición rápida de los nodos en dos grupos que posteriormente reducirán los tiempos de búsqueda. El Algoritmo 2 [Caetano Traina et al., 2000] describe el funcionamiento de la división de nodos usando MST. El algoritmo considera un grafo de C objetos y C(C 1) aristas, donde el peso de las aristas hacen referencia a la distancia entre los objetos conectados. La Figura 4.3 muestra de forma gráfica este proceso de división. Algoritmo 2: Algoritmo de división MST 1: Construir el MST de los C objetos. 2: Eliminar la arista más larga. 3: Reportar los objetos conectados como dos grupos. 4: Escoger el objeto representativo de cada grupo, por ejemplo el objeto con la menor distancia máxima a los demás objetos del grupo. Adicionalmente, mediante la aplicación del algoritmo Slim-down, Slim-Tree logra producir árboles estrechos y con un reducido grado de sobreposición entre nodos (overlapping). El Algoritmo 3 [Caetano Traina et al., 2000] describe el proceso del algoritmo Slim-down. La Figura 4.4 muestra gráficamente el resultado obtenido por este algoritmo. Algoritmo 3: Algoritmo Slim-down 1: Para cada nodo i en un nivel determinado del árbol, buscar el objeto c más lejano de su centroide. 2: Buscar al nodo j hermano de i que también contenga al objeto c, si tal nodo existe, quitar c del nodo i e insertarlo en el nodo j, corrigiendo los radios del nodo i. Ingeniería Informática - UCSP 46

CAPÍTULO 4. Métodos de Acceso Métrico (a) Nodos antes de aplicar el algoritmo de Slim-down. (b) Nodos después de aplicar el algoritmo de Slim-down. Figura 4.4: Funcionamiento del algoritmo Slim-down [Caetano Traina et al., 2000]. 3: Repetir los pasos 1 y 2 secuencialmente en todos los nodos de un nivel determinado del árbol. Si en el proceso se produjo un movimiento de objetos de un nodo a otro, repetir los pasos 1 y 2 de nuevo en todos los nodos del nivel. Las regiones de los nodos pueden sobreponerse unas con otras, fenómenos conocido como overlaping, incrementando el número de caminos a recorrer al realizar una consulta, y por lo tanto incrementando el número de cálculos de distancia efectuados. Esta deficiencia se ve claramente mejorada en el Slim-Tree. 4.5. Omni-Secuencial La técnica Omni [Filho et al., 2001] hacen uso de un conjunto de puntos de referencia llamados focos"para reducir el número de cálculos de distancia. Cada vez que se inserta un nuevo elemento se calculan las distancias de este elemento hacia cada uno de los focos, información que es luego utilizada en las consultas para reducir los cálculos de distancia haciendo uso de la propiedad de la desigualdad triangular vista anteriormente. Esta técnica introducen los conceptos de Omni-focos y Omni-coordenadas. Los Omnifocos son definidos como el conjunto F de distintos puntos que pertenecen al espacio métrico. Las Omni-coordenadas son definidas como el conjunto de distancias calculadas entre cada punto del espacio métrico y cada elemento de F, por lo tanto la cardinalidad de la coordenada es igual al número de focos. El costo adicional de calcular las Omni-coordenadas es compensado por el ahorro obtenido en las consultas. Uno de los puntos críticos en esta técnica es la selección del conjunto de focos F y su cardinalidad. Con respecto a la cardinalidad, y como puede ser observado en la Figura 4.5, con un mayor número de focos se puede reducir más el subconjunto de candidatos, acelerando el proceso de búsqueda, pero se requiere mayor espacio y tiempo para procesarlos. Los autores recomiendan una cardinalidad no mayor al doble de la dimensionalidad intrínseca de los datos ya que a un mayor número de focos se obtiene un pequeño o ningún beneficio. Ingeniería Informática - UCSP 47

4.6. Consideraciones finales (a) Sin uso de focos todo el conjunto de datos es candidato. (b) Usando un foco el subconjunto de datos candidatos (área sombreada) se reduce. (c) Subconjunto de candidatos usando dos focos. Figura 4.5: Selección de los candidatos para una consulta de rango con diferentes cardinalidades de F [Filho et al., 2001]. Para la selección de los focos se recomienda seleccionar puntos lo más separado posible y equidistantes. Se propone el algoritmo HF para esta tarea. Este algoritmo primero selecciona un objeto aleatoriamente y luego selecciona como primer foco al objeto más alejado de este. El segundo foco es el elemento más distante el primer foco. Por último se selecciona como siguiente foco a aquel objeto con distancias más similares a los focos anteriores, este proceso se repite hasta seleccionar todos los focos. El proceso completo está descrito en el Algoritmo 4 [Filho et al., 2001]. Algoritmo 4: Algoritmo HF 1: Seleccionar aleatoriamente un elemento s 0 del conjunto de datos. 2: Encontrar el elemento f 1 más lejano a s 0 y seleccionarlo como foco. 3: Encontrar el elemento f 2 más lejano a f 1 y seleccionarlo como foco. 4: Encontrar el elemento f 1 más lejano a s i y seleccionarlo como foco. 5: Establecer edge = d(f 1, f 2 ), variable usada para encontrar a los demás focos. 6: Mientras se necesiten encontrar más focos repetir los pasos 7 y 8. 7: Para cada punto s i del conjunto de datos calcular: error i = k k esfoco edge d(f k, s i ). 8: Seleccionar como foco al elemento s i que posea el menor error i y que no haya sido seleccionado anteriormente como foco. 4.6. Consideraciones finales Las búsquedas por similitud vienen siendo ampliamente usadas en muchas áreas de las ciencias de la computación como minería de datos, bioinformática y compresión de vídeo para citar sólo algunas. Los Métodos de Acceso Métrico han probado ser excelentes estructuras para resolver este tipo de consultas específicas ya que han sido diseñados para trabajar sobre espacios métricos reduciendo los costos de búsqueda. Debido a que el cálculo de la función de distancia en sí puede tener un costo computa- Ingeniería Informática - UCSP 48