Agrupamiento de Datos utilizando técnicas MAM-SOM

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Agrupamiento de Datos utilizando técnicas MAM-SOM"

Transcripción

1 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

2 A mis padres y mi hermano.

3 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

4 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.

5 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.

6 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.

7 Índice general 1. Introducción Contexto y Motivación Definición del problema Objetivos Organización de la tesis Agrupamiento de datos Consideraciones iniciales Agrupamiento de datos Reducción de la dimensionalidad Validez de un grupo Estimación de error Conocimiento del dominio de datos Otras propiedades Etapas del proceso de agrupamiento Representación del patrón Definición de la medida de proximidad Agrupamiento Abstracción de datos Evaluación de resultados

8 ÍNDICE GENERAL 2.4. Clasificación de las técnicas de agrupamiento Agrupamiento jerárquico Agrupamiento particional Técnicas comunes para agrupamiento de datos Agrupamiento con vecinos más cercanos Agrupamiento difuso Agrupamiento con RNA Agrupamiento con métodos evolutivos Aplicaciones Consideraciones finales Redes Neuronales Artificiales Consideraciones iniciales Definiciones Modelo de una neurona artificial Arquitectura Aprendizaje Redes neuronales auto-organizables Entrenamiento de los mapas auto-organizables Redes SOM constructivas Incremental Grid-Growing Growing Self-Organizing Maps Growing Neural Gas Density Based Growing Neural Gas Aprendizaje Hebbiano Competitivo Gas Neuronal con Aprendizaje Hebbiano Competitivo Growing Neural Gas Ingeniería Informática - UCSP 8

9 ÍNDICE GENERAL Algoritmo GNG Consideraciones finales Métodos de Acceso Métrico Consideraciones iniciales Definiciones Consultas de proximidad Consideraciones de eficiencia Algoritmos de búsqueda Burkhard-Keller Tree Vantage-Point Tree M-Tree Slim-Tree Omni-Tree DBM-Tree Slim-Tree Funcionamiento Omni-Secuencial Consideraciones finales Técnica MAM-SOM para agrupamiento de datos Consideraciones iniciales Trabajos Previos Técnicas MAM-SOM MAM-SOM Híbrida MAM-SOM* Propiedades de las técnicas MAM-SOM Ingeniería Informática - UCSP 9

10 ÍNDICE GENERAL 5.5. Estructuras propuestas para la técnica MAM-SOM Agrupamiento con MAM-SOM Consideraciones finales Experimentos Consideraciones iniciales Bases de datos Primer grupo Discusión en relación al número de agrupamientos Discusión en relación al número de patrones Segundo grupo Discusión en relación al número de conexiones Discusión en relación al número de patrones Tercer grupo Experimentos adicionales Discusión con respecto a los agrupamientos Discusión con respecto al tiempo consumido Conclusiones y Trabajos Futuros Conclusiones Contribuciones Problemas encontrados Recomendaciones Trabajo futuro Bibliografía 77 Ingeniería Informática - UCSP 10

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

12 Índice de figuras 2.1. Ejemplo de agrupamientos de diferentes formas Etapas de la tarea de agrupamiento de datos Neurona McCulloch-Pitts [Jain et al., 1996] Taxonomía de la arquitectura de las RNA [Jain et al., 1996] Mapa auto-organizable de Kohonen [Jain et al., 1996] La red GNG se adapta a la distribución de señales con áreas y dimensionalidades diferentes del espacio de entrada [Fritzke, 1995] Tipos básicos de consultas por proximidad Taxonomía de algoritmos en base a sus características [Chávez et al., 2001] División de nodos con el algoritmo MST [Caetano Traina et al., 2000] Funcionamiento del algoritmo Slim-down [Caetano Traina et al., 2000] Selección de los candidatos para una consulta de rango con diferentes cardinalidades de F [Filho et al., 2001] Impacto del valor λ en la red GNG [Cuadros-Vargas and Romero, 2005] Ejemplo del proceso de poda de conexiones de las técnicas MAM-SOM* con 5000 patrones y NeighborhoodSize = 3 [Cuadros-Vargas and Romero, 2002] 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

13 Í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 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 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 Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos COVERT (54-d) Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos IMAGES (1215-d) Comparación del Número de Cálculos de Distancia acumulado por patrón presentado usando la base de datos NURSERY (8-d) Reducción gradual del parámetro τ para encontrar agrupamientos en un conjunto datos sintéticos de 1000 puntos en dos dimensiones. NeighborhoodSize = Ingeniería Informática - UCSP 13

14 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,

15 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

16 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 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 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

17 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

18 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 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

19 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] 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 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

20 2.3. Etapas del proceso de agrupamiento 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 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 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 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

21 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 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 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

22 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 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 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 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

23 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 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 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

24 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 Técnicas comunes para agrupamiento de datos 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] 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 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 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

25 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 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

26 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] 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

27 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 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

28 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] 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 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

29 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 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

30 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 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

31 CAPÍTULO 3. Redes Neuronales Artificiales Figura 3.3: Mapa auto-organizable de Kohonen [Jain et al., 1996] 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

32 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

33 CAPÍTULO 3. Redes Neuronales Artificiales 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 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 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 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 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

34 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 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 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

35 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 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

36 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

37 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 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

38 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

39 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 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

40 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] 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

41 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 = 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

42 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 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

43 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] 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 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

44 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 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 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 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

45 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 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 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

46 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

47 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 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

48 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 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

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

CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) CLASIFICACIÓN NO SUPERVISADA CLUSTERING Y MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) info@clustering.50webs.com Indice INTRODUCCIÓN 3 RESUMEN DEL CONTENIDO 3 APRENDIZAJE

Más detalles

CLASIFICACIÓN NO SUPERVISADA

CLASIFICACIÓN NO SUPERVISADA CLASIFICACIÓN NO SUPERVISADA CLASIFICACION IMPORTANCIA PROPÓSITO METODOLOGÍAS EXTRACTORES DE CARACTERÍSTICAS TIPOS DE CLASIFICACIÓN IMPORTANCIA CLASIFICAR HA SIDO, Y ES HOY DÍA, UN PROBLEMA FUNDAMENTAL

Más detalles

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

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

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

Redes de Kohonen y la Determinación Genética de las Clases Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

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

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

Tema 7. Introducción al reconocimiento de objetos

Tema 7. Introducción al reconocimiento de objetos Tema 7. Introducción al reconocimiento de objetos En resumen, un sistema de reconocimiento de patrones completo consiste en: Un sensor que recoge las observaciones a clasificar. Un sistema de extracción

Más detalles

Capítulo 2. Las Redes Neuronales Artificiales

Capítulo 2. Las Redes Neuronales Artificiales Capítulo 2. Las Redes Neuronales Artificiales 13 Capitulo 2. Las Redes Neuronales Artificiales 2.1 Definición Redes Neuronales Artificiales El construir una computadora que sea capaz de aprender, y de

Más detalles

Parte I: Introducción

Parte I: Introducción Parte I: Introducción Introducción al Data Mining: su Aplicación a la Empresa Cursada 2007 POR QUÉ? Las empresas de todos los tamaños necesitan aprender de sus datos para crear una relación one-to-one

Más detalles

7. Conclusiones. 7.1 Resultados

7. Conclusiones. 7.1 Resultados 7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar

Más detalles

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE Capítulo 4 Algoritmos de Aprendizaje 26 CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE En este capítulo se proporcionan las descripciones matemáticas de los principales algoritmos de aprendizaje para redes neuronales:

Más detalles

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

Clasificación de Música por Genero Utilizando Redes Neuronales Artificiales. Elkin García, Germán Mancera, Jorge Pacheco Clasificación de Música por Genero Utilizando Redes Neuronales Artificiales Elkin García, Germán Mancera, Jorge Pacheco Presentación Los autores han desarrollado un método de clasificación de música a

Más detalles

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

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Enfoque del Marco Lógico (EML)

Enfoque del Marco Lógico (EML) Enfoque del Marco Lógico (EML) Qué es el EML? Es una herramienta analítica que se utiliza para la mejorar la planificación y la gestión de proyectos tanto de cooperación al desarrollo como de proyectos

Más detalles

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

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 - Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos - Sesión 9 - Juan Alfonso Lara Torralbo 1 Índice de contenidos Actividad. Qué es un modelo de Data Mining Qué es

Más detalles

MÁQUINA DE VECTORES DE SOPORTE

MÁQUINA DE VECTORES DE SOPORTE MÁQUINA DE VECTORES DE SOPORTE La teoría de las (SVM por su nombre en inglés Support Vector Machine) fue desarrollada por Vapnik basado en la idea de minimización del riesgo estructural (SRM). Algunas

Más detalles

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

Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides Introducción La visión artificial, también conocida como visión por computador

Más detalles

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

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

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

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

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

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

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

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) OFERTAS TECNOLÓGICAS 1) GESTIÓN ORGANIZACIONAL Y LOGÍSTICA INTEGRADA: TÉCNICAS Y SISTEMAS DE INFORMACIÓN 2) GESTIÓN

Más detalles

CMMI (Capability Maturity Model Integrated)

CMMI (Capability Maturity Model Integrated) CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla

Más detalles

MINERIA DE DATOS Y Descubrimiento del Conocimiento

MINERIA DE DATOS Y Descubrimiento del Conocimiento MINERIA DE DATOS Y Descubrimiento del Conocimiento UNA APLICACIÓN EN DATOS AGROPECUARIOS INTA EEA Corrientes Maximiliano Silva La información Herramienta estratégica para el desarrollo de: Sociedad de

Más detalles

1.1 EL ESTUDIO TÉCNICO

1.1 EL ESTUDIO TÉCNICO 1.1 EL ESTUDIO TÉCNICO 1.1.1 Definición Un estudio técnico permite proponer y analizar las diferentes opciones tecnológicas para producir los bienes o servicios que se requieren, lo que además admite verificar

Más detalles

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

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS Administración Nacional de Universidad de la República Educación Pública Facultad de Ingenieria CF Res..0.07 Consejo Directivo Central Consejo Directivo Central Res..05.07 Res. 17.0.07 TECNÓLOGO EN INFORMÁTICA

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

I SEMANA ELECTRONICA REDES NEURONALES

I SEMANA ELECTRONICA REDES NEURONALES UNIVERSIDAD NACIONAL SAN ANTONIO ABAD A DEL CUSCO CARRERA PROFESIONAL DE INGENIERIA ELECTRONICA I SEMANA ELECTRONICA REDES NEURONALES Ing. Avid idromán González Se trata de una nueva forma de computación

Más detalles

activuspaper Text Mining and BI Abstract

activuspaper Text Mining and BI Abstract Text Mining and BI Abstract Los recientes avances en lingüística computacional, así como la tecnología de la información en general, permiten que la inserción de datos no estructurados en una infraestructura

Más detalles

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

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Hugo F. Arboleda Jiménez. MSc. Docente-Investigador, Facultad de Ingenierías, Universidad de San

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

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

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. 2.1 Revisión sistema reconocimiento caracteres [9]: Un sistema de reconocimiento típicamente esta conformado por

Más detalles

TEMA 7: Análisis de la Capacidad del Proceso

TEMA 7: Análisis de la Capacidad del Proceso TEMA 7: Análisis de la Capacidad del Proceso 1 Introducción Índices de capacidad 3 Herramientas estadísticas para el análisis de la capacidad 4 Límites de tolerancia naturales 1 Introducción La capacidad

Más detalles

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

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

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

Análisis y síntesis El proceso documental Lenguajes documentales El proceso de indización El resumen documental Análisis y síntesis El proceso documental Lenguajes documentales El proceso de indización El resumen documental El proceso documental El proceso o cadena documental es la razón fundamental de un centro

Más detalles

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

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Portafolio de Servicios y Productos

Portafolio de Servicios y Productos Portafolio de Servicios y Productos Introducción Somos una empresa que se dedica a generar ventajas competitivas para nuestros clientes a través de desarrollos y consultoría en inteligencia de negocios

Más detalles

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)

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) 1_Visión general de SCRUM 2_Teoría de Scrum 3_El Equipo Scrum (Scrum Team) 3.1_El Dueño de Producto (Product Owner) 3.2_El Equipo de Desarrollo (Development Team) 3.3_El Scrum Master 4_Eventos de Scrum

Más detalles

de la empresa Al finalizar la unidad, el alumno:

de la empresa Al finalizar la unidad, el alumno: de la empresa Al finalizar la unidad, el alumno: Identificará el concepto de rentabilidad. Identificará cómo afecta a una empresa la rentabilidad. Evaluará la rentabilidad de una empresa, mediante la aplicación

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

Más detalles

Capítulo IV. Manejo de Problemas

Capítulo IV. Manejo de Problemas Manejo de Problemas Manejo de problemas Tabla de contenido 1.- En qué consiste el manejo de problemas?...57 1.1.- Ventajas...58 1.2.- Barreras...59 2.- Actividades...59 2.1.- Control de problemas...60

Más detalles

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

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE 3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar

Más detalles

CASO 3-5 EUROPEAN ALCOHOL RESEARCH FOUNDATION

CASO 3-5 EUROPEAN ALCOHOL RESEARCH FOUNDATION CASO 3-5 EUROPEAN ALCOHOL RESEARCH FOUNDATION INTRODUCCIÓN Este caso describe el enfoque de caracterizaciones interculturales de consumidores (Cross Cultural Consumer Characterizations; 4C) de Young &

Más detalles

Usos de los Mapas Conceptuales en Educación

Usos de los Mapas Conceptuales en Educación Usos de los Mapas Conceptuales en Educación Carmen M. Collado & Alberto J. Cañas Introducción Los mapas conceptuales son una poderosa herramienta de enseñanza-aprendizaje. Su utilización en (y fuera de)

Más detalles

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

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

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

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles

Inteligencia de Negocio

Inteligencia de Negocio UNIVERSIDAD DE GRANADA E.T.S. de Ingenierías Informática y de Telecomunicación Departamento de Ciencias de la Computación e Inteligencia Artificial Inteligencia de Negocio Guión de Prácticas Práctica 1:

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

1. INTRODUCCIÓN 1.1 INGENIERÍA

1. INTRODUCCIÓN 1.1 INGENIERÍA 1. INTRODUCCIÓN 1.1 INGENIERÍA Es difícil dar una explicación de ingeniería en pocas palabras, pues se puede decir que la ingeniería comenzó con el hombre mismo, pero se puede intentar dar un bosquejo

Más detalles

Activos Intangibles Costos de Sitios Web

Activos Intangibles Costos de Sitios Web SIC-32 Documentos publicados para acompañar a la Interpretación SIC-32 Activos Intangibles Costos de Sitios Web Esta versión incluye las modificaciones resultantes de las NIIF emitidas hasta el 31 de diciembre

Más detalles

MAPAS AUTOORGANIZATIVOS Y MODELOS SIMILARES

MAPAS AUTOORGANIZATIVOS Y MODELOS SIMILARES MAPAS AUTOORGANIZATIVOS Y MODELOS SIMILARES José D. Martín Guerrero, Emilio Soria, Antonio J. Serrano PROCESADO Y ANÁLISIS DE DATOS AMBIENTALES Curso 2009-2010 Page 1 of 11 1. Learning Vector Quantization.

Más detalles

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

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión) ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB (Modificada en 2008) (IV Difusión) Interpretación SIC-32 Activos Intangibles - Costos de Sitios Web Referencias

Más detalles

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

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

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

Medias Móviles: Señales para invertir en la Bolsa www.gacetafinanciera.com Medias Móviles: Señales para invertir en la Bolsa Juan P López..www.futuros.com Las medias móviles continúan siendo una herramienta básica en lo que se refiere a determinar tendencias

Más detalles

PREPROCESADO DE DATOS PARA MINERIA DE DATOS

PREPROCESADO DE DATOS PARA MINERIA DE DATOS Ó 10.1007/978-3-319-02738-8-2. PREPROCESADO DE DATOS PARA MINERIA DE DATOS Miguel Cárdenas-Montes Frecuentemente las actividades de minería de datos suelen prestar poca atención a las actividades de procesado

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

Unidad III. Planificación del proyecto de software

Unidad III. Planificación del proyecto de software Planificación del proyecto de software Unidad III 3.1. Aplicación de herramientas para estimación de tiempos y costos de desarrollo de software: GANTT, PERT/CPM, uso de software para la estimación de tiempos

Más detalles

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

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

Más detalles

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

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3. GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Data Mining Técnicas y herramientas

Data Mining Técnicas y herramientas Data Mining Técnicas y herramientas Introducción POR QUÉ? Empresas necesitan aprender de sus datos para crear una relación one-toone con sus clientes. Recogen datos de todos lo procesos. Datos recogidos

Más detalles

Minería de Datos Web. 1 er Cuatrimestre 2015. Página Web. Prof. Dra. Daniela Godoy. http://www.exa.unicen.edu.ar/catedras/ageinweb/

Minería de Datos Web. 1 er Cuatrimestre 2015. Página Web. Prof. Dra. Daniela Godoy. http://www.exa.unicen.edu.ar/catedras/ageinweb/ Minería de Datos Web 1 er Cuatrimestre 2015 Página Web http://www.exa.unicen.edu.ar/catedras/ageinweb/ Prof. Dra. Daniela Godoy ISISTAN Research Institute UNICEN University Tandil, Bs. As., Argentina http://www.exa.unicen.edu.ar/~dgodoy

Más detalles

Resolución de Problemas: Situaciones y Contextos

Resolución de Problemas: Situaciones y Contextos Resolución de Problemas: Situaciones y Contextos Jose Luis Lupiáñez Universidad de Granada Un presentador de TV mostró el gráfico siguiente y dijo: Este gráfico muestra que hay un enorme aumento del número

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

Administración por Procesos contra Funciones

Administración por Procesos contra Funciones La administración moderna nos marca que en la actualidad, las organizaciones que no se administren bajo un enfoque de procesos eficaces y flexibles, no podrán sobrepasar los cambios en el entorno y por

Más detalles

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

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS Estructura de Cargos y Competencias Institucionales Campus San Juan Pablo II Presentación La Universidad Católica

Más detalles

Sistema Inteligente de Exploración

Sistema Inteligente de Exploración Observatorio Municipal de Estadística Sistema Inteligente de Exploración Capítulos 1. Consideraciones iniciales y requerimientos... 2 2. Navegación... 3 3. Consulta de indicadores... 5 3.1. Elaboración

Más detalles

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

Sistemas de Información Geográficos (SIG o GIS) Sistemas de Información Geográficos (SIG o GIS) 1) Qué es un SIG GIS? 2) Para qué sirven? 3) Tipos de datos 4) Cómo trabaja? 5) Modelos de datos, Diseño Conceptual 6) GeoDataase (GD) 7) Cómo evaluamos

Más detalles

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

Cadena de Valor y Estrategias Genéricas 1. Prof. Marcelo Barrios Cadena de Valor y Estrategias Genéricas 1 1 Nota Técnica Preparada por el del Área de Política de Empresa de EDDE.. Primera versión: Noviembre 2001. Noviembre de 2003. 1 Cadena de Valor y Estrategias Genéricas

Más detalles

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

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

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

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

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

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son

Más detalles

SISTEMAS Y MANUALES DE LA CALIDAD

SISTEMAS Y MANUALES DE LA CALIDAD SISTEMAS Y MANUALES DE LA CALIDAD NORMATIVAS SOBRE SISTEMAS DE CALIDAD Introducción La experiencia de algunos sectores industriales que por las características particulares de sus productos tenían necesidad

Más detalles

Test de Idioma Francés. Manual del evaluador

Test de Idioma Francés. Manual del evaluador Test de Idioma Francés Manual del evaluador 1 CONTENIDO Introducción Qué mide el Test de idioma francés? Qué obtienen el examinado y el examinador? Descripción de los factores Propiedades psicométricas

Más detalles

1.2 SISTEMAS DE PRODUCCIÓN

1.2 SISTEMAS DE PRODUCCIÓN 19 1.2 SISTEMAS DE PRODUCCIÓN Para operar en forma efectiva, una empresa manufacturera debe tener sistemas que le permitan lograr eficientemente el tipo de producción que realiza. Los sistemas de producción

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

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

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

Redes Neuronales Artificiales y sus Aplicaciones

Redes Neuronales Artificiales y sus Aplicaciones Redes Neuronales Artificiales y sus Aplicaciones Profesorado Departamento Programa de Doctorado Créditos 3 Nº de Plazas 2. La asignatura 2. Objetivos de la asignatura 3. Contenidos 4. Metodología de trabajo

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL INTRODUCCIÓN Los sistemas de reconocimiento facial son sistemas de seguridad basados en aplicaciones que detectan e identifican automáticamente rostros humanos.

Más detalles

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

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

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

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM CMM - Capability Maturity Model Estructura de CMM... Es un marco que describe los elementos claves de un proceso de software efectivo. Describe un camino de mejora evolutivo desde un proceso ad hoc inmaduro

Más detalles

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

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

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

Técnicas de valor presente para calcular el valor en uso Normas Internacionales de Información Financiera NIC - NIIF Guía NIC - NIIF NIC 36 Fundación NIC-NIIF Técnicas de valor presente para calcular el valor en uso Este documento proporciona una guía para utilizar

Más detalles

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

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un INSTRODUCCION Toda organización puede mejorar su manera de trabajar, lo cual significa un incremento de sus clientes y gestionar el riesgo de la mejor manera posible, reduciendo costes y mejorando la calidad

Más detalles

Master en Gestion de la Calidad

Master en Gestion de la Calidad Master en Gestion de la Calidad 3. La Calidad en la Actualidad La calidad en la actualidad 1 / 9 OBJETIVOS Al finalizar esta unidad didáctica será capaz: Conocer la calidad en la actualidad. La familia

Más detalles

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

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

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

Más detalles

Portal de Compras del Gobierno del Estado de Baja California (www.comprasbc.gob.mx) A. Antecedentes

Portal de Compras del Gobierno del Estado de Baja California (www.comprasbc.gob.mx) A. Antecedentes Buenas prácticas en la implementación de las recomendaciones de la Guía para Mejorar la Calidad Regulatoria de Trámites Estatales y Municipales e Impulsar la Competitividad de México Portal de Compras

Más detalles

Planeación del Proyecto de Software:

Planeación del Proyecto de Software: Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles