Algoritmos de Agrupamiento basados en densidad y Validación de clusters

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

Download "Algoritmos de Agrupamiento basados en densidad y Validación de clusters"

Transcripción

1 Departament de Llenguatges I Sistemas Informátics Universitat Jaume I Algoritmos de Agrupamiento basados en densidad y Validación de clusters Tesis Doctoral Presentada por: Damaris Pascual González Dirigida por: Dr. Filiberto Pla Bañón Dr. José Salvador Sánchez Garreta Castellón, Marzo de 200

2

3 Hay un lenguaje en el mundo que todos entienden. El lenguaje del entusiasmo, de las cosas hechas con amor y con voluntad, en busca de algo que se desea o en lo que se cree. Paulo Coelho

4

5 Resumen Los algoritmos de clasificación supervisada operan usualmente sobre la información suministrada por un conjunto de muestras, patrones, ejemplos o prototipos que se consideran representantes de clases relevantes y, además, se asume que poseen una etiqueta de clase correcta. Los algoritmos no supervisados, a diferencia de los anteriores, no disponen del conjunto de entrenamiento y, valiéndose de algoritmos de agrupamiento, construyen el conjunto de entrenamiento. Dentro de este contexto, en la presente tesis proponemos dos algoritmos de agrupamiento que emplean una estrategia híbrida entre los métodos basados en densidad y los métodos jerárquicos. Estos algoritmos están divididos en dos etapas: en la primera, se desarrolla una estrategia basada en densidad, en la que se obtiene un agrupamiento de los datos de modo tal que los grupos están formados por zonas de alta densidad, separados entre sí por áreas de baja densidad. En la segunda etapa, se desarrolla una estrategia jerárquica con los grupos obtenidos en la primera etapa, con el objetivo de unir los grupos más semejantes empleando una función de disimilaridad propuesta también en este trabajo. La principal ventaja de estos algoritmos es que se obtienen grupos de diferentes formas y tamaños, en presencia de ruido y solapamiento. También en este trabajo, con el objetivo de evaluar el agrupamiento obtenido, diseñamos e implementamos una estrategia de validación de clusters basada en la estabilidad de los agrupamientos del conjunto de datos a través de variaciones producidas por muestreos que tienen en cuenta elementos de la teoría de la información. Para medir la efectividad de los algoritmos propuestos, se realizaron experimentos de comparación con otros algoritmos de clustering y de validación de clusters, utilizando conjuntos de datos sintéticos y reales. En general, los resultados experimentales demuestran que los algoritmos aquí propuestos tienen un buen comportamiento, aún cuando exista gran solapamiento entre los grupos y ruido.

6

7 Abstract Supervised classification algorithms usually operate on the information provided by a set of samples, patterns, examples or prototypes that are considered representatives of relevant classes, and have a correct class label. Unsupervised algorithms, unlie the previous ones, do not have a training set, and they are clustering algorithms to build the training set. Within this context, in this thesis we propose two clustering algorithms that use a hybrid strategy between density-based methods and hierarchical methods. These algorithms are divided into two stages. First, we develop a strategy based on density, which yields a grouping of data so that the groups are formed by high density zones, separated by low density areas. On the second one, we develop a hierarchical strategy with the groups obtained in the first stage, with the aim of joining similar groups using a dissimilarity function also proposed in this wor. The main advantage of these algorithms is that they produce groups of different shapes and sizes, in the presence of noise and overlapping. Also in this wor, in order to evaluate the obtained clustering, we designed and implemented a strategy for validation of clusters based on the stability of the clustering of the re-samples of the data set that taes into account elements of information theory. With the aim of measuring the performance of the proposed algorithms, experiments were carried out in order to compare with the results from other clustering algorithms and cluster validation algorithms, using synthetic and real dataset. In general, experimental results show that the algorithms here proposed behave well, even when there is a high overlapping between groups and noise.

8

9 Dedicatoria A mi esposo e hijos. A mis padres. A mi abuelita Nana.

10

11 Agradecimientos Quiero agradecer a mi esposo Fernando Daniel y a mis hijos Fernandito y Dayamí que me han permitido estudiar y desarrollar este trabajo, por su amor, confianza y apoyo todas las veces que he estado fuera de casa. A Dayamí que tanto ha sufrido mis ausencias. A mis padres y a mi abuelita Nana, por su amor, sus constantes preocupaciones y enseñanzas. A mis suegros por su apoyo. A mis directores los doctores Filiberto Pla Bañón y José Salvador Sánchez Garreta que con sus ideas, experiencias y comentarios han dirigido este trabajo. Por su disposición y amabilidad para atenderme. A María Jesús y Filiberto, Christine y Pablo por su ayuda y todos los momentos agradables que hemos pasado juntos. A todos los integrantes del grupo Visión por Ordenador por todos los momentos compartidos y por su ayuda incondicional, especialmente a Jose, Adolfo y Tomás. A todos mis profesores de los cursos de doctorado. A todos los compañeros del Departamento de Lenguajes y Sistemas Informáticos de esta Universidad, a Quirós, Badía y Rafa. A mis compañeros de la Universidad de Oriente. A la Universidad Jaume I de Castellón por permitirme cursar los estudios de doctorado y desarrollar las estancias de investigación que han dado lugar a la presentación de esta memoria de tesis. A todos los que no he mencionado formalmente que en algún momento me hayan brindado ayuda y consejos. A Teresa, Ana, Adolfo, Aurora y Lurdes por su amable acogida, por su cariño y amistad.

12

13 Prólogo En los últimos años se ha visto un gran crecimiento en la generación de información, debido principalmente a la automatización de procesos y a los avances en las capacidades de almacenamiento de información. Cada día, la gente almacena gran cantidad de información representada como datos para posteriormente realizar un análisis y administración de estos. En muchas ciencias aplicadas está presente el problema de revelar la estructura interna de esos datos ya que es imposible analizarlos directamente. Una manera de interactuar con estos datos es clasificarlos en pequeños grupos que describan sus características principales, basándose en la similitud o diferencia entre ellos. El problema de clasificar o estructurar esta información ha sido intensamente estudiado en el área del Reconocimiento de Patrones no supervisado, en la que se desarrollan técnicas de clustering para particionar un conjunto de datos en grupos que brindan información adicional y conocimiento nuevo acerca de la estructura de los datos. El presente trabajo se enmarca dentro de lo que se denomina Reconocimiento de Formas o Patrones no Supervisado y más concretamente, se centra en el estudio, análisis y desarrollo de métodos de clustering en espacios métricos. En este sentido, los algoritmos de clustering existentes en la bibliografía consultada basan su funcionamiento en una serie de suposiciones acerca de la estructura de los datos, por lo que tienen limitaciones entre las que podemos mencionar: construyen grupos de formas específicas, no tienen en cuenta la presencia de ruido y el solapamiento entre los grupos, etc. A lo largo del presente trabajo, introducimos dos algoritmos de agrupamiento jerárquicos basados en densidad sobre espacios métricos, llamados H-Density y DHG con el objetivo fundamental de obtener grupos de diferentes tamaños y formas, en presencia de ruido y solapamiento entre los grupos. Con las alternativas aquí propuestas tratamos de superar algunas de las deficiencias que acabamos de apuntar. Por otra parte, dada la importancia que tiene la validación de los resultados del agrupamiento, es decir, la comprobación de que el agrupamiento obtenido corresponde con la verdadera estructura presente en los datos, estudiamos un conjunto de métodos de validación de agrupamientos, que en presencia de grupos solapados y ruido no obtienen buenos resultados. Con el objetivo de superar estas dificultades, diseñamos un nuevo esquema de validación de clustering capaz de

14 Prólogo reconocer el número óptimo de clusters aún en presencia de ruido y grupos solapados. Es importante señalar también que, además de representar una labor de búsqueda y recopilación sobre las diferentes técnicas de clustering y de validación de clusters, esta tesis pretende fijar un punto de partida para el establecimiento de una serie de conceptos, reglas y procedimientos con el fin de alcanzar los objetivos básicos previamente enunciados. Por último, los diferentes esquemas presentados en cada uno de los apartados son empíricamente comparados con varias técnicas, en aras de evaluar y valorar las ventajas e inconvenientes del comportamiento exhibido por cada uno de ellos. La presente memoria de Tesis Doctoral se presenta estructurada en tres módulos principales. El primero de ellos estará destinado íntegramente a la introducción de los fundamentos teóricos, necesarios para disponer de una visión global sobre el problema que vamos a tratar. En la segunda parte, se encuentran las aportaciones de este trabajo, tanto en lo referente a la definición de los nuevos conceptos, métodos y algoritmos, así como la experimentación y los resultados obtenidos por cada uno de los métodos que aquí hemos desarrollado. Por último, la tercera parte de la memoria recogerá las principales conclusiones que se pueden extraer de los resultados mostrados, así como las posibles extensiones a considerar en trabajos futuros. xiv

15 Índice General Parte I Introducción y Fundamentos Teóricos Capítulo... 3 Introducción... 3 Contexto Motivación y Objetivos Generales Organización de la Memoria de Tesis Capítulo Técnicas de Clasificación no Supervisadas Introducción Formulación General de un Problema de Clasificación No Supervisada Distancias o Métricas Fundamentos Estadísticos Algoritmos Jerárquicos Algoritmos de Partición Algoritmos Basados en Densidad Agrupamiento Basado en Caminos Estrategias de Co-ocurrencias Otras Estrategias Capítulo Validación de Clusters... 6 Introducción Índices de Validación de Clusters Estrategias Basadas en Estabilidad Conclusiones. Introducción y Fundamentos Teóricos Parte II Aportaciones Capítulo Algoritmos de Agrupamiento Introducción Algoritmo H-Density Algoritmo DHG (Density-based Hierarchical Gaussian) Resultados Experimentales Bases de datos sintéticas Bases de datos reales... 90

16 Índice General Algoritmo DBSCAN... 9 Algoritmo CURE Algoritmo EM Algoritmo -Means Algoritmo Path Based Clustering de Fischer y Buhmann (FB) Algoritmo H-Density Algoritmo DHG Conclusiones Capítulo Validación de Clusters Introducción Indice σ Canal de Difusión en un Problema de Validación de Clusters Estabilidad del agrupamiento como una variación de la tasa de transmisión de un canal de difusión Selección del modelo de agrupamiento Resultados Experimentales Resultados de la aplicación del índice σ... 6 Bases de datos sintéticas... 7 Bases de datos reales Comparación con otras estrategias de validación de clusters Resultados de la aplicación del índice σ-bc para seleccionar el número de clusters Bases de datos sintéticas Bases de datos reales Resultados de la aplicación del índice σ-bc para seleccionar el modelo de agrupamiento Bases de datos sintéticas Bases de datos reales Conclusiones... 4 Parte III Conclusiones y Líneas Futuras Capítulo Conclusiones Finales Principales Aportaciones Aportaciones a los Métodos de Clasificación no Supervisados Aportaciones a los Algoritmos de Validación de Clusters Conclusiones Algoritmos de Clustering xvi

17 Validación de Clusters Publicaciones Relacionadas Posibles Extensiones Anexo A Descripción de las Bases de Datos Reales Iris Cancer Diabetes Liver Phoneme Satimage Anexo B Algoritmo EM Mixtura de Gausianas Anexo C Tópicos Fundamentales de Teoría de la Información Introducción Cantidad de Información Entropía Entropía Conjunta y Entropía Condicional Información Mutua Referencias Bibliográficas... 7

18

19 Índice de Tablas Parte I Introducción y Fundamentos Teóricos Capítulo... 3 Capítulo Tabla. Coeficientes de Lance William para los algoritmos aglomerativos Capítulo Parte II Aportaciones Capítulo Tabla 2. Breve sumario de las bases de datos Tabla 3. Porcentaje de clasificación correcta de las diferentes estrategias Capítulo Tabla 4. Índice de estabilidad σ para las bases de datos sintéticas con el algoritmo de agrupamiento H-Density Tabla 5. Índice de estabilidad σ para las bases de datos sintéticas con el algoritmo de agrupamiento EM Tabla 6. Índice de estabilidad σ para las bases de datos sintéticas con el algoritmo de agrupamiento -Means Tabla 7. Índice de estabilidad σ para las bases de datos reales Tabla 8. Resultado del algoritmo de Ben-Hur (2002) para todas las bases de datos usando H-Density Tabla 9. Resultado del algoritmo de Tibshirani (2005) para todas las bases de datos usando H-Density Tabla 0. Comparación de las diferentes estrategias para todas las bases de datos usando H-Density Tabla. Comparación de las diferentes estrategias para todas las bases de datos usando EM Tabla 2. Comparación de las diferentes estrategias para todas las bases de datos usando -Means Tabla 3. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento DHG, según las probabilidades marginales (72) Tabla 4. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento EM, según las probabilidades marginales (72) Tabla 5. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento -Means, según las probabilidades marginales (72). 30

20 Índice de Tablas Tabla 6. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento DHG, según las probabilidades (73) y un vecino por clase Tabla 7. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento EM, según las probabilidades (73) y un vecino por clase Tabla 8. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento -Means, según las probabilidades (73) y un vecino por clase Tabla 9. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento DHG, según las probabilidades (73) y tres vecinos por clase Tabla 20. Índice de estabilidad σ-bc para las bases de datos sintéticas con el algoritmo de agrupamiento EM, según las probabilidades (73) y tres vecinos por clase Tabla 2. Índice de estabilidad σ-bc para las bases de datos sintéticas sobre el algoritmo de agrupamiento -Means, según las probabilidades (73) y tres vecinos por clase Tabla 22. Número de clusters seleccionado por el índice σ-bc con cada uno de los algoritmos de agrupamiento y para cada una de las estrategias para estimar las probabilidades de transmisión Tabla 23. Índice de estabilidad sobre las bases de datos reales empleando el algoritmo DHG, según fórmula (72) Tabla 24. Índice de estabilidad σ-bc sobre las bases de datos reales empleando el algoritmo EM, según fórmula (72) Tabla 25. Índice de estabilidad σ-bc sobre las bases de datos reales empleando el algoritmo -Means, según fórmula (72) Tabla 26. Número de clusters seleccionado por el índice σ-bc con cada uno de los algoritmos de agrupamiento sobre las bases de datos reales y para cada una de las estrategias para estimar las probabilidades de transmisión Tabla 27. Valor de la información mutua promedio en el nivel de mínima varianza con las probabilidades marginales (72) sobre las bases de datos sintéticas Tabla 28. Valor de la información mutua promedio en el nivel de mínima varianza con las probabilidades marginales (72) sobre las bases de datos reales Parte III Conclusiones y Líneas Futuras Capítulo Anexo A Anexo B xx

21 Anexo C Referencias Bibliográficas... 7

22

23 Índice de Figuras Parte I Introducción y Fundamentos Teóricos Capítulo... 3 Figura. Procesos de un sistema automático de Reconocimiento de Patrones Capítulo Figura 2. Definiciones de proximidad entre clusters Figura 3. Definiciones de punto central, borde y ruido Capítulo Parte II Aportaciones Capítulo Figura 4. Estrategia basada en densidad local Figura 5. Medidas de solapamiento entre clusters Figura 6. Distancia entre los puntos de mayor densidad Figura 7. Bases de datos gausianas: a) G4, b) G6, c) G6-II Figura 8. Bases de datos: a) 3AC, b) 2SA Figura 9. Bases de datos: a) DS, b) DS Figura 0. Base de datos House: a) Imagen original, b) Representación en el espacio ab Figura. Resultados del algoritmo DBSCAN sobre la base de datos G6: a) División en tres clusters, b) Incremento de los puntos ruido, c) Asignación de los puntos ruido al cluster más cercano Figura 2. Resultados del algoritmo DBSCAN: a) Base de datos G4, b) Base de datos G6-II Figura 3. Resultados del algoritmo CURE: a) Base de datos G4, b) Base de datos G6-II, c) Base de datos G Figura 4. Resultados del algoritmo EM: a) DS, b) DS Figura 5. Resultados del algoritmo -Means: a) DS, b) DS Figura 6. Resultados del algoritmo -Means: a) 3AC, b) 2SA Figura 7. Resultados del algoritmo FB: a) 3AC, b) 2SA Figura 8. Resultados del algoritmo FB: a) G4, b) DS Figura 9. Resultado del algoritmo FB: DS Figura 20. Bases de datos: a) G3, b) G4-II Figura 2. Resultado del algoritmo DHG sobre la base de datos 3AC-II... 98

24 Índice de Figuras Figura 22. Resultados del algoritmo CURE sobre la base de datos House: a) 5 clusters, b) Trece clusters Figura 23. Resultado del algoritmo -Means sobre la base de datos House: a).imagen original, b) Imagen obtenida después del etiquetado, c) División en 5 clases en el espacio ab Figura 24. Resultados del algoritmo FB sobre la base de datos House: a) 5 clases, b) 6 clases, c) 7 clases Figura 25. Resultado del algoritmo H- Density sobre la base de datos House: a) Imagen original, b) Imagen obtenida luego del etiquetado, c) División en 5 clases en el espacio ab Figura 26. Resultado del algoritmo DHG sobre la base de datos House: a) Imagen original, b) Imagen obtenida luego del etiquetado, c) División en 5 clases en el espacio ab Capítulo Figura 27. Canal de comunicación Figura 28. Canal de difusión... 0 Figura 29. Diagrama de Venn que indica la región ocupada por la información mutua común I(X;Y ;Y 2 ) del canal de difusión... 4 Figura 30. Resultados del algoritmo H-Density en el nivel correspondiente al valor determinado por el índice σ. Arriba: a) G4, b) G6, c) G6-II. Abajo: d) 3AC, e) 2SA, f) DS Figura 3. Resultados del algoritmo EM en el nivel correspondiente al valor determinado por el índice σ: a) G4, b) G6 (tres clases), c) G6 (seis clases) Figura 32. Resultados del algoritmo EM sobre la base de datos G6-II, en el nivel correspondiente al valor determinado por el índice σ: a) 5 clases, b) seis clases. 9 Figura 33. Resultados del algoritmo EM sobre la base de datos DS en el nivel de seis clases Figura 34. Resultado más estable del índice σ empleando el algoritmo EM sobre la base de datos DS Figura 35. Nivel seleccionado por el índice σ cuando se aplica el algoritmo EM sobre 3AC Figura 36. Resultados del algoritmo -Means en el nivel correspondiente al valor determinado por el índice σ: a) G4, b) G6-II Figura 37. Resultados del algoritmo -Means sobre la base de datos G6 en el nivel de seis clases: a) más frecuente, b) y c) menos frecuente Figura 38. Resultados del algoritmo -Means en el nivel correspondiente al valor determinado por el índice σ sobre las base de datos: a) 3AC, b) 2SA, c) DS xxiv

25 Figura 39. Nivel detectado por el índice σ sobre la base de datos House, para cada uno de los algoritmos de agrupamiento empleados: a) H-Density, b) EM, c) - Means Figura 40. Imagen BAR: a) Imagen original, b) Resultado del agrupamiento empleando el algoritmo DHG en el nivel de 0 clases seleccionado por el índice σ- BC Parte III Conclusiones y Líneas Futuras Capítulo Anexo A Anexo B Anexo C Figura 4. Relación entre información mutua y entropía Referencias Bibliográficas... 7

26

27 Notación Conjunto de datos.... X Conjunto de etiquetas.... Y Elemento de la base de datos.... x Función de probabilidad.... p Función distancia.... d Información mutua.... I Número de grupos.... Número de modos.... modos Número de rasgos.... n Número de realizaciones del experimento.... M Número de vecinos.... K Radio de la vecindad.... R Regla de decisión.... δ Talla del conjunto de datos.... N

28

29 Parte I Introducción y Fundamentos Teóricos

30

31 Capítulo Introducción Contexto A lo largo de este tiempo, muchas ciencias han participado en el desarrollo exitoso de herramientas con el fin de solucionar diversos problemas prácticos y teóricos. El Reconocimiento de Patrones (Pattern Recognition) es una zona del conocimiento relativamente joven, de apenas unos 45 años, de carácter interdisciplinario, encargada de diseñar o programar sistemas automáticos capaces de resolver problemas de muy diversas áreas. Con la llegada y el desarrollo vertiginoso de los ordenadores, se abre un nuevo horizonte lleno de posibilidades, pues además de que pueden almacenar gran cantidad de información, con ellos se pueden diseñar o programar sistemas automáticos de reconocimiento de gran utilidad para muchas ciencias. Siguiendo la definición de Watanabe [Wat, 985], un patrón es una entidad a la que se le puede dar un nombre y que está representada por un conjunto de propiedades mesurables y las relaciones entre ellas (vector de características). Patrón es sinónimo de objeto, éste es un concepto con el cual representamos los elementos sujetos a estudio. Por ejemplo, un patrón puede ser una señal sonora y su vector de características, el conjunto de coeficientes espectrales extraídos de ella (espectrograma). Otro ejemplo podría ser una imagen de una cara humana de las cuales se extrae el vector de características formado por un conjunto de valores numéricos calculados a partir de la misma. El Reconocimiento de Patrones se aplica en una gran variedad de disciplinas científicas, como biología, psicología, medicina, geología, visión por computador, inteligencia artificial, teledetección, entre otras. Un sistema automático de Reconocimiento de Patrones puede ser modelado de la misma manera que los procesos perceptuales del ser humano: antes del reconocimiento, nuestros órganos sensitivos deben percibir el objeto, luego, para obtener un significado de dicho objeto, se debe haber percibido previamente dicho objeto u otro de la misma clase y, finalmente, se debe recordar la pasada percepción del objeto para establecer la correspondencia o equivalencia entre la percepción pasada y la presente. Un sistema automático de Reconocimiento de Patrones se puede dividir en tres etapas fundamentales [Duda. H, 973] (ver Figura. ):

32 Capítulo. Adquisición de datos, en la que se obtiene una representación del objeto como resultado de un conjunto de mediciones. 2. Extracción de características, donde se realiza un proceso interpretativo, cuyo resultado se considera como una nueva representación del objeto de la que se extrae información relevante sobre el mismo. 3. Toma de decisiones, que corresponde a la clasificación propiamente dicha o proceso de identificación. Figura. Procesos de un sistema automático de Reconocimiento de Patrones. La función del sensor es hacer la medición, es decir, dar una representación concreta de los elementos a ser clasificados, con el objetivo de entender completamente las propiedades que distinguen al objeto. La extracción de características se encarga de extraer información discriminatoria con el objetivo de eliminar información redundante o irrelevante, reducir la dimensionalidad del problema y maximizar los rasgos discriminatorios. La etapa de clasificación tiene como objetivo asignar los objetos de clase desconocida a la categoría apropiada, o sea, es la etapa en la que se asigna al objeto una etiqueta de clase. Dentro del Reconocimiento de Patrones podemos señalar tres grandes paradigmas. El primero se refiere al Reconocimiento Sintáctico, en el que se buscan las relaciones estructurales que guardan los objetos en estudio, es decir, busca la cantidad de información que una muestra tiene sobre otra muestra y el metalenguaje con el que este último pudo ser capaz de descubrirlo. Para ello, hace uso de descriptores sintácticos con la ayuda de la teoría de los lenguajes formales [Fuuyama, 982]. Entre las aplicaciones, dentro de este paradigma, podemos mencionar el análisis de secuencias de proteínas, así como también biosecuencias de ADN para evaluar la eficacia de alfabetos reducidos de aminoácidos, correspondientes estas investigaciones al campo de la biología molecular. La segunda vertiente que existe dentro del Reconocimiento de Patrones es el Reconocimiento Lógico Combinatorio. Este enfoque se basa en la idea de que la modelación del problema debe ser lo más cercana posible a la realidad del mismo, sin hacer suposiciones que carezcan de fundamento. Uno de los aspectos esenciales de este tipo de enfoque es que las características utilizadas para describir a los objetos de estudio deben ser tratadas cuidadosamente. Debemos señalar que, para 32

33 Introducción realizar el reconocimiento, se auxilian de formalismos matemáticos que le permiten derivar nuevos conocimientos a partir de conocimientos existentes. El tercer grupo o paradigma es el Reconocimiento Estadístico de Formas, el cual es una disciplina científica donde un patrón se representa por un vector numérico de dimensión n. De esta forma, un patrón es un punto en un espacio n- dimensional (de características). Un algoritmo de Reconocimiento Estadístico de Formas (REF) funciona de dos maneras diferentes: entrenamiento y reconocimiento. En el modo de entrenamiento, se diseña el extractor de características para representar los patrones de entrada y se entrena al clasificador con un conjunto de datos de entrenamiento previamente definidos, de forma que el número de patrones mal identificados se minimice. En el modo de reconocimiento, el clasificador ya entrenado toma como entrada el vector de características de un patrón desconocido y lo asigna a una de las clases o categorías según el conocimiento adquirido previamente en el modo de entrenamiento. Entre los clasificadores estadísticos también suele haber dos grandes grupos. Por una parte, los clasificadores paramétricos son aplicados cuando es conocida la distribución de probabilidades de las clases, siendo el clasificador de Bayes su máximo representante. El otro grupo está integrado por los métodos de clasificación no paramétricos, los cuales se aplican en problemas donde no se conoce la distribución de probabilidades de clases. También, los algoritmos dedicados al Reconocimiento de Patrones, dependiendo de las diferentes maneras en que utilizan la información suministrada, suelen dividirse en tres categorías:. Algoritmos de clasificación supervisada 2. Algoritmos de clasificación parcialmente supervisada 3. Algoritmos de clasificación no supervisada Los algoritmos de clasificación supervisada operan usualmente sobre la información suministrada por un conjunto de muestras, un conjunto de patrones, ejemplos o prototipos de entrenamiento que se asumen como representantes de clases relevantes y poseen una etiqueta de clase correcta. Ese conjunto de patrones recibe el nombre de conjunto de entrenamiento (Training Set, TS). Si no se dispone del conjunto de entrenamiento, es decir, no existe conocimiento acerca de la etiqueta de los patrones, entonces para clasificar patrones se necesita de un proceso previo de análisis de los datos que se conoce como Clasificación no Supervisada, Aprendizaje no Supervisado o Técnicas de 33

34 Capítulo Agrupamiento (clustering), que proporcionan un conocimiento de la estructura de los datos. Los algoritmos de clasificación parcialmente supervisada sólo tienen como información a priori muestras de algunas de las clases, y en algunos casos, se desconoce el número total de clases del universo en estudio, o, en otros casos, se dispone de muy pocas muestras por cada clase. En el mundo real, no siempre se conoce la distribución de las clases e incluso, aún conociéndola, es difícil extraer objetos representativos de cada clase para preparar el conjunto de entrenamiento. Dentro del Reconocimiento de Formas, las técnicas no supervisadas tienen como objetivo la inferencia y extracción de conocimiento a partir de volúmenes de datos no clasificados, con el fin de poder extraer relaciones e inferir nuevo conocimiento acerca de la organización interna para el tratamiento automático de los datos. Este campo está teniendo especial relevancia en la disciplina de Reconocimiento de Patrones, debido a la necesidad de tratar grandes volúmenes de datos en la web y otras aplicaciones de gran impacto. La presente Tesis Doctoral se enmarca dentro del Reconocimiento Estadístico de Formas o Patrones, específicamente en Aprendizaje no Supervisado. Todo el trabajo de investigación que ha precedido a esta tesis se ha llevado a cabo dentro del Grupo de Visión por Computador de la Universidad Jaume I de Castellón. 2 Motivación y Objetivos Generales En muchas áreas, se incrementa la necesidad de obtener información de un conjunto de datos. Esto requiere de análisis y clasificación de los datos con el objetivo de descubrir características comunes en individuos pertenecientes a un mismo grupo. Los algoritmos de agrupamiento son estrategias encargadas de descubrir la estructura interna de los datos, pero cada uno de ellos supone condiciones en la base de datos que los hace eficientes para algunos tipos de datos e ineficientes para otros. Uno de los objetivos fundamentales de esta Tesis Doctoral es el diseño de un algoritmo de agrupamiento capaz de etiquetar correctamente los puntos de una base de datos en presencia de ruido y solapamiento entre los grupos. Debido a la diversidad de técnicas de agrupamiento, se pueden obtener diferentes soluciones al intentar dividir en grupos una base de datos, por lo que es preciso decidir cuál de las estrategias de agrupamiento interpreta mejor la verdadera estructura presente en la base de datos. Las técnicas encargadas de realizar esta tarea se conocen por el nombre de validación de clusters. El segundo objetivo de esta 34

35 Introducción memoria de tesis está relacionado con la evaluación del algoritmo de agrupamiento mediante una técnica de validación de clusters. Más concretamente, los objetivos perseguidos con la presente Tesis Doctoral son los siguientes:. Diseñar un algoritmo de agrupamiento jerárquico basado en densidad, que sea capaz de encontrar clusters de diferentes tamaños, formas y densidades, en presencia de ruido y clases solapadas. 2. Diseñar un esquema de validación de clusters para determinar el número correcto de clusters y el modelo de clustering que mejor se adapta a la estructura real de la base de datos. Por último, podemos añadir que esta Tesis Doctoral contiene un apartado de revisión y recopilación sobre los diferentes métodos de clasificación no supervisada y validación de clusters, así como también los resultados de la experimentación realizada sobre bases de datos reales y sintéticas para mostrar la validez de los algoritmos propuestos. 3 Organización de la Memoria de Tesis A partir de los objetivos establecidos en la sección anterior, hemos estructurado la presente memoria de Tesis Doctoral en dos partes principales, cada una de las cuales se encuentra organizada en una serie de capítulos. Una primera parte se dedica a la presentación de los fundamentos teóricos sobre los que se basará la totalidad de la tesis. La segunda parte se refiere a las aportaciones de este trabajo, en consonancia con los objetivos previamente marcados. En la tercera parte, podemos encontrar las conclusiones globales y las posibles líneas de investigación futuras. Por último, la bibliografía utilizada a lo largo de la tesis y los anexos se presentan al final de esta memoria. En el Capítulo 2, se hace una introducción general sobre los conceptos básicos utilizados en el campo del Reconocimiento de Formas, haciendo hincapié fundamentalmente en las técnicas de clasificación no supervisada. Además, contiene la revisión bibliográfica de diversos métodos de agrupamiento, enfatizando en los algoritmos que se utilizaron en los diferentes experimentos explicados en los capítulos relacionados con las aportaciones del trabajo. El Capítulo 3 está dedicado a la exposición de diferentes estrategias de validación de clusters, destacando aquí las tendencias que existen en la literatura acerca de la estabilidad de los agrupamientos. 35

36 Capítulo En el Capítulo 4, se exponen dos algoritmos de agrupamiento diseñados con el objetivo de descubrir clusters de diferentes formas, tamaño y densidades, en presencia de ruido y solapamientos entre grupos. Este capítulo contiene, además, los experimentos que permiten evaluar la efectividad de estos nuevos algoritmos sobre un conjunto de bases de datos reales y sintéticas que contienen clusters de diversas formas, tamaños y densidades. En el Capítulo 5, se realiza una presentación de las estrategias de validación diseñadas, obtenidas a partir del empleo del concepto de información mutua y una estrategia basada en la estabilidad de los clusters mediante la perturbación de los datos. Del mismo modo, se valida su comportamiento mediante un exhaustivo análisis empírico sobre las diferentes bases de datos sintéticas y reales utilizadas a lo largo del trabajo. Finalmente, el Capítulo 6 recoge las conclusiones generales referente a la totalidad de la tesis y pone de manifiesto sus principales aportaciones en el campo del Reconocimiento Estadístico de Formas. Además, se examinan las diversas posibilidades de extensión sobre el trabajo ya realizado, y se marcan las direcciones que podrían tomar las futuras líneas de investigación. También escribimos tres Anexos en los que se proporcionan ciertos detalles relacionados con diferentes partes del trabajo desarrollado en esta memoria de tesis. 36

37 Capítulo 2 Técnicas de Clasificación no Supervisadas Introducción El aprendizaje no supervisado es muy importante cuando tenemos muestras sin etiquetas de clase, cuando el costo de etiquetarlas por un experto es alto o cuando los patrones pueden variar con el tiempo, por lo que es necesario primero procesar los datos para luego clasificar. La principal ventaja que presenta la clasificación no supervisada es que se puede obtener un conjunto de entrenamiento empleando muestras no etiquetadas. Actualmente, en muchas aplicaciones reales (biometría, categorización de textos, búsqueda en bases de datos multimedia, reconocimiento de imágenes multiespectrales, etc.), el coste de un conjunto de entrenamiento resulta bastante alto, por lo que podría ser beneficioso aplicar primero a determinadas muestras cuya clase se desconoce, un algoritmo de agrupamiento para luego inferir propiedades en la población en estudio. Se trata de construir clasificadores sin información previa, o sea, a partir de objetos no etiquetados con el objetivo de descubrir la estructura de los datos. Bajo el nombre genérico de algoritmos de agrupamiento, se incluyen todo un conjunto de procesos cuya finalidad general será dividir un conjunto de objetos en clases, para obtener un subconjunto representativo del conjunto de entrenamiento inicial que posteriormente pueda utilizarse en una regla de clasificación supervisada. En general, la clasificación no supervisada o agrupamiento (clustering) consiste en dividir el conjunto de objetos en grupos de objetos similares llamados clusters, de modo tal que objetos pertenecientes a un mismo grupo son más similares que objetos de grupos diferentes. El problema de formar grupos en un conjunto de datos es muy importante para el conocimiento del comportamiento de una población, de la cual sólo se tiene una cantidad N de sus elementos. Al estudiar el proceso de división en clases, nos damos cuenta de que cada técnica está diseñada para realizar una clasificación de tal

38 Capítulo 2 modo que cada grupo sea lo más homogéneo y lo más diferente de los demás como sea posible. El resultado de cada método de agrupamiento dependerá del algoritmo en concreto, del valor de los parámetros y de la medida de similaridad / disimilaridad adoptada. En la literatura consultada, los métodos de agrupamiento suelen dividirse de diferentes maneras, entre las que mencionaremos:. Teniendo en cuenta la existencia o no de una función criterio a optimizar:.. Directos o heurísticos: son los que no optimizan ninguna función objetivo..2. Indirectos o por optimización: son los que optimizan alguna función objetivo. 2. Según la construcción del agrupamiento: 2.. Aglomerativos o incrementales (bottom-up), generalmente parten de patrones aislados y van uniendo grupos de acuerdo a alguna función de similaridad / disimilaridad Divisivos o decrementales (top-down), parten de agrupamientos ya establecidos, generalmente de un solo grupo, y van dividiendo los grupos de partida hasta obtener grupos adecuados Mixtos, emplean diversas estrategias en su desempeño. 3. Según la información a priori acerca del conocimiento del número de clusters: 3.. Si se conoce el número de clusters Si no se conoce el número de clusters. A partir de aquí, en este capítulo, nos centramos en el análisis de los aspectos teóricos más relevantes de los métodos de clasificación no supervisada basados en la estructura geométrica de los grupos, por lo que también haremos una breve exposición de las métricas más utilizadas en la literatura consultada dedicada a este tema y, posteriormente, formularemos las bases de los algoritmos de agrupamiento probabilísticos. Además, haremos énfasis en los algoritmos relacionados con este trabajo. Para ello, comenzaremos dando una visión general de cada técnica para, posteriormente, pasar a presentar los diferentes algoritmos. Esta categorización de las técnicas de agrupamiento nos permitirá distinguir entre los diversos métodos de agrupamiento. 38

39 Técnicas de Clasificación no Supervisadas 2 Formulación General de un Problema de Clasificación No Supervisada Sea X = {x, x 2,, x N } el conjunto de datos o, análogamente, objetos, ejemplos, casos, patrones, n-uplas, puntos, donde x = ( x x,..., x ) i i, i2 in pertenece a un espacio de atributos, para cada i =,, N, y cada componente x ij (j =,, n) es un atributo (análogamente, rasgo, variable, dimensión o componente) de modo tal que el conjunto de objetos forma una matriz Nxn empleada por la mayoría de los algoritmos de agrupamiento. La meta de todo algoritmo de agrupamiento es asignar cada punto a un sistema finito de subconjuntos o clusters que usualmente no se intersectan entre sí y cuya unión es igual al conjunto de datos completo con la posible excepción de outliers, de modo tal que objetos similares pertenezcan al mismo cluster, mientras que los objetos de clusters diferentes sean lo menos parecidos posible. En [Duda y Hart, 973], aparece la introducción clásica de los algoritmos de agrupamiento. En [Dempster, 977] y [Fuunaga, 990], encontramos el enfoque estadístico de las técnicas de clasificación no supervisada; en [Jain, 999], aparece un resumen de diferentes técnicas de agrupamiento. Los algoritmos de agrupamiento han sido empleados en reconocimiento del habla, en segmentación de imágenes y visión por computador [Jain, 966], [Jain, 2000]; en minería de datos para extraer conocimiento en bases de datos, en recuperación de información y minería de textos [Salton, 980], [Zhai, 2004], [Cutting, 992], [Dhillon, 2002], en aplicaciones de bases de datos espaciales [Xu, 998] y [Ester, 2000], en análisis de datos heterogéneos [Cadez, 200], en aplicaciones Web [Her, 200, Foss, 200], en biología computacional para el análisis de ADN [Xu, 2002] y muchas otras aplicaciones. Los algoritmos de agrupamiento pueden dividirse en varias categorías según el procedimiento que utilizan para agrupar los objetos:. Algoritmos jerárquicos, que pueden ser aglomerativos y divisivos. 2. Métodos por partición, entre ellos: algoritmos de reubicación, agrupamientos probabilísticos, métodos de -medoides y métodos -Medias (-Means). 3. Algoritmos basados en densidad, entre ellos los algoritmos de agrupamiento por conectividad basados en densidad y los agrupamientos basados en funciones de densidad. 4. Métodos basados en rejillas. 39

40 Capítulo 2 5. Métodos basados en co-ocurrencia de datos categóricos. 6. Algoritmos mixtos. Los algoritmos jerárquicos, como su nombre indica, construyen una jerarquía de agrupamientos, uniendo o dividiendo los grupos de acuerdo a una cierta función de similaridad/disimilaridad entre los grupos. En otras palabras, construyen un árbol de clusters llamado dendograma. Tal enfoque permite estudiar los datos con diferentes niveles de glanularidad. Los métodos de agrupamiento jerárquicos se categorizan en aglomerativos (bottom-up) y divisivos (top-down). Un agrupamiento aglomerativo, generalmente, comienza con grupos unitarios (singleton clusters) y, recursivamente, une dos o más clusters apropiados. Un agrupamiento divisivo, generalmente, comienza con un sólo cluster en el que están todos los puntos o datos y, recursivamente, divide el cluster más apropiado. El proceso continúa hasta que se alcanza algún criterio de parada (frecuentemente el número de clusters). Entre las ventajas de los algoritmos de agrupamiento jerárquicos se puede mencionar la flexibilidad con respecto al nivel de granularidad, son fáciles de manejar y son aplicables a cualquier tipo de atributo. Entre las desventajas se encuentra la no existencia de un criterio de parada y que, luego de construidos los clusters, no vuelven a ser visitados para mejorarlos. Los métodos por partición emplean diferentes técnicas de reubicación para asignar los puntos o datos a uno de los clusters; algunos buscan puntos específicos para luego reubicar los restantes, otros tienen un enfoque probabilístico. A diferencia de los métodos jerárquicos tradicionales, en algunos casos, los clusters son revisitados después de construidos y los puntos reubicados para mejorar el agrupamiento. Estos algoritmos muchas veces asumen un conocimiento a priori del número de clusters en que debe ser dividido el conjunto de datos. La idea más usada es hallar los centroides, uno para cada cluster y, luego, ubicar los restantes puntos en el grupo del centroide más cercano. Este método tiene como desventaja que fallan cuando los puntos de un cluster están muy cerca del centroide de otro grupo. Los algoritmos basados en densidad tratan de identificar clusters en zonas altamente pobladas. Emplean diferentes técnicas para determinar los grupos: por grafos, basadas en histogramas, ernels, aplicando la regla K-NN o tratando de descubrir subgrupos denso-conectados. Los algoritmos basados en rejillas trabajan con los datos indirectamente, construyendo resúmenes de los datos sobre el subconjunto del espacio de atributos, 40

41 Técnicas de Clasificación no Supervisadas realizan una segmentación del espacio y seleccionan segmentos apropiados, mientras que los basados en co-ocurrencia consideran que el concepto de similaridad por sí solo no es suficiente para agrupar algunos datos, por lo que introducen otros conceptos como, por ejemplo, los vecinos compartidos. Los algoritmos mixtos vinculan al menos dos de las técnicas antes mencionadas para realizar el agrupamiento; fundamentalmente, las técnicas jerárquicas aparecen en muchos de ellos. Para realizar el agrupamiento de los objetos, es necesario determinar cuándo dos objetos del espacio son parecidos y cuándo no. Con este fin, se definen las funciones de similaridad o de disimilaridad, entre estas últimas se encuentran las métricas o distancias. Muchos de los algoritmos de agrupamiento basan su efectividad en la distribución de los objetos del conjunto de datos en el espacio y en cuán alejados están entre ellos. Es por ello que es preciso definir alguna medida de distancia entre los objetos de X, mediante la cual podamos asignarle a cada muestra, una clase determinada. 3 Distancias o Métricas En el Reconocimiento de Patrones, la distancia entre dos objetos cualesquiera del espacio es una medida de cuán similares son de acuerdo a sus características, ya que éstas se escogen de forma tal que mientras más parecidos sean los objetos menor debe ser la distancia entre ellos y, por el contrario, los objetos muy lejanos deben ser poco similares. Definición: Un espacio métrico es un par (X, d) donde X es un conjunto (X ) y d una distancia o métrica definida sobre X. Una función d: XxX R +, se dice que es una distancia o métrica si satisface los siguientes axiomas: d ( x, y) 0 x, y X, y ( x, y) = 0 2 d ( x y) d( y, x), = x, y X (simetría) 3 d ( x, z) d( x, y) + d( y, z) d si y solo si x = y x, y, z X (desigualdad triangular) La métrica más frecuentemente utilizada en toda la literatura es la métrica Euclídea: 4

42 Capítulo 2 d n ( Oi, O j ) ( x (Oi ) x (O j )) = 2 donde O i y O j son los objetos para los cuales se desea calcular la distancia, n es el número de características de los objetos del espacio y x (O i ), x (O j ) es el valor del atributo -ésimo en los objetos O i y O j, respectivamente. Otras métricas que podemos mencionar son:. Minowsy: x (O ) x (O n p i j )= i j ) = d(o,o 2. Manhattan: d(o,o / p p Z, p 2. n x (Oi ) x (O j i j )= ) = 3 Chebychev: d(o,o i j )= max n 4 Camberra: d(o,o i j ) = x x x (O ) x (O ) n i = (Oi ) i + x (O ) x (O (O 5 Función de Correlación: j j j ) ) d(o,o i j )= n = (x (O ) µ )(x n n 2 (x (Oi ) µ ) = = i (O (x j (O ) µ j ) ) µ ) 2 donde µ es el valor promedio para el atributo en el conjunto de entrenamiento. 6 Distancia de Mahalanobis d(o, O i j )= (O i O j ) T Σ (O i O j ) siendo Σ la matriz de covarianzas. 42

43 Técnicas de Clasificación no Supervisadas La distancia de Mahalanobis (936), a diferencia de la distancia Euclídea, tiene en cuenta las correlaciones del conjunto de datos y no depende de la escala de las mediciones. En la literatura, se han propuesto diversas funciones para calcular la distancia entre objetos con atributos no numéricos, por ejemplo en [Stanfill, 986], [Wilson, 2000] y [Olvera, 2005]. 4 Fundamentos Estadísticos La teoría de la probabilidad y los métodos bayesianos son algunas de las técnicas que más se han utilizado en Reconocimiento de Patrones. Según el conocimiento que se tiene acerca de la distribución de los datos, se puede distinguir entre métodos de clasificación paramétricos y no paramétricos. En los métodos de clasificación paramétricos, se supone el conocimiento de la estructura estadística de las clases y se modelan mediante funciones de densidad conocidas. En el caso no paramétrico, no se conoce a priori la forma funcional de las funciones de densidad y se trata de estimar ésta, pues la única información disponible es la suministrada por un conjunto de prototipos. En teoría de las probabilidades, el teorema de Bayes es la regla básica para realizar inferencias y viene representado por la siguiente expresión: p(h / x)= p(x / h). p(h) p(x) () donde, p(h) y p(x) son la probabilidad a priori de la hipótesis h y de las observaciones x, respectivamente y p(h x) y p(x h) las probabilidades condicionadas. A p(x h) se le conoce como la verosimilitud (lielihood) de que la hipótesis h haya producido el conjunto de observaciones x y a p(h x), probabilidad a posteriori. El teorema de Bayes nos facilita un método sencillo y con una semántica clara para resolver el problema de la clasificación pues si se conoce la probabilidad a posteriori de que un objeto x pertenezca a una clase, se decide escoger aquella que presente el mayor valor: x si p( c / x) > p( c / x) j M i j (2) C i i j Este criterio constituye la regla de decisión de Bayes de error mínimo, sobre la cual se basan la mayoría de los métodos de clasificación pertenecientes al Reconocimiento Estadístico de Formas, constituye un método práctico para realizar inferencias a partir de los datos que facilitan la comprensión de los mismos. 43

44 Capítulo 2 A continuación, desarrollamos los aspectos teóricos más relevantes de los diferentes métodos de agrupamiento. 5 Algoritmos Jerárquicos Las estrategias jerárquicas (aglomerativas o divisivas) construyen una jerarquía de agrupamientos, representada tradicionalmente por un árbol llamado dendograma [Duda, 200], [Jain, 999]. En el caso de las técnicas aglomerativas, el dendograma parte generalmente de grupos unitarios, hasta que algún criterio de parada se ejecute, o hasta conseguir el grupo formado por todos los puntos, mientras que las divisivas comienzan generalmente con todos los puntos en un cluster y van dividiendo en cada nivel dos grupos de acuerdo a algún criterio prefijado. Las estrategias jerárquicas aglomerativas más conocidas basadas en distancias son Single Lin (SL) [Sibson, 973], Average Lin (AL) [Voorhees, 986] y Complete Lin (CL) [Defays, 977]. En cada nivel de la jerarquía, unen los dos grupos más cercanos. Para unir grupos, la métrica entre los puntos debe ser generalizada a los subconjuntos de puntos. Tal distancia afecta al resultado de los grupos porque ella refleja el concepto de cercanía y conectividad. En SL, la distancia entre grupos se define como la distancia entre los dos elementos más cercanos (uno de cada cluster) o, empleando terminología de grafos, el enlace más corto entre dos nodos en diferentes subconjuntos de nodos. En el caso del algoritmo AL, la distancia entre dos grupos es el promedio de las distancias entre todos los pares de puntos (uno de cada conjunto). Por último, la distancia entre dos grupos en el CL es la máxima distancia entre los pares de puntos (uno de cada conjunto), es decir, en cada nivel se unirán los dos grupos cuya unión tiene diámetro mínimo o, empleando terminología de grafos, el enlace más largo entre dos nodos de diferentes subconjuntos de nodos. Luego, la medida de disimilaridad (usualmente, distancia) se calcula primeramente entre dos puntos, uno de un conjunto y otro de otro y, según la estrategia entre grupos se denominan mínima distancia (single lin), distancia promedio (average lin) y máxima distancia (complete lin). La Figura 2 ilustra estas estrategias. Figura 2. Definiciones de proximidad entre clusters. 44

45 Técnicas de Clasificación no Supervisadas El algoritmo SL adolece de un efecto encadenante produciendo clusters de forma alargada y es sensible al ruido, mientras que CL produce clusters muy compactos y tiende a romper grupos. AL es menos susceptible al ruido y a los outliers. Otra estrategia jerárquica que se puede mencionar es el método basado en centroides, que calcula la proximidad entre grupos como la similaridad entre los centroides de los grupos. En este caso, se van a unir los grupos cuyos centroides estén más cercanos. A continuación, describimos con más detalles el funcionamiento de un algoritmo jerárquico aglomerativo basado en distancias. Algoritmo Jerárquico Aglomerativo Entrada: X Conjunto de datos. Inicialmente, se ubican los puntos de X en un cluster unitario. 2. Se calculan las distancias/disimilaridades entre todos los pares de puntos. 3. Se calcula la distancia entre todos los pares de grupos. 4. Se unen los dos grupos cuya distancia es mínima. 5. Se actualiza la matriz de las distancias entre grupos. 6. Si todos los puntos están en un mismo cluster, terminar; sino, volver al paso 3. Los algoritmos anteriormente descritos tienen como ventajas:. Flexibilidad con respecto al nivel de granularidad. 2. Se puede emplear cualquier función de distancia / disimilaridad. 3. Puede aplicarse a cualquier tipo de atributos. 4. Son simples de aplicar. Entre sus desventajas podemos mencionar:. No tiene definido un criterio de terminación, aunque generalmente se toma el número de clusters. 2. No vuelven a visitar los clusters construidos para mejorarlos. 3. Son sensibles al ruido. 45

46 Capítulo 2 El método jerárquico de Ward [Ward, 963], a diferencia de los anteriores, emplea un enfoque de análisis de varianza para evaluar la similaridad entre los grupos. Trata de ir agrupando de modo que se minimice la varianza dentro de los grupos que se van a unir. La idea de este enfoque es que los puntos deben estar cercanos a la media de su grupo. En cada etapa, se calcula la varianza y se unen los dos grupos con el menor incremento en la varianza dentro de los grupos. En general, es un método eficiente pero tiende a crear grupos de tamaño pequeño. Todas esas funciones de cercanía que emplean los métodos anteriormente mencionados se pueden ver como una selección de parámetros en la fórmula de Lance Wiliam [Lance, 967]. Para la proximidad entre los clusters R y Q, donde R está formado por los dos clusters A y B que se han unido, o sea, después que hemos unido los clusters A y B para formar el cluster R, es necesario calcular la distancia del nuevo cluster R al cluster existente Q; esto se hace a través de una función lineal de las proximidades del cluster Q a cada uno de los clusters A y B según se expresa en la fórmula 3. d(r, Q)= α d(a,q) d(b,q) A d(a,q)+ αb d(b,q)+ β d(a,b)+ γ (3) donde d es la función de proximidad entre clusters. En la Tabla se muestran los valores de los coeficientes para las técnicas antes mencionadas, donde m A, m B y m Q son el cardinal del grupo A, B y Q, respectivamente. Método de agrupamiento α A α B β γ Single Lin /2 /2 0 -/2 Complete Lin /2 /2 0 /2 Average Lin Método de Centroides Método de Ward m ma m + m A ma m + m A m A A + m + m B B B Q + m Q m A mb m + m A mb m + m m A B + m + m B B B Q + m Q m 0 0 ( m + m ) 2 m A A A m + m m B B Q B + m Q 0 0 Tabla. Coeficientes de Lance William para los algoritmos aglomerativos. El método jerárquico divisivo, en particular el árbol de mínima expansión (MST, Minimum Spanning Tree) [Murtagh, 983], [Zahn, 97], es un árbol sin ciclos o un subgrafo que permite conectar todos los vértices (puntos), de modo tal que la suma de las longitudes de los enlaces (distancia entre los puntos vértice) sea 46

47 Técnicas de Clasificación no Supervisadas mínima. Estos árboles se emplean en redes de comunicación y de transporte. Existen varias estrategias para obtener el MST, entre las que podemos mencionar el algoritmo de PRIM, el método de Krusal y el algoritmo de Baruva. Se pueden encontrar en la bibliografía otros algoritmos jerárquicos más recientes. Entre sus características se puede mencionar el empleo de estrategias mixtas, con el objetivo de disminuir las limitaciones de los algoritmos anteriores, es decir, emplean el enfoque aglomerativo con nuevas medidas de distancia entre grupos, medidas de separabilidad y conectividad o mezclados con otro enfoque de agrupamiento. A continuación, mencionamos algunos de ellos. En [Guha, 998], se introdujo el algoritmo jerárquico aglomerativo CURE (Clustering Using REpresentatives) que, además, emplea una política mixta para el cálculo de las distancias entre los clusters, entre la estrategia de los centroides, (calcular la distancia entre sus centros) y la estrategia de distancia mínima entre sus puntos. CURE va a considerar un número adecuado c de puntos representativos en cada cluster y, luego, la distancia entre los clusters es igual a la distancia mínima entre sus puntos representativos. Esta estrategia le permite detectar clusters de formas arbitrarias, es decir, no necesariamente esféricos o alargados. Emplea un dispositivo adicional para manejar el ruido: cada punto representativo es reducido hacia el centroide geométrico del cluster por un factor α especificado por el usuario. Los c puntos representativos se escogen para capturar la forma de los clusters, y la contracción en dirección al centro tiene el efecto de disminuir el ruido, puesto que éste estará lejos del centro. El parámetro α también sirve para capturar la forma de los clusters. El proceso jerárquico continúa hasta que se alcanza un número de clusters. 47

48 Capítulo 2 Algoritmo CURE Entrada: X conjunto de datos c número de puntos representativos α factor de contracción número de clusters. Inicialmente cada objeto pertenece a un cluster unitario. 2. Selección de c puntos representativos en cada cluster. 3. Contraer los puntos representativos hacia el centro geométrico del cluster empleando el fator α. 4. Calcular la distancia entre los clusters como la distancia mínima entre los pares de puntos representativos. 5. Unir los dos clusters más próximos. 6. Si hay clusters, parar; si no, volver al paso 2. CURE logra descubrir clusters de forma no esférica y tiene especial cuidado con los outliers. Como CURE hace muestreo, no es importante hallar la complejidad; en general, para datos de baja dimensión, será O(N 2 ) donde N es el tamaño de la muestra. Mientras el algoritmo CURE trabaja con datos de atributos numéricos, particularmente datos espaciales de baja dimensionalidad, ROCK (RObust Clustering algorithm using links) [Guha, 999] es un algoritmo jerárquico aglomerativo para atributos categóricos. El algoritmo jerárquico aglomerativo Chameleon [Karypis, 999] emplea modelos dinámicos en el agregado de los clusters. Chameleon tiene dos etapas: en la primera, se construyen clusters iniciales que serán el inicio de la segunda etapa, ésta consiste en una estrategia de particionamiento de grafo, emplea el grafo de los vecinos más cercanos, es decir, las aristas de los vecinos más cercanos se conservan, las restantes se borran. En la segunda etapa, se desarrolla un proceso aglomerativo, define dos medidas para el agrupamiento de los clusters: la medida de interconectividad relativa (RI) y la de cercanía relativa (RC), ambas son localmente normalizadas por cantidades relacionadas con los clusters, en este sentido el modelo es dinámico. La normalización envuelve ciertas operaciones de grafos no obvias, el particionamiento de grafo es implementado en la librería HMETIS. El proceso 48

49 Técnicas de Clasificación no Supervisadas aglomerativo depende de umbrales proporcionados por el usuario, y la decisión para unir depende de dos estrategias: en la primera, se unen dos clusters tales que RI y RC superen umbrales prefijados y la segunda, que RI*RC α supere un umbral prefijado (si α >, se concede mayor importancia a RC, si α <, se concede mayor importancia a RI, en otro caso, los dos tienen igual importancia). El algoritmo está diseñado para encontrar clusters de diferentes formas, tamaños y densidades en espacios bidimensionales. El coste computacional es de O(Nm + Nlog(N + m 2 log(n)), donde m es el número de clusters de la primera etapa. Otro algoritmo reciente aparece en [Fred, 2003], donde se integra un criterio de aislamiento de grupos en un algoritmo de agrupamiento jerárquico aglomerativo. En éste, se define el incremento de la disimilaridad o gap entre dos grupos C i y C j y se emplea el criterio de aislamiento siguiente: dados dos grupos C i y C j candidatos para unir, µ i y µ j sus respectivos valores medios de los incrementos de las disimilaridades en cada cluster, si gap i t i (gap j t j ), aislar el cluster C i (C j ) y continuar la estrategia de agrupamiento con el resto de los grupos. Si ninguno de los grupos excede el límite del gap, unirlos. Emplea un umbral dinámico que va variando a lo largo del algoritmo y en dependencia del grupo C i. El algoritmo comienza con cada patrón en un grupo, en cada nivel del algoritmo se determina el par de grupos más similares según si tienen los dos puntos más similares entre los puntos de grupos diferentes y se aplica el criterio de aislamiento, los clusters son entonces o unidos o aislados (uno o ambos). 6 Algoritmos de Partición Mientras los algoritmos jerárquicos construyen grupos gradualmente, los algoritmos de partición tratan de descubrir clusters reubicando iterativamente puntos entre subconjuntos. Por ejemplo, los métodos -Medias y el de -Medoides (PAM, CLARA, CLARANS), también pueden tener un enfoque probabilístico (EM, autoclass, MClust). La función criterio más frecuentemente usada en técnicas de agrupamiento por partición es el error cuadrático (squared error), que generalmente funciona bien con clusters compactos y bien separados. El error cuadrático de un agrupamiento formado por grupos se expresa mediante la fórmula: SE = N j j= i= x j i c j 2 (4) 49

50 Capítulo 2 donde j x i y c j son el i-ésimo patrón y el centroide del j-ésimo cluster, respectivamente. El algoritmo -Medias (-Means) [Mac Queen, 967], [Hartigan, 979] y [Chen, 998] es uno de los más simples y conocidos algoritmos de agrupamiento. Está basado en la optimización del error cuadrático, que sigue una forma fácil para dividir una base de datos dada en grupos fijados a priori. La idea principal es definir centroides (uno para cada grupo) y, luego, ubicar los restantes puntos en la clase de su centroide más cercano. El próximo paso es recalcular el centroide de cada cluster y reubicar nuevamente los puntos en cada grupo. El proceso se repite hasta que no haya cambios en la distribución de los puntos de una iteración a la siguiente. -Medias (clásico) Entrada: X conjunto de datos número de clusters. Seleccionar aleatoriamente centros. 2. Repetir mientras haya cambios en la composición de los grupos. 2.. Asignar los ejemplos al cluster con centro más cercano Calcular los nuevos centroides de los grupos. Algunos de los principales inconvenientes de estos esquemas son:. Fallan cuando los puntos de un cluster están muy cercanos al centroide de otro grupo. 2. No obtienen buenos resultados cuando los clusters tienen diferentes formas y tamaños. 3. Son muy susceptibles al problema de la inicialización. 4. Son muy sensibles a los outliers que pueden distorsionar gravemente el resultado. 5. Sólo pueden emplearse en espacios de atributos numéricos por la necesidad de calcular el punto medio. En la literatura, se han definido diferentes versiones difusas de métodos basados en el error cuadrático, entre ellos el Fuzzy C-Means [Bezde, 984]. El algoritmo Bisecting -Means es una extensión del -Means, basado en una idea simple: para obtener grupos, se divide el conjunto de todos los puntos en dos 50

51 Técnicas de Clasificación no Supervisadas grupos y se selecciona uno de éstos para dividirlo en dos utilizando el algoritmo - Means, el proceso se repite hasta que hayan clusters. Para escoger el cluster que se va a dividir, existen varias estrategias: escoger el cluster más grande, escoger el que tiene asociado el más grande error cuadrático medio, o emplear un criterio con ambos, tamaño y error cuadrático medio. Otro método que emplea una estrategia de partición similar al -Means es el de los -medoides (-medoids). Los -medoides son los puntos del conjunto de datos más representativos de cada grupo. La representación por -medoides tiene dos ventajas: no tiene limitaciones sobre el tipo de atributos y la selección de los medoides se hace según su localización en una porción significante de un grupo, y por tanto, es menos sensible al ruido que -Means. Los algoritmos PAM (Partitioning Around Medoids), CLARA (Clustering LARge Applications) y CLARANS (Clustering Large Applications based upon RANdomized Search) emplean este método. El algoritmo PAM [Kaufman, 990] emplea una alternativa diferente a la de centroides, en su lugar toma una instancia real perteneciente a la base de datos a la que llama medoide. Para seleccionar los medoides de los clusters, emplea una función de optimización. Obtiene mejores resultados que -Means porque minimiza una suma de distancias en lugar de una suma de cuadrados; desarrolla la misma estrategia de ubicación de los puntos que -Means. Es más robusto que -Means ante ruido y outliers pero es lento en bases de datos grandes, lo que originó la aparición del algoritmo CLARA. CLARA [Kaufman, 990] se basa en muestreos. Los medoides son escogidos de la muestra usando PAM, minimiza la función de disimilaridad promedio del agrupamiento para retener los medoides en una de las muestras, de entre todas las muestras seleccionadas. CLARANS [Ng, 994] es una mezcla de PAM y CLARA, trabaja sobre muestras de la base de datos. Para disminuir la complejidad, considera los vecinos de los medoides como candidatos a ser nuevos medoides e itera varias veces tomando distintas muestras en cada vuelta, con el objetivo de evitar la posible selección de malas muestras. Emplean un grafo cuyos nodos son el conjunto de medoides, y dos nodos se conectan si difieren de exactamente un medoide. La complejidad es O(N 2 ). Las estrategias CLARA y CLARANS tienen entre sus limitaciones la dependencia del resultado del agrupamiento del orden en que se presentan los objetos y tienden a crear grupos esféricos. Otra de las estrategias basadas en partición se refiere a los métodos probabilísticos. Éstos asumen que los datos vienen de una mixtura de varias 5

52 Capítulo 2 poblaciones cuyas distribuciones y probabilidades a priori deseamos encontrar; una ventaja que brindan estos modelos es la fácil interpretación de los grupos obtenidos. El algoritmo EM (Expectation Maximization) propuesto por [Dempster, 977] sobre mixturas multimodales es uno de los representantes de esta clase de algoritmos. Es una optimización iterativa en dos pasos: en el paso E (Expectation), estima las densidades de probabilidad p x / C ), donde C j son los diferentes modos, ( j mientras que en el paso M (Maximization), encuentra una aproximación a un modelo de mixtura. El proceso se repite hasta que se alcanza el criterio de convergencia de la log-verosimilitud (log- lielihood). Como resultado se obtienen los parámetros que maximizan la log-verosimilitud. Más detalles de este algoritmo se pueden ver en el Anexo B. Este algoritmo tiene varias limitaciones:. Es un método local, por tanto, es sensible a la inicialización. 2. Puede converger a la frontera del espacio de parámetros donde la verosimilitud es no acotada, llevando a estimaciones sin sentido. 3. Si el número de componentes es muy grande, puede sobre-entrenar los datos, pues éstos son incompletos y, por tanto, se puede obtener una forma más irregular de lo que en realidad es, mientras que una mixtura con pocas componentes no es lo suficientemente flexible para aproximar al verdadero modelo. 4. La finalización también es una limitación, pues llega el momento donde el proceso deja de evolucionar por lo que se supone que alcanza la localización óptima, pero esto no nos asegura la verdadera optimización pues lo que se obtiene es un mínimo local. El algoritmo que se describe en [Figueiredo, 2002] trata de reducir las limitaciones antes mencionadas. Comienza por un valor de grande, con el que obtiene buenos resultados, debido a que emplean la variante de considerar solamente las componentes de probabilidad no nula para obtener los estimados de los parámetros; además, es más robusto al problema de la inicialización. 7 Algoritmos Basados en Densidad Los algoritmos basados en densidad localizan zonas de alta densidad separadas por regiones de baja densidad. 52

53 Técnicas de Clasificación no Supervisadas DBSCAN (Density Based Spatial Clustering of Aplications with Noise) [Ester, 996] es uno de los primeros algoritmos de agrupamiento que emplea este enfoque. Comienza seleccionando un punto t arbitrario, si t es un punto central, se empieza a construir un cluster alrededor de él, tratando de descubrir componentes denso-conectadas; si no, se visita otro objeto del conjunto de datos. Puntos centrales (core points) son aquellos tales que en su vecindad de radio Eps, hay una cantidad de puntos mayor o igual que un umbral MinPts especificado. Un punto borde o frontera tiene menos puntos que MinPts en su vecindad, pero pertenece a la vecindad de un punto central. Un punto ruido (noise) es aquel que no es ni central ni borde. La Figura 3 ilustra cada uno de esos conceptos: si MinPts es mayor o igual a 4 y menor o igual a 6, A es un punto central, B es un punto borde y C es un punto ruido. Figura 3. Definiciones de punto central, borde y ruido. Un punto q es directamente denso-alcanzable desde otro punto t (con relación a los parámetros MinPts y Eps) si t es un punto central y q pertenece a la vecindad de t. Un punto q es denso-alcanzable desde un punto t si existe una cadena de puntos t 0, t, t m, tales que t i- es directamente denso-alcanzable desde t i, i m, t 0 = q y t m = t. En consecuencia, los puntos centrales están en regiones de alta densidad, los puntos borde en la frontera de regiones densas y los puntos ruido en regiones de baja densidad. Este algoritmo busca clusters comprobando la vecindad de cada punto de la base de datos y va añadiendo puntos que son denso-alcanzables desde un punto central. 53

54 Capítulo 2 Algoritmo DBSCAN Entrada: X conjunto de datos Eps radio de la vecindad de cada punto MinPts número mínimo de puntos en una vecindad. Seleccionar aleatoriamente un punto t. 2. Si t es un punto central se forma un grupo alrededor de t con todos los puntos denso-alcanzables desde t. 3. Si t es un punto borde o ruido, se visita otro punto. 4. Si todos los puntos han sido visitados, terminar; si no, volver al paso. Entre sus ventajas se pueden mencionar:. Descubre clusters de formas arbitrarias. 2. Trata el ruido. 3. Es de una sola pasada. 4. Genera automáticamente el número de clusters. Entre sus limitaciones:. Es sensible a los parámetros. 2. No es bueno para datos de alta dimensionalidad, grupos de diferentes densidades y grupos muy solapados. En general, DBSCAN puede manejar clusters de formas y tamaños diferentes, pero tiene limitaciones cuando los clusters están muy solapados y en presencia de ruido. La complejidad en el peor de los casos es O(N 2 ). La motivación para la realización del algoritmo OPTICS (Ordering Points to Identify the Clustering Strusture) [Anerst, 999] se basa en la necesidad de introducir parámetros de entrada en casi todos los algoritmos de agrupamiento existentes, que en la mayoría de los casos son difíciles de determinar. En conjuntos de datos reales, no existe una manera de determinar estos parámetros globales, por lo que trata de resolver este problema basándose en el esquema del algoritmo DBSCAN, creando un ordenamiento de la base de datos para representar la estructura del agrupamiento basada en densidad. Además, puede hacer una representación gráfica del agrupamiento incluso para conjuntos de datos grandes. 54

55 Técnicas de Clasificación no Supervisadas La regla de clasificación de los K vecinos más cercanos (K-NN) ha sido extensamente empleada en métodos de clasificación supervisada [Vázquez, 2005] y [Vazquez, 2008]. En [Thanh, 2003], se propone utilizar la regla como estrategia basada en densidad, para tratar bases de datos de alta dimensionalidad (por ejemplo, imágenes de satélites). El algoritmo comienza asignando cada punto a un cluster individual, luego los puntos se van asignando a uno de los grupos según la regla K- NN, terminando el proceso cuando en dos iteraciones sucesivas ninguno de los objetos cambia de grupo. El algoritmo DENCLUE (DENsity-based CLUstEring), propuesto en [Hinneburg, 998], es un algoritmo en dos fases. En la primera, divide el hiperrectángulo del conjunto de datos en hipercubos de aristas de longitud 2σ, determina los hipercubos más poblados y los hipercubos que están conectados. En la segunda fase, considera sólo los hipercubos más poblados y los conectados a hipercubos más poblados. Posteriormente, para determinar los grupos, evalúa la función de densidad que define en cada uno de los puntos x de los hipercubos más poblados, pero considerando sólo aquellos puntos tal que su distancia al centro del hipercubo al que x pertenece sea igual o menor que 4σ, luego halla el gradiente y el atractor de densidad de x para el que la función de densidad sea mayor o igual que un valor prefijado, y clasifica a cada punto en la clase de su atractor. Con este algoritmo se obtiene el número de clusters de manera automática. Entre sus ventajas se pueden mencionar:. Logra buenos agrupamientos en bases de datos con puntos ruidosos. 2. Es significativamente más rápido que otros algoritmos de agrupamiento. Entre sus limitaciones está el problema de la selección de sus parámetros σ y ξ, con σ determina la influencia de un punto en su vecindad y ξ es el umbral de densidad. 8 Agrupamiento Basado en Caminos Los algoritmos de agrupamiento basados en camino (Path Based Clustering) funcionan bajo la idea de asignar dos objetos a un mismo cluster si se encuentran conectados a un mismo camino de modo tal que la similaridad entre dos objetos adyacentes de dicho camino sea alta. Esta estrategia está inspirada en la existencia de bases de datos cuyos grupos constituyen regiones alargadas, tales como espirales y círculos. Desarrolla una 55

56 Capítulo 2 estrategia como el SL pero, a diferencia de ésta, evalúa la posibilidad de unir dos grupos mediante una función de coste. En [Fisher, 2002], se presenta una estrategia basada en caminos con una optimización aglomerativa que emplea un algoritmo recursivo, parecido al árbol de mínima expansión de Krusal para calcular la función de coste. La función de coste que emplea es la siguiente: H pbc ( c;d) = {,...,} eff (5) Di j ( c;d) O ( c) v v oi v o j v donde D eff i j ( c;d) = min max D p + p Pi j ( c) h p [ ] [ ] h p h (6) es la disimilaridad efectiva entre los objetos o i y o j. En la estrategia SL, por ejemplo, dos objetos o i y o j se asignarían al mismo cluster si su disimilaridad D ij es pequeña. Este concepto se generaliza asumiendo que la disimilaridad entre objetos se puede comportar de manera transitiva. Por tanto, se pueden considerar todos los caminos (paths) del objeto o i al objeto o j, donde todos los objetos sobre un camino que conecta a los objetos o i y o j, pertenecen al mismo cluster que éstos. La disimilaridad que existe en un camino en particular se define por medio de la máxima disimilaridad en ese camino, y la disimilaridad efectiva entre dos objetos, se calcula mediante el mínimo sobre todas las distancias de los caminos que unen a o i y o j, tal como se ve en la fórmula (6). Los costes de los clusters se definen a través de la expresión (7): ( c;d) = min max D p[ h] p[ h+ ] Cv p Pi j o h p i Ov o j Ov (7) El algoritmo comienza con tantos clusters como puntos de la base de datos, o sea, con N clusters unitarios. Inicialmente, el coste de cada cluster es nulo. Se visitan todas las disimilaridades entre los pares de objetos en forma creciente, si aparece una disimilaridad tal que los respectivos objetos estén en clusters diferentes, ésta es la disimilaridad efectiva para cada par de objetos de los dos respectivos subconjuntos a los que pertenecen los puntos. La multiplicación de este valor de disimilaridad por el cardinal del primer conjunto y el cardinal del segundo conjunto se suma al coste 56

57 Técnicas de Clasificación no Supervisadas interno del posible cluster a obtener por medio de la unión de esos dos. Si queda solamente un subconjunto, se calcula el coste interno. El algoritmo se puede resumir en la siguiente forma: Algoritmo Path Based Clustering Entrada: X Conjunto de datos número de clusters. Inicialmente, se ubican los puntos de X en un cluster unitario. 2. Se calculan las distancias / disimilaridades entre todos los pares de puntos. 3. Se ordenan las distancias. 4. Se calculan las disimilaridades efectivas y la función de coste para cada par posible de grupos a unir. 5. Se unen los dos grupos tal que el valor de la función de coste sea mínimo. 6. Si existen clusters terminar; sino volver al paso 5. Este enfoque, como se dijo antes, es efectivo cuando los objetos de los grupos forman estructuras alargadas, ya que da la posibilidad de construir caminos que enlazan puntos de un mismo cluster sin incrementar demasiado el coste de unirlos. Sin embargo, tiene las siguientes limitaciones:. No es funcional en bases de datos de diversas formas. 2. No detecta bien los grupos si hay solapamiento, precisamente por el efecto encadenante de los caminos, puesto que se crearían caminos entre objetos de grupos diferentes debido a la cercanía de las clases solapadas. 3. Es sensible al ruido. 4. Requiere un tiempo de ejecución de O(N 3 log N), donde N es el número de objetos. En relación al ruido, en el trabajo [Fisher, 2003a], los mismos autores proponen una estrategia para manejar el ruido, incorporando a la función de coste un 57

58 Capítulo 2 término para los outliers, pero éste depende de un umbral; por tanto, incorpora un nuevo parámetro al algoritmo, que a su vez es difícil de determinar. 9 Estrategias de Co-ocurrencias La idea de los métodos de co-ocurrencia para datos categóricos considera que el concepto de similaridad por sí solo no es suficiente para agrupar este tipo de datos. El enfoque de los vecinos más cercanos compartidos fue introducido primero en [Jarvi, 973]. Los algoritmos ROCK y SNN emplean, además de la similaridad, el concepto de vecinos compartidos. La motivación para la creación del algoritmo SNN (vecinos más cercanos compartidos, Shared Nearest Neighbors) [Ertoz. 2003] es la existencia de bases de datos de alta dimensionalidad como textos y series temporales, así como la existencia de grupos de diferentes formas y tamaños. Primero, halla los K vecinos más cercanos de cada punto, construye un grafo de modo tal que dos puntos son conectados si ambos pertenecen mutuamente a la lista de sus vecinos más cercanos y redefine la similaridad entre pares de puntos como el número de vecinos más cercanos que comparten. Para calcular los pesos del grafo, tiene en cuenta el orden de los vecinos más cercanos. Define los puntos centrales y alrededor de ellos forma los clusters. Este algoritmo no agrupa todos los puntos, como parte de una estrategia que emplea para eliminar los puntos ruido (outliers). Encuentra de manera natural el número de clusters. Esta estrategia de vecinos compartidos tiene buenos resultados en el caso de grupos separados, pero en el caso en que haya ruido o puntos de grupos diferentes muy cercanos, se podrían mezclar puntos de diferentes grupos en un mismo cluster. El algoritmo ROCK (Robust Clustering algorithm for Categorical Data) [Guha, 999] tiene rasgos communes con CURE, es un algoritmo jerárquico que realiza un proceso aglomerativo hasta que se obtienen clusters y realiza muestreo. Utiliza una función de semejanza y una función objetivo dependiente de las similaridades y considera dos puntos vecinos si su similaridad supera un umbral prefijado. 0 Otras Estrategias Algunos algoritmos trabajan con datos indirectamente, construyendo resúmenes de datos sobre subconjuntos del espacio de los atributos, ellos realizan una segmentación del espacio y se suelen llamar Métodos basados en Rejillas. 58

59 Técnicas de Clasificación no Supervisadas Frecuentemente usan una aglomeración jerárquica como una de sus fases de procesamiento, como por ejemplo los algoritmos GRIDCLUST [Schiuta, 996] y BANG [Schiuta, 997] que sortean los bloques de acuerdo a su densidad y unen bloques adyacentes en el hiperespacio (n )-dimensional. Esta metodología basada en rejillas también se usa como un paso intermedio en otros algoritmos como DENCLUE (mencionado antes) y CLIQUE (Clustering In Quest) [Agrawal, 998] también basados en densidad, CLIQUE tiene como limitación la complejidad temporal exponencial en relación a la dimensión de los datos. MAFIA (Merging of Adaptive Finite Intervals) [Goil, 999] es una variante del algoritmo CLIQUE, construye un histograma de la cantidad de puntos en cada segmento en que divide cada una de sus dimensiones, pero su coste temporal también depende exponencialmente de la dimensión del espacio de los puntos. En [Xiao, 2005], se propone un algoritmo basado en la regla K-NN y DENCLUE, empleando el esquema de DENCLUE como algoritmo de agrupamiento y la regla K-NN para determinar los parámetros globales del algoritmo DENCLUE. Otros trabajos emplean técnicas de multiclasificadores, como en [Fred, 2002] y [Fred, 2005], donde aparece un algoritmo en dos etapas: en la primera, realiza divisiones en clusters del conjunto de datos empleando el algoritmo -Means; en la segunda etapa, emplean la técnica SL. Para esto, toma la co-ocurrencia de todos los pares de patrones en un mismo cluster como votos para su asociación, bajo la idea de que si dos patrones pertenecen a un mismo cluster, ellos serán colocados en el mismo grupo en diferentes agrupamientos. Los patrones que no pertenezcan a ningún grupo forman clusters unitarios. El agrupamiento espectral (Spectral Clustering) es otra técnica que se emplea para construir particiones de un grafo basada en la búsqueda de los vectores propios de la matriz de adyacencia. Trabajos como los de [Shi, 2000] y [Meila, 200b] aparecen en la bibliografía consultada. Dado un conjunto de datos, se construye un grafo de similaridad, se hallan los primeros (número de clusters) vectores propios de la matriz Laplaciana y se forma una matriz cuyas columnas están formadas por los vectores propios, para luego agrupar utilizando el algoritmo -Means los objetos que forman las filas de dicha matriz. Esta estrategia no hace suposiciones acerca de la estructura de los grupos, contrario al -Means que asume clusters convexos, sin embargo, depende del grafo de similaridad escogido por lo que puede ser inestable para diferentes selecciones de los parámetros del grafo de vecindad. 59

60

61 Capítulo 3 Validación de Clusters Introducción El análisis de los agrupamientos es una herramienta importante para investigar e interpretar datos. Las técnicas de agrupamiento son la herramienta fundamental empleada para la exploración de datos, específicamente cuando se necesita saber la estructura interna de los datos sin tener información a priori disponible, pues se espera que los algoritmos de agrupamiento produzcan particiones que reflejen la estructura interna de los datos e identifiquen las clases naturales y jerarquías presentes en los mismos. Un procedimiento de aprendizaje no supervisado es más complejo de evaluar que uno de aprendizaje supervisado. A través de los años, se han propuesto una amplia variedad de algoritmos de agrupamiento, algunos tienen su origen en la teoría de grafos, otros están basados en reconocimiento estadístico de patrones, etc. Comparar los méritos relativos de cada método es difícil pues, cuando aplicamos algoritmos de agrupamiento a un conjunto de datos, los resultados difieren. En algunos casos, tales diferencias se deben a las características del algoritmo, ya que pueden diferir de manera explícita o implícita en las suposiciones acerca de la estructura de los datos. Por ejemplo, si el conjunto estudiado consiste de varias nubes de puntos esféricamente distribuidos alrededor de su centro, los métodos que asumen tal estructura funcionan bien, mientras que si los datos están formados por clusters de diferentes formas y tamaños, algunos algoritmos no son capaces de descubrir esta estructura como, por ejemplo, el -Means. Es más difícil aún el hecho de que el resultado del agrupamiento depende fuertemente de los valores asignados a los parámetros. Por ejemplo, si se desarrolla un algoritmo de agrupamiento jerárquico, hay que decidir qué nivel refleja mejor las clases naturales presentes en los datos y esto, haciendo uso solamente de los datos disponibles. En diversas técnicas de agrupamiento, el número de clusters a construir es un parámetro de entrada del algoritmo de agrupamiento, lo que supone un conocimiento a priori de ese dato. Sin embargo, en la práctica, podemos

62 Capítulo 3 desconocerlo. Muchos métodos e indicadores bajo el nombre de validación de clusters (cluster validation) permiten evaluar los resultados del agrupamiento de esta manera. La noción de validación de clusters se refiere a conceptos o métodos para la evaluación cuantitativa y objetiva del resultado de un algoritmo de agrupamiento. En la literatura consultada con relación a esta temática, dichos conceptos y métodos aparecen publicados en [Rand, 97], [Milligan and Cooper, 985], [Jain, 986], [Rousseeuw, 987], [Geva, 2000], [Levine, 200], [Halidi, 2002a], [Halidi, 2002b], [Azuaje, 2003], [Lange, 2004], [Gusarova, 2005], [Mufti, 2005], [Bertrand, 2006], [Bouguessa, 2006], [Barzily, 2008], entre otros. En este capítulo, haremos un recorrido por el estado del arte de algunos de los trabajos citados en la literatura acerca de la validación de clusters y, específicamente, acerca de cómo determinar el valor del parámetro, nos tomaremos mayor interés en los métodos relacionados con este trabajo. 2 Índices de Validación de Clusters En aplicaciones prácticas de algoritmos de agrupamiento, varias cuestiones deben ser resueltas, entre ellas, la determinación del número de clusters y la evaluación de la calidad de las particiones. Un índice de validación (validity index) proporciona una medida objetivo del resultado de un agrupamiento, y su valor óptimo se usa frecuentemente para indicar la mejor selección posible de los valores de los parámetros en el algoritmo de agrupamiento, por ejemplo, el número de clusters. La construcción de tales índices es una tarea difícil, pues en la vida real se desconoce la distribución verdadera de los datos. Numerosos trabajos sugieren índices directos o indirectos para evaluar: agrupamientos duros [Jain y Dubes, 988], agrupamientos probabilísticos [Duda y Hart, 973] y agrupamientos difusos [Pal, 995], [Pal, 997], [Rezae, 998], [Bezde, 998] y [Bouguessa, 2006]. Los agrupamientos duros frecuentemente están basados en alguna motivación geométrica para estimar cuán compactos y separados están los clusters [Dunn, 974]; otros están estadísticamente motivados, es decir, comparando la dispersión dentro del cluster con la separación entre los clusters [Davies, 979] y [Halidi, 2000]. Algunos de los más recientes y exitosos se encuentra en [Tibshirani, 200], basado en la localización de un codo (elbow) para indicar el número apropiado de clusters en un agrupamiento, como en [Sugar, 998], [Sugar, 999] y [Yeung, 200]. 62

63 Validación de Clusters Algunos índices de validación de clusters evalúan los resultados de un algoritmo de agrupamiento empleando dos criterios de medida: compacidad y separación. La compacidad se basa en la suposición de que los elementos de un mismo cluster deben estar tan cerca como sea posible, mientras que el criterio de separación considera que los clusters deben estar bien separados. Estos índices actúan directamente sobre el agrupamiento, o sea, primeramente se obtienen varios agrupamientos del conjunto de datos con valores del parámetro número de clusters entre c min y c max, luego se calcula el valor del índice para determinar cuál de los agrupamientos es considerado correcto, lo que implicaría la elección de un número determinado de clusters. El índice de Davies Bouldin [Davies, 979], uno de los representantes de esta estrategia más empleado en la literatura consultada, emplea como medida de compacidad de un cluster la media de las distancias de sus puntos a su centroide, mientras que como medida de separabilidad utiliza la distancia entre los clusters, que puede ser, por ejemplo, la distancia euclidea entre los centros. Con más detalles, se define el índice de Davies Bouldin por: siendo el número de clusters y (8) DB = R i i= Generalmente, R i = max R (9) j=,...,, i j i j R i j si + s j = M i j (0) s i = d( x, vi ), C i x C i M i j = d( v, v i j ) () donde, v i (i =,, ) es el centroide del i-ésimo cluster, y d la distancia euclidea. Para escoger el número de clusters adecuado se toma el valor que minimiza el índice de Davies Bouldin porque eso significa que los clusters son más compactos y están más separados. Este índice tiene como inconveniente que considera clusters compactos y bien separados, por lo que al calcular la compacidad según la distancia de los puntos a los centros, no detecta bien la forma de los clusters y si, además, éstos están solapados, no es posible determinar las fronteras entre los clusters, dando resultados erróneos acerca del número de grupos. 63

64 Capítulo 3 Otros dos índices que aparecen en la literatura que tienen en cuenta esas dos características (compacidad y separación) son los que aparecen en [Halidi, 2000] y [Halidi, 200]. El primero de ellos (SD) tiene en cuenta la dispersión de los clusters para medir la compacidad (Scat) y la separación es calculada mediante la medida a la que llama separación total de los clusters (Dis). El índice que propone se calcula mediante la siguiente fórmula: SD = α Scat( ) + Dis( ) (2) donde Scat() es la dispersión promedio de los clusters que se define por: Scat( ) = σ ( v ) (3) i i= σ ( X ) y Dis() es la separación total entre los clusters y se define por: D Dis( ) = D max min i= j= v i v j n v i denota la media del cluster i-ésimo y el número de clusters, σ ( x) ( σ x,..., σ x ) n σ ( v ) = ( σ,..., σ ), donde n es el número de rasgos, y i v i v i D (4) = y = max vi v (5) max j i, j Además, D = min vi v (6) min j i, j σ j x = N Ni j j 2 j j j ( x x ), σ v = ( x ) i vi N = N i = 2 (7) donde, dimensión; j j x y σ x representan la media y la varianza respectivamente de la j-ésima j v i y σ son la media y varianza, respectivamente, de la j-ésima j v i dimensión en la clase i-ésima; N es el número de puntos en la base de datos y N i el número de puntos en el i-ésimo cluster y x = T ( x x) 2 (8) El parámetro α que emplea para pesar la dispersión es igual a Dis c ) y c max es el valor máximo del número de clusters a tener en cuenta. ( max Es decir, Scat() indica la compacidad promedio de los clusters, o sea, la distancia intra-grupos. Un valor pequeño de esta medida implica que los clusters son 64

65 Validación de Clusters compactos ya que cuando aumenta la dispersión dentro de los grupos, el valor de Scat() se incrementa también. El segundo sumando indica la separación total entre los clusters, contrario al primer término, Dis() está influenciado por la geometría de los grupos y su valor aumenta con el número de clusters. Como las dos medidas tienen diferentes rangos, se emplea el peso α para lograr que ambos términos estén balanceados. El número de clusters que minimiza el índice se considera como el valor óptimo del número de clusters presentes en los datos. Este índice, al igual que el anterior, no es capaz de descubrir agrupamientos donde los clusters tengan diversas formas, debido a la utilización de las varianzas que más bien corresponden a clusters globulares y también, la dependencia del segundo sumando de las medias de los clusters para medir la separación, trae como consecuencia la dificultad de su empleo en bases de datos de grupos muy solapados. La aparición del otro índice de validación de clusters mencionado antes (S_Dbw), estuvo motivado por la estrategia basada en densidad de algoritmos de agrupamiento como DBSCAN, por lo que emplea la misma estrategia de compacidad de los clusters por medio de la varianza intra-cluster, pero mide la separación entre los grupos con el empleo de un término que evalúa la densidad entre los clusters. Este índice se define por: S _ Dbw = Scat( ) + Dens _ bw( ) (9) donde Dens _ bw( ) = ( ) i j i= j= max i j ) j i density( u { density( v ), density( v } ) (20) Igual que antes, v i (i =,, ) representa la media del i-ésimo cluster; u i j es el punto medio del segmento de línea definido por los centros v i y v j y el término density(u) se define a través de la siguiente fórmula: density( u) = N i j l= f ( x l, u) (2) donde N i j es el número de puntos que pertenecen al cluster C i o al cluster C j. 0 si d( x, u) > stdev f ( x, u) = y stdev = σ ( en otro caso i= v i ) (22) De modo que density(u) define el número de puntos de los clusters C i y C j que pertenecen a la hiper-esfera de centro en u y radio stdev. 65

66 Capítulo 3 Por tanto, este índice funciona bien bajo la suposición de clusters convexos y bien separados y el valor de que minimiza el mismo es considerado el óptimo número de clusters. Pero, si los clusters están solapados y hay puntos ruidosos en la base de datos, no es una estrategia adecuada para determinar el número natural de clusters. 3 Estrategias Basadas en Estabilidad Otros métodos para la validación de los clusters utilizan re-muestreo. Éste identifica como soluciones, agrupamientos estables que indican el correspondiente número de clusters. Hablando de una manera menos formal, la estabilidad de los clusters ocurre cuando la estructura de los clusters no se ve afectada por pequeños cambios en el conjunto de datos [Cheng and Milligan, 996], [Bertrand, 2005] y [Mufti, 2006]. La idea de usar estabilidad para evaluar soluciones de agrupamientos ha sido considerada antes por algunos autores en el contexto de agrupamientos jerárquicos [Smith and Dubes, 980]. Enfoques recientes [Ben-Hur, 2002], [Fischer, 2003], [Lange, 2004], [Tibshirani, 2005] sugieren que la estabilidad de los clusters es una manera de determinar el número de clusters, relacionado con los métodos Bootstrap y Jacnife [Efron, 982] en el hecho de usar muestreo para estimar un estadístico pero, en este caso, el muestreo se usa como una perturbación de los datos, incluso con la posibilidad de añadir ruido. El método propuesto en [Ben-Hur, 2002] se basa en la estabilidad de agrupamientos con respecto a perturbaciones como submuestreo o adición de ruido, con el objetivo de asegurar la presencia de estructura en los datos agrupados; en particular, se usa en secuencias de ADN (DNA microarrays). Considera la estabilidad como una propiedad importante de una solución de agrupamiento porque los datos y, en particular, datos de gene expression es ruidosa. Consecuentemente, sugiere la estabilidad como un medio para definir particiones importantes. Para determinar el número de clusters, genera 00 pares de submuestras de los datos y, para cada valor de, cada submuestra se agrupa en clusters con el agrupamiento jerárquico Average Lin. Con los dos resultados del agrupamiento, se calcula una medida de similaridad con valores entre 0 y. Se representa gráficamente la medida de similaridad para muchas observaciones en la submuestra conjunta y un valor cercano a indica que los dos agrupamientos son el mismo. El número estimado de clusters se toma como el valor de tal que ocurre una transición de valores de similaridad concentrados cerca de a una distribución con una dispersión más amplia inferior a. 66

67 Validación de Clusters Altos valores de las similaridades indican un patrón de agrupamiento estable, por tanto, el número óptimo de clusters u otro parámetro empleado en el algoritmo de agrupamiento se determina por el valor máximo de la similaridad promedio. El método se puede usar con cualquier algoritmo de agrupamiento y proporciona una manera de definir un número óptimo de clusters. Las medidas de similaridad entre particiones empleadas están descritas con la ayuda de un producto interno en la siguiente forma: Dado X = {x,, x N }, xi n R representa el conjunto de datos a ser agrupados, L es una partición de X en subconjuntos S,, S. Se construye una matriz cuyos coeficientes toman valores según la fórmula (23): C ij si xi y x j pertenecen al mismo cluster, i j (23) = 0 en otro caso Define el producto interno de dos particiones L y L 2 por: = () (2) () (2) L, L2 = C, C C ij C (24) ij i, j Este producto interno calcula el número de pares de puntos agrupados juntos con ambas particiones, o, en teoría de grafos se puede interpretar como el número de enlaces comunes representados por C () y C (2). Como un producto interno satisface la desigualdad de Cauchy-Schwartz, se normaliza en una correlación o medida de similaridad coseno: cos( L, L ) = 2 L, L L, L 2 L, L 2 2 (25) Otras dos medidas que se pueden expresar por medio del producto interno son el coeficiente de Jaccard (26) y el coeficiente de emparejamiento (matching) expresado en la fórmula (27): J ( L, L 2 ) = N 0 N + N 0 + N = C (), C () + C C () (2), C, C (2) (2) C (), C (2) (26) M L L = N + N 00 () (2) (, 2 ) C C 2 N 00 + N 0 + N0 + N n donde C () y C (2) son matrices de coeficientes 0 y, N ij para i, j ϵ {0, }, es el número de coeficientes para los cuales C () y C (2) tienen valores i y j respectivamente. Para determinar el valor óptimo de, se busca un salto en el área bajo la función de distribución acumulativa o un salto en P(s > η), donde s representa una = 2 (27) 67

68 Capítulo 3 variable aleatoria del resultado de las similaridades. Para cada y η, se calcula la probabilidad de que s sea mayor que un umbral prefijado η. Algoritmo explorador de modelo Datos de Entrada: X conjunto de datos max número máximo de clusters num_subm número de submuestras Salida: s(i, ) lista de similaridades para cada par de submuestras Requiere: cluster(x,) algoritmo de agrupamiento en clusters s(l, L 2 ) medida de similaridad entre etiquetas f razón de muestreo o fracción de puntos muestreados. f = para desde 2 hasta max 2.. para i desde hasta num_subm 2... sub = submuestrear(x, f) sub 2 = submuestrear(x, f) L = cluster(sub, ) L 2 = cluster(sub 2, ) Intersect = sub sub s(i, ) = s(l (Intersect), L 2 (Intersect)) Otra propuesta con este enfoque es el que aparece en el artículo [Tibshirani, 2005]; la idea clave es que trata el agrupamiento como un problema de clasificación supervisada. Para cada (número de clusters), realiza los siguientes pasos fundamentales:. Divide M veces el conjunto de datos en dos conjuntos, X tr y X te, a los que les llama conjunto de entrenamiento y conjunto de prueba, respectivamente. 2. Aplica un algoritmo de agrupamiento a ambos conjuntos. 3. Etiqueta el conjunto X te empleando a X tr como conjunto de entrenamiento. 68

69 Validación de Clusters 4. Calcula la proporción de pares de puntos asignados al mismo cluster en las particiones de X te mediante la clasificación y el algoritmo de agrupamiento. Para construir los conjuntos de entrenamiento y de prueba, propone la realización de un m-fold cross-validation. Define el concepto fuerza de la predicción (prediction strength) del agrupamiento C(., ) que se calcula mediante la siguiente fórmula: ( N ) i j A j ( D[ C( X t r, ), X t e ] = ) ps( ) = Ave min j i j N j j donde es el número de clusters, A j, j =,,, son los clusters que se obtienen de aplicar el algoritmo de agrupamiento al conjunto de prueba, N j representa el número de elementos en el cluster A j. C(X tr, ) denota la operación de agrupamiento al conjunto X tr. Para contabilizar la cantidad de pares de observaciones que caen en el mismo grupo, emplea la notación D[C( ), X tr ] que es una matriz de N x N, tal que el elemento ij-ésimo D[C( ), X tr ] ij = si las observaciones i y j caen en el mismo cluster y 0 en el otro caso. La idea principal de este método es agrupar tanto el conjunto de entrenamiento como el conjunto de prueba, etiquetar el conjunto de prueba mediante un algoritmo de clasificación basado en centroides utilizando el conjunto X tr como conjunto de entrenamiento, con esto, se predice la co-pertenecia en el conjunto de prueba determinando los pares de puntos que pertenecen a un mismo cluster, etiquetados tanto por el algoritmo de agrupamiento como por el algoritmo de clasificación. Toma como valor óptimo del número de clusters, el mayor para el cual la fuerza de la predicción supera un umbral prefijado. A continuación, mostramos el algoritmo con más detalles: (28) 69

70 Capítulo 3 Algoritmo para la selección de modelo Entrada: X conjunto de datos. Para cada desde 2 hasta max hacer:.. Para cada i desde hasta M hacer:... Dividir el conjunto X en conjunto de entrenamiento X y conjunto de prueba X i...2. Aplicar el algoritmo de agrupamiento a X y obtener A(X )...3. Aplicar el algoritmo de agrupamiento a X i y obtener A(X i )...4. Clasificar los elementos de X i empleando A(X ) como conjunto de aprendizaje y obtener C(X i )..2. Calcular prediction strength ps() entre C(X i ) y A(X i )..3. Tomar como valor óptimo de, el más alto valor tal que ps() 0.8 ó 0.9. En [Lange, 2004], se introduce una medida de estabilidad de clusters para evaluar la validez de un modelo de agrupamiento. El número de clusters preferido se determina minimizando el riesgo de clasificación como una función del número de clusters. La noción de estabilidad que proponen está basada en las disimilaridades promedio de soluciones calculadas sobre dos conjuntos de datos diferentes X y X y dos soluciones de agrupamiento Y = A (X) y Y = A (X ) dependientes del número de clusters. Con el propósito de evaluar la similaridad de las soluciones de agrupamiento, se desarrolla un mecanismo diferente al empleado en [Ben Hur, 2002] y [Levine, 200] que operan sobre bases de datos con solapamiento. Similar al anterior enfoque, emplea como conjunto de entrenamiento a una solución de agrupamiento Y = A (X) y construye un clasificador φ entrenado sobre (X, Y) que predice etiquetas φ (X ) para el otro conjunto de objetos X, considerando entonces el nuevo etiquetado, como una extensión de la solución de agrupamiento Y del conjunto de datos X al conjunto de datos X. Estas etiquetas se comparan con las generadas por el algoritmo de agrupamiento sobre X, lo que haría comparables las etiquetas de A (X) y A (X ), utilizando el clasificador como un mecanismo de transferencia. 70

71 Validación de Clusters Para comparar las dos soluciones φ (X ) y Y, para el mismo conjunto de datos X consideran su distancia de Hamming: d( φ ( X ), Y ) = X X { φ( x i ) y i } i= (29) donde { ( x i ) y } = φ si φ x ) y y cero en otro caso, x i son los puntos de X y i ( i i y i son las etiquetas del conjunto Y. Como se trata de un aprendizaje no supervisado, existe un problema de ambigüedad de las etiquetas, es decir, no existe una información de las etiquetas para los clusters pues no hay, en general, unicidad de la representación. Para resolver esto, se modifica la función de disimilaridad entre dos soluciones en comparación mediante la expresión: d Π ( φ( X ), Y ) = min π Π X X { π ( φ( x i )) y i } i= (30) donde π representa el conjunto de todas las permutaciones de las etiquetas del conjunto Y. Esta medida es interpretada como el riesgo de error de clasificación de φ con respecto al generador de etiquetas A. Como índice de estabilidad del algoritmo de agrupamiento A, toma el valor esperado con respecto al par de conjuntos de datos independientes X y X, es decir: S ( A X, X Π Y ) = Ε d ( φ( X ), ) (3) O sea, la disimilaridad promedio entre soluciones de agrupamiento con respecto a la distribución de los datos. A su vez, el clasificador empleado influye en el resultado de la estabilidad, por lo que se define una medida para determinar el mejor clasificador, lo cual se expresa según la fórmula: φ* = arg min min φ C π Π X X { π ( φ( xi )) yi } i= (32) Por otro lado, para evitar la dependencia del índice (3) del valor de y hacer las comparaciones, el mismo es normalizado con el valor del índice sobre un agrupamiento aleatorio S(R ). Es decir: S ( A ) = S( A S( R ) ) (33) es la estabilidad de A relativa a la estabilidad alcanzada por el agrupamiento aleatorio. El algoritmo puede ser descrito de la siguiente manera: 7

72 Capítulo 3 Algoritmo para la selección de modelo basado en estabilidad Entrada: S conjunto de datos min número mínimo de clusters max número máximo de clusters Repetir para cada {,..., min max}. Repetir los siguientes pasos para r divisiones de los datos con el objetivo de obtener un estimado S A ) promediando: (.. Dividir el conjunto de datos en dos mitades X y X y aplicar A a ambos..2. Usar (X, A (X)) para entrenar el clasificador φ y calcular φ (X )..3. Calcular la distancia entre las dos soluciones φ (X ) y A (X ). 2. Realizar agrupamiento aleatorio en clusters y calcular el promedio de las disimilaridades empíricas para estimar S R ). 3. Normalizar cada S A ) con S R ) y obtener un estimado para S A ). ( ( Regresar ˆ = arg min S ( A ) como el valor estimado del número de clusters. ( ( Este algoritmo tiene tres limitaciones:. Necesita hacer todas las permutaciones de las etiquetas inducidas por el clasificador. 2. Como el índice de estabilidad del algoritmo de agrupamiento depende de, normaliza con el coste de la estabilidad de un predictor aleatorio, lo que hace el proceso más largo. 3. Depende del método de clasificación elegido, por lo que necesita medir la influencia del clasificador sobre su estrategia. Por último, mencionamos el índice de validación que aparece en [Fischer, 2003b] y [Roth, 2002], que emplea un esquema de re-muestreo similar al bootstrap (bagging) para mejorar la calidad del path-based clustering. Este índice escoge como el número de clusters óptimo aquel que maximiza la diferencia de la media de las probabilidades de asignación a los clusters según el algoritmo de agrupamiento p y la media de las probabilidades de asignación a los clusters generados por un 72

73 Validación de Clusters agrupamiento aleatorio p 0, relativo al riesgo de error de clasificación del agrupamiento aleatorio. Más detalladamente, * p p = arg max 2 i p0 0 (34) siendo p = pˆ 0 ( cˆ( o)) y cˆ ( o) = arg max pˆ 0 ( l) O l o O (35) Para aplicar su estrategia, parten de suponer que tienen M conjuntos independientes e idénticamente distribuidos de m objetos, a los que aplica un algoritmo de optimización aglomerativo path-based para etiquetar a los objetos en un rango de,,. Con los resultados del agrupamiento, calcula la media de las probabilidades de pertenencia a las clases según la fórmula (35), empleando para ello una estrategia Bootstrap que les permite estimar dichas probabilidades, y obtiene el número de clusters correcto según la fórmula (34). Conclusiones. Introducción y Fundamentos Teóricos En la primera parte de esta memoria de Tesis Doctoral, hemos mostrado los principales aspectos de la clasificación no supervisada, primero desde una perspectiva general y, luego, centrándonos en algoritmos específicos. De este modo, en el Capítulo 2 se han introducido conceptos básicos del Reconocimiento Estadístico de Formas o Patrones, así como algunos fundamentos estadísticos necesarios para comprender de manera general un problema de clasificación no supervisada. Se han presentado varias estrategias de agrupamiento y algunos de los algoritmos para cada una de ellas, haciendo hincapié en los algoritmos más estrechamente vinculados al trabajo desarrollado en esta tesis. Como se ha podido apreciar, las estrategias de agrupamiento son muy diferentes entre sí, dando lugar a grupos con diferentes características. Entre las limitaciones podemos mencionar:. Las estrategias basadas en centroides fallan cuando los puntos están más cerca del centroide de otra clase. 2. Estrategias como -Means tienen una alta dependencia de los valores iniciales. 3. Varias de las estrategias no manejan el ruido por lo que el resultado del agrupamiento se afecta. 73

74 Capítulo 3 4. La presencia de clusters de formas irregulares no siempre es detectada correctamente, dando lugar a clusters globulares (-Means) o alargados (SL). 5. La diferencia de densidad y tamaño de los clusters afecta el resultado de algunas de las estrategias basadas en densidad. 6. El solapamiento entre los grupos origina la unión de dos o más grupos. Del estudio sobre los diversos métodos de validación de clusters y por la importancia que para nosotros tiene ésta, de acuerdo a los objetivos de esta tesis, en el Capítulo 3 se han hecho algunos comentarios acerca de esta temática, dedicando mayor atención a la estrategia basada en la estabilidad de los clusters por ser la desarrollada por nosotros, y algunos índices de validación con los que comparamos nuestros resultados y que será presentada en la segunda parte de esta memoria de tesis. Algunas de las limitaciones presentes en las diferentes estrategias vistas son:. La existencia de clusters solapados causa resultados erróneos de las diferentes estrategias, sobre todo de los índices de validación que asumen separación entre los clusters. 2. Estrategias basadas en centroides no funcionan bien en bases de datos de diversas formas. 3. La presencia de ruido perjudica el resultado de la validación. 4. En algunos métodos basados en estabilidad es necesario realizar muchas operaciones lo que hace el proceso de validación largo. 5. El proceso de evaluar todas las permutaciones de las etiquetas aportadas por el algoritmo de agrupamiento es muy costoso. 74

75 Parte II Aportaciones

76

77 Capítulo 4 Algoritmos de Agrupamiento Introducción En los últimos años el Reconocimiento de Patrones ha adquirido cierta popularidad gracias a la automatización de las soluciones a muchos problemas de la vida real y en particular, los métodos de agrupamiento (clustering), debido a que cada vez es más necesario tratar grandes volúmenes de datos que requieren herramientas nuevas para descubrir información relevante y relación entre los datos. Cada una de las estrategias de agrupamiento existentes intenta resolver el problema de la clasificación de los puntos teniendo en cuenta la presencia o no de determinadas características en la base de datos. Por ejemplo, el algoritmo -Means construye grupos globulares, las estrategias jerárquicas tienden a construir grupos alargados, algunos algoritmos de agrupamiento no manejan el ruido. Todas estas consideraciones constituyen limitaciones de los algoritmos de agrupamiento ante la existencia de conjuntos de puntos de diversas formas y densidades, con determinado grado de solapamiento entre los grupos y en presencia de ruido. Uno de los objetivos de la presente Tesis Doctoral es el diseño de un algoritmo de agrupamiento, dirigido a eliminar las desventajas de algunos de los métodos de clustering. Para conseguir esto, diseñamos un algoritmo de agrupamiento híbrido en dos etapas, que emplea primero una estrategia basada en densidad local, para dividir la base de datos en grupos determinados por zonas de alta densidad, aún cuando hay solapamiento y diversidad de formas. En la segunda etapa, desarrollamos una estrategia jerárquica con los grupos resultantes de la primera, en la cual se unen clusters similares de acuerdo a una función de disimilaridad definida. En este capítulo, introduciremos dos algoritmos de clasificación no supervisada con las características mencionadas antes, que tenga en cuenta el solapamiento entre los grupos, la presencia de ruido y la existencia de clusters de diversas formas, densidad y tamaño con el objetivo de solucionar las limitaciones de otras estrategias.

78 Capítulo 4 2 Algoritmo H-Density Las técnicas no supervisadas de Reconocimiento de Patrones son ampliamente usadas en problemas que requieren herramientas para descubrir información relevante y relaciones entre los datos. Aunque existe una gran variedad de técnicas, muchas de ellas tienen como desventaja que cuando los grupos están muy solapados no son capaces de separarlos, más aún si hay ruido y tienen formas muy irregulares. Con el objetivo de resolver esta problemática, empleamos una estrategia híbrida entre algoritmos de agrupamiento jerárquicos y algoritmos de agrupamiento basados en densidad (density-based). Los algoritmos de agrupamiento jerárquicos tienen como característica que generalmente obtienen clusters alargados, por lo que en presencia de solapamiento no serían capaces de distinguir los grupos y por otra parte, no manejan bien el ruido, mientras que los algoritmos basados en densidad son capaces de descubrir clusters de formas y tamaños diferentes y algunos presentan estrategias para manejar el ruido, pero cuando hay solapamiento resulta difícil determinar las clases. Para conseguir nuestro algoritmo dividimos el proceso de agrupamiento en dos etapas, en la primera de ellas se realiza una primera división de los puntos empleando una estrategia basada en densidad, así, se formarán grupos separados por zonas de baja densidad, lo que delimitaría de una manera inicial determinados subconjuntos de puntos y quedarían unidos en un mismo grupo los puntos pertenecientes a una misma zona de alta densidad local. Luego, aplicamos una estrategia jerárquica para unir los clusters obtenidos en la primera etapa [Pascual, 2006]. Sea X un conjunto de N puntos de un universo en estudio provisto de una métrica, de modo que podamos medir la similaridad entre los patrones y sea R un número mayor que cero. como: Definimos la vecindad cerrada de radio R con centro en un punto V R { x X / d( x, x R} x X ( x) = ) (36) Para obtener los grupos de la primera etapa, desarrollamos una técnica similar al movimiento de puntos ascendiendo una montaña hasta llegar a su cima, y como herramienta auxiliar para lograrlo, definimos la siguiente función de densidad local. p ( x) d 2 = exp 2 x V R ( x) R ( x, x ) (37) 78

79 Algoritmos de Agrupamiento Según se observa en la fórmula (37), el cociente argumento de la exponencial, es menor o igual a, pues los puntos x están a una distancia del punto x menor o igual que R porque pertenecen a la vecindad de centro en x y radio R. A su vez, como el argumento es negativo, los valores de la exponencial serán menores o iguales a, por tanto, para interpretar la densidad de puntos que existe en la vecindad de x, sumamos tantos valores de la exponencial como cantidad de puntos en la vecindad de x, pero empleando el valor de la distancia de modo tal que mientras más cerca esté el punto x de x, más cerca de será el valor de la exponencial. Así, si x pertenece a una región de alta densidad, el valor de p(x) será alto y cercano al número de puntos que hay en su vecindad, mientras que si x está en una zona de baja densidad, el valor de p(x) será pequeño. Si hiciéramos un gráfico de la función p(x) en cada vecindad sería como una montaña cuya cima se alcanzaría en el punto de la vecindad de mayor densidad (Figura 4). En nuestra estrategia, consideramos inicialmente el conjunto X dividido en N grupos unitarios. Dado un valor especificado R > 0, hallamos para cada punto x de la base de datos su vecindad de radio R y calculamos el valor p(x). Luego, verificamos si en la vecindad de x hay un punto x diferente de él de máxima densidad, en nuestra interpretación, esto significa que x está en una posición más alta de la montaña por lo que movemos el punto x y todos los de su clase hacia la clase de x, o sea, hacia una posición más alta de la montaña (Figura 4). Figura 4. Estrategia basada en densidad local. Inicialmente, cada punto pertenece a un grupo unitario, por lo que los primeros puntos que se reubican se mueven solos, pero a medida que comienzan a migrar, aparecerán clusters no unitarios y por tanto migrarán no sólo los puntos evaluados en ese momento si no también los de su clase, y esta migración se hará 79

80 Capítulo 4 linealmente, o sea, cada punto es visitado una sola vez y cuando le toque su turno, si en su clase ya hay puntos que han migrado, todos se moverán hacia el cluster correspondiente en caso de cumplirse la condición de densidad. Así, todos los puntos van arrastrando como una cola hacia la cima de una montaña mientras sea posible. De esta forma, obtendremos una división en clases de alta densidad. Los puntos que pertenezcan a zonas de baja densidad formarán grupos pequeños y en algunos casos unitarios. Los grupos obtenidos estarán separados por regiones de menor densidad y constituyen los clusters resultantes de la primera etapa de nuestro algoritmo. La primera etapa de nuestro algoritmo puede resumirse en la siguiente forma: Primera Etapa Algoritmo H-Density Entrada: X conjunto de datos R radio de la vecindad de cada punto U umbral de densidad. Inicialmente cada punto de la base de datos se asigna a un grupo unitario. 2. Para cada punto x se calcula su vecindad de radio R. 3. Para cada punto x se estima su densidad según la fórmula (37). 4. Cada punto x y todos los puntos de su clase se asignan al grupo del punto x de la vecindad de x que tenga densidad máxima. 5. Marcar todos los grupos tales que el número de sus elementos no supera el valor U especificado. Devolver los clusters no marcados. Debido a que en la primera etapa se obtienen clusters que no consideraremos directamente en la segunda etapa, hemos dado un nombre auxiliar para no provocar confusiones. Los grupos que tengan más puntos que el umbral prefijado U se llamarán clusters o grupos centrales (core clusters), los otros serán para nosotros clusters ruido (noise clusters). En la segunda fase del algoritmo comenzaremos con los grupos obtenidos en la primera etapa, o sea, los core clusters. Para continuar el proceso, efectuamos una 80

81 Algoritmos de Agrupamiento estrategia jerárquica aglomerativa con esos grupos iniciales, más exactamente un SL e iremos uniendo en cada nivel los dos clusters más semejantes. Con el objetivo de determinar cuáles son los dos clusters más semejantes, definimos una función de disimilaridad que tiene en cuenta la distancia entre puntos y la densidad de los mismos, como explicaremos a continuación. Consideraremos que cada core cluster pertenece a un grupo o cluster unitario, esto es, K i denotará los clusters iniciales de la segunda etapa del algoritmo mientras que C i denotará los core clusters resultado de la primera etapa, e inicialmente, K = { } i C i, i =,, M (M es el número de core clusters obtenidos en la primera etapa). Dados dos core clusters C i y C j definimos la distancia entre ellos por la siguiente fórmula: d { d( x, x ) / x C x C } ( C i, C j ) = min i j i i, j j (38) A su vez, si K i y K j son dos grupos, consideramos la misma distancia anterior viendo ahora a los core clusters como puntos, es decir: d { d ( C, C ) / C K C K } 2 ( K i, K j ) = min i j i i, j j (39) Finalmente, la disimilaridad entre dos clusters será medida teniendo en cuenta tanto la distancia entre ellos como la densidad en la zona de solapamiento de acuerdo a la siguiente expresión: ( d ( K, K )) Pc Pb d ( Ki, K j ) = + 2 i j P c (40) donde estamos utilizando el factor: F = P P c P c b (4) como una medida del solapamiento entre los clusters. Para determinar los valores P c y P b de la ecuación (40), primero buscamos los dos core clusters más cercanos de entre todas las parejas de core clusters, uno de cada grupo, luego, determinamos el punto de máxima densidad en cada uno (x n y x m en la Figura 5) y tomamos como P c la menor de las densidades de esos dos puntos, es decir, min ( p( x ), p( x )) P =. c m n 8

82 Capítulo 4 Figura 5. Medidas de solapamiento entre clusters. Por otro lado, el valor P b representa la densidad del punto medio entre los dos clusters (Figura 5), es decir, el punto medio x b entre los dos puntos x y x más cercanos uno de cada cluster. A los puntos x y x les llamamos puntos borde. Finalmente, la densidad P b la estimamos tomando la densidad del punto borde perteneciente al core cluster del punto x m en la Figura 5, es decir, el borde del subconjunto que contiene el punto de mínima densidad entre los dos puntos de máxima densidad de cada core cluster. También queremos hacer notar que en el caso de clusters muy separados se hace una consideración adicional. Si los clusters están muy separados (la distancia entre ellos mayor que R), el punto x b no tendrá puntos en su vecindad, por lo que su densidad la consideramos nula, resultando en este caso, que el factor con el que evaluamos el solapamiento (fórmula (4)) tomaría el valor, por lo que, cuando la distancia entre los puntos borde del par de clusters es mayor que R hacemos: d K, K ) = + d ( K, K ) (42) ( i j 2 i j Otro comentario acerca del algoritmo está relacionado con los conjuntos ruido que marcamos en la primera etapa. Como hemos dicho antes, desarrollamos la estrategia jerárquica únicamente con los core clusters, por lo que quedarían los puntos de los conjuntos marcados como ruido sin etiquetar, luego, una vez que llegamos al nivel de grupos, agregamos los conjuntos ruido al cluster más cercano. A continuación, mostramos la segunda etapa del algoritmo. 82

83 Algoritmos de Agrupamiento Segunda Etapa Algoritmo H-Density Entrada: S conjunto de core clusters número de clusters final. Inicialmente cada core cluster C i se asigna a un grupo unitario K i. 2. Repetir la estrategia SL hasta que hayan clusters empleando la medida de disimilaridad de las fórmulas (40) o (42). 3. Asignar los conjuntos ruido al cluster más cercano. Devolver los clusters resultantes. 3 Algoritmo DHG (Density-based Hierarchical Gaussian) El algoritmo H-Density tiene como limitación los dos parámetros fundamentales de los que depende, el radio de la vecindad y el umbral de densidad. El radio por ejemplo, es un valor real por lo que es difícil determinar un intervalo que nos garantice el resultado correcto para cada una de las bases de datos, y aunque el umbral de densidad es un valor entero, varía mucho en dependencia de la base de datos. Debido a las limitaciones del algoritmo H-Density antes mencionadas, diseñamos un nuevo algoritmo conservando nuestra estrategia híbrida basada en densidad y jerárquica. Una de las características que mantuvimos, es la relacionada con la obtención de los grupos de la primera etapa a través del movimiento de los puntos por una colina, mediante el empleo de una función de densidad, debido a la efectividad y simplicidad de esta estrategia. Entre los algoritmos que nos dan la posibilidad de modelar una función de densidad está el algoritmo EM (Expectation Maximization). El algoritmo EM construye una función de densidad suave compuesta por varios modos gaussianos que emplea como único parámetro, el número de modos que deben conformar la mixtura. Por tanto, el primer paso del diseño de nuestro algoritmo, consiste en calcular la función de densidad como una mixtura de gausianas: 83

84 Capítulo 4 mod os p( x) = α p ( x / i= i y i Para eliminar el parámetro R, que puede ser más complejo de determinar, en lugar de considerar los vecinos de la vecindad de radio R, tomamos los K vecinos más cercanos y realizamos la misma operación: mover al punto y todos los de su clase hacia la clase del vecino de mayor densidad. De esa forma, conseguimos un agrupamiento inicial. La primera etapa del algoritmo DHG se puede ver en el siguiente recuadro: Primera Etapa Algoritmo DHG ) (43) Entrada: X conjunto de datos modos número de modos K número de vecinos. Inicialmente cada punto de la base de datos se asigna a un grupo unitario 2. Para cada punto x se buscan sus K vecinos más cercanos. 3. Para cada punto x se estima su densidad según la fórmula (43). 4. Cada punto x y todos los puntos de su clase se asignan al grupo de su vecino x de densidad máxima. Salida: Devolver los clusters obtenidos. En la segunda etapa desarrollamos la estrategia jerárquica. Para esto, definimos una función de disimilaridad entre clusters, que nos permite ejecutar el algoritmo SL a partir de los grupos obtenidos en la primera etapa, que tiene en cuenta la distancia entre los grupos, el ruido y la distancia entre los puntos de mayor densidad de cada cluster. En el diseño de la función de disimilaridad, manejamos la misma suposición acerca de los clusters de la segunda etapa: que estarían formados por los clusters de la primera etapa e igualmente, para no caer en confusiones denotaremos por core clusters, a los obtenidos en la primera etapa y clusters a los grupos cuyos elementos son los core clusters. Por tanto, iniciamos la segunda etapa del algoritmo 84

85 Algoritmos de Agrupamiento considerando M clusters unitarios, donde M es la cantidad de core clusters de la primera etapa. Más claramente, para ajustar nuestro modelo de la función de disimilaridad, como antes, se propone que esté formada por varios factores, uno de ellos d de la ecuación (42), que tiene en cuenta la distancia entre los clusters calculada como la distancia entre el par de core clusters más cercanos (uno de cada cluster). El objetivo de conservar el factor (42) es medir cuán cercanos están los dos clusters. Con el factor (42) no se tiene en cuenta la presencia de ruido entre los grupos, lo que crea confusión, debido a que dichos puntos provocan que la distancia entre los clusters sea menor, y en la parte jerárquica, se unirían grupos que en realidad deberían estar separados, ya que hay una zona de baja densidad entre ellos. Para manejar el ruido, utilizamos otra medida de distancia, la distancia entre los puntos de mayor densidad de los dos core clusters más cercanos, como se muestra en la Figura 6 pues, si los core clusters están bien separados es de suponer que la distancia entre sus centros sea grande, de esta manera, manejamos el hecho de que los puntos ruidosos puedan engañarnos al estar situados entre dos core clusters. Es decir, utilizamos el factor: d ˆ( K, K ) = d( x, x ) (44) i j m n donde, x m y x n son los puntos centrales de los modos más cercanos, uno del cluster K i y otro del cluster K j, d es la distancia definida en el espacio de puntos. Figura 6. Distancia entre los puntos de mayor densidad. Como en el algoritmo H-Density, necesitamos un factor para medir la densidad entre los dos core clusters más cercanos, por la misma razón, porque puede haber una zona de baja densidad entre los clusters que no es detectada por las distancias antes mencionadas. Con el objetivo de medir la densidad entre los clusters, tomamos los dos puntos borde de los dos clusters que se comparan. Para el punto borde del cluster K i (K j ), contamos cuántos de sus K vecinos pertenecen al cluster K j (K i ), y tomamos el número N e como el mínimo entre los dos valores anteriores. Además, sumamos el 85

86 Capítulo 4 valor para evitar que el denominador se anule y tengamos una indeterminación, lo cual puede suceder cuando los clusters están muy separados. O sea, en lugar del factor (4) que empleamos en el algoritmo H-Density para medir la densidad entre los clusters, tomamos el factor: (45) F = + N e Al dividir por + N e estamos contrayendo las distancias de tal modo que mientras más vecinos tengan los puntos borde en la otra clase, menor será el resultado final de la disimilaridad entre clusters. Consideramos que este factor puede expresar la densidad entre grupos, ya que, si los clusters están muy solapados es de esperar que el punto del borde de un cluster tenga muchos vecinos en el otro cluster, mientras que si los clusters están separados, tendrán pocos o ningún vecino en la otra clase, luego N e sería pequeño o cero y el valor /(+N e ) sería o cercano al valor, por lo que la disimilaridad dependería prácticamente sólo de las distancias (42) y (44). Otra cuestión que se ha tenido en cuenta relacionado con este factor, es que si por ejemplo, entre dos grupos hay un punto ruido que a su vez es borde de un cluster con relación a otro, y que está muy cerca del otro cluster, tendría consecuentemente muchos vecinos en la otra clase, pero en este caso, el punto borde de esa otra clase, tendría pocos vecinos en la clase contraria, motivo por el cual tomamos el mínimo de los dos valores como N e para estimar la densidad existente entre los clusters. En resumen, la nueva función de disimilaridad se define como: d ( K i, K j ) = dˆ( K i, K j ) ( + d 2 ( K i, K j )) + N La segunda etapa del algoritmo DHG será: e (46) 86

87 Algoritmos de Agrupamiento Segunda Etapa Algoritmo DHG Entrada: S conjunto de core clusters número de clusters final. Inicialmente cada core cluster se asigna a un grupo unitario. 2. Repetir la estrategia SL hasta que hayan clusters empleando la medida de disimilaridad de la fórmula (46). Devolver los clusters resultantes. 4 Resultados Experimentales En esta sección mostraremos el estudio comparativo que realizamos con algunos de los algoritmos de agrupamiento existentes en la literatura consultada para evaluar nuestras estrategias, éstos son: -Means (clásico), CURE, DBSCAN, EM y el algoritmo basado en caminos de Fischer y Buhmann. 4. Bases de datos Con el objetivo de mostrar los resultados de los dos algoritmos y hacer un análisis comparativo con otros métodos, utilizamos tres conjuntos de datos. El primero de ellos, constituido por tres bases de datos sintéticas de modos gausianos, con diferentes grados de solapamiento entre sí. El segundo grupo, está formado por bases de datos sintéticas cuyos clusters tienen formas y tamaños diferentes, y en el tercer grupo, hemos considerado bases de datos reales. En la Tabla 2 se resumen las características más importantes de cada una de las bases de datos consideradas: número de clases, número de rasgos y número de objetos. 87

88 Capítulo 4 Nombre No. clases No. rasgos No. objetos G G G6-II DS DS AC SA House Cancer Iris Diabetes Liver Phoneme Satimage Tabla 2. Breve sumario de las bases de datos. A continuación mostramos con más detalles cada una de las bases de datos. Bases de datos sintéticas En la Figura 7 se muestran las bases de datos sintéticas del primer grupo. La base de datos G4 (Figura 7a) está constituida por 4 modos gausianos poco solapados. La base de datos G6 (Figura 7b) consta de seis modos gausianos, dos de ellos bien separados del resto y entre sí, mientras que los otros cuatro están altamente solapados. La tercera de las bases de datos G6-II (Figura 7c), también está formada por seis modos gausianos con cierto grado de solapamiento entre ellos, pero dos están completamente solapados con la misma media y diferentes matrices de covarianzas. 88

89 Algoritmos de Agrupamiento Figura 7. Bases de datos gausianas: a) G4, b) G6, c) G6-II. El segundo conjunto de datos se aprecia en las Figuras 8 y 9. Los clusters tienen formas diversas y diferentes tamaños. En la Figura 8, la base de datos 3AC, tiene 3 anillos concéntricos, mientras que la base de datos 2SA, está formada por dos semianillos, ambas con muy pocos puntos como se observa en la Tabla 2. En el caso de la Figura 9 aparecen las bases de datos DS y DS2 tomadas de [Karypis, 999], cuyos grupos tienen diferentes formas y tamaños y con puntos ruidosos. El objetivo de utilizar estas dos bases de datos es obtener las seis y nueve figuras relevantes en DS y DS2 respectivamente. Figura 8. Bases de datos: a) 3AC, b) 2SA 89

90 Capítulo 4 Figura 9. Bases de datos: a) DS, b) DS2 Bases de datos reales En el tercer grupo consideramos las bases de datos reales: House, Iris, Cancer, Diabetes, Liver, Phoneme y Satimage. La base de datos House consiste en los valores cromáticos de la representación Lab de la imagen House de 256 x 256 pixels (Figura 0a). Para realizar los experimentos tomamos solo la representación en el espacio ab de la que obtuvimos los puntos que se muestran en la Figura 0b. Figura 0. Base de datos House: a) Imagen original, b) Representación en el espacio ab Las restantes bases de datos reales fueron tomadas del repositorio UCI Machine Learning Database Repository [Merz, 996]. En el Anexo A hacemos un resumen de las características de estas bases de datos. 4.2 Análisis comparativo de las diferentes estrategias sobre las bases de datos sintéticas En este epígrafe mostramos los resultados experimentales sobre las diferentes bases de datos sintéticas y los comentarios necesarios, describiremos los resultados con cada método de agrupamiento de manera independiente. 90

91 Algoritmos de Agrupamiento Algoritmo DBSCAN Debido a las características de este algoritmo de ir enlazando las vecindades más pobladas de los puntos, cuando las bases de datos tienen grupos muy solapados, es incapaz de detectarlos, lo que ocurre por ejemplo, en el caso de la base de datos G6, sobre la que no puede obtener los seis modos, pero obtiene los tres grupos separados con cierta cantidad de puntos ruido en dependencia del valor del radio (los cuadraditos representan los puntos ruidosos). Figura. Resultados del algoritmo DBSCAN sobre la base de datos G6: a) División en tres clusters, b) Incremento de los puntos ruido, c) Asignación de los puntos ruido al cluster más cercano. En la Figura a mostramos uno de los resultados de DBSCAN, se pueden ver los puntos ruido alrededor de estos clusters. En la Figura b mostramos el resultado luego de haber disminuido el radio de la vecindad, lo que trajo como consecuencia no la aparición de más clusters sino un aumento de los puntos ruido, debido a que a medida que el radio disminuye, algunos puntos borde se convierten en puntos ruido. Sin embargo, se puede manejar el ruido agregando dichos puntos al cluster más cercano y de ese modo se obtiene el resultado de la Figura c que es el correcto cuando dividimos en tres clases. Empleando la misma estrategia para manejar el ruido, en el caso de la base de datos G4, descubre los 4 grupos grandes correspondientes con los modos gausianos y dos grupos muy pequeños (Figura 2a) mientras que con G6-II no puede separar los clusters muy solapados (Figura 2b). 9

92 Capítulo 4 Figura 2. Resultados del algoritmo DBSCAN: a) Base de datos G4, b) Base de datos G6-II Los resultados sobre las bases de datos DS y DS2 se comentan en [Karypis, 999], para éstas, el algoritmo es capaz de descubrir las figuras destacadas (6 en DS y 9 en DS2), además de otros grupos pequeños. Todos los puntos de las bases de datos 2SA y 3AC fueron correctamente etiquetados con este algoritmo, lo que demuestra que el algoritmo DBSCAN es capaz de descubrir clusters de formas arbitrarias. Como se observa, en estas bases de datos no hay puntos ruido y la separabilidad entre las clases es clara por lo que cuando se aplica DBSCAN, fácilmente enlaza los puntos de un mismo cluster porque pertenecen a una misma zona de alta densidad. Algoritmo CURE Este algoritmo obtiene mejores resultados que el anterior con las bases de datos gausianas, descubre los 4 modos de G4 y 5 grupos en la base G6-II, pues no puede separar los dos modos concéntricos. En el caso de la base de datos G6, no detecta los 6 modos, debido al solapamiento entre cuatro de ellos. Cuando dividimos en tres clases obtiene los tres clusters bien separados. En la Figura 3 se puede ver el resultado del algoritmo CURE sobre estas bases de datos, nótese que este algoritmo maneja bien el ruido. 92

93 Algoritmos de Agrupamiento Figura 3. Resultados del algoritmo CURE: a) Base de datos G4, b) Base de datos G6-II, c) Base de datos G6. En el caso de las bases de datos DS y DS2, CURE no puede descubrir los clusters verdaderos por tener variadas formas y ruido. Aunque en su estrategia trata de manejar el ruido, como éste se encuentra también entre las clases, al tratar de atraerlos hacia el centro del cluster posiblemente deforma las figuras. Además, con la estrategia de puntos representativos es difícil captar las formas tan variadas que se muestran en la Figura 9. Las bases de datos 3AC y 2SA son etiquetadas correctamente por el algoritmo CURE, a causa de la separación que hay entre las clases, que es detectada por los representantes de clase y por la estrategia que emplea para manejar el ruido. Algoritmo EM Este algoritmo por sus características obtiene muy buenos resultados cuando las bases de datos están formadas por modos gausianos, o sea, sobre las bases G4, G6 y G6-II, donde obtiene los clusters correctos incluso cuando hay solapamiento, como es el caso de G6 que detecta los seis modos, y de G6-II pues descubre los 6 modos incluidos los dos concéntricos. 93

94 Capítulo 4 Figura 4. Resultados del algoritmo EM: a) DS, b) DS2. Nótese en la Figura 4 cómo en el caso de las bases de datos DS y DS2, el algoritmo EM va colocando modos gausianos que cubren los puntos sin descubrir las figuras. Sobre el resto de las bases de datos sintéticas no puede determinar la división adecuada, y se comporta de manera similar que para las bases DS y DS2. Algoritmo -Means Nosotros aplicamos en nuestros experimentos el algoritmo -Means clásico, cuya inicialización es aleatoria. Descubre los verdaderos clusters sobre la base de datos G4 pero no así cuando lo aplicamos sobre G6 y G6-II. En el caso de la base de datos G6 determina los tres grupos no solapados. Respecto a las restantes bases de datos, no puede encontrar las figuras de diferentes formas en DS y DS2, ni los 3 anillos concéntricos, ni los dos semianillos en las bases de datos 3AC y 2SA, respectivamente, porque este algoritmo basa su estrategia en centroides y varianza dentro de los grupos por lo que su tendencia es de formar clusters globulares. En las Figuras 5 y 6 mostramos el resultado de -Means sobre estas bases de datos. Figura 5. Resultados del algoritmo -Means: a) DS, b) DS2. 94

95 Algoritmos de Agrupamiento Figura 6. Resultados del algoritmo -Means: a) 3AC, b) 2SA. Obsérvese que en todos los casos -Means establece las fronteras de las clases de acuerdo al centroide, independientemente de que haya separación entre las clases como es el ejemplo de las bases de datos 3AC y 2SA (Figura 6). Algoritmo Path Based Clustering de Fischer y Buhmann (FB) Este algoritmo debido a la estrategia que emplea de unir clusters de objetos enlazados por un camino cuya disimilaridad efectiva es baja, tiene buenos resultados al trabajar sobre bases de datos como 3AC y 2SA como se muestra en la Figura 7. Figura 7. Resultados del algoritmo FB: a) 3AC, b) 2SA. También descubre los modos de las bases de datos G4, y DS, aunque en el caso de G4 existe un puente entre objetos del borde de los dos clusters en rojo y en verde debido al solapamiento. 95

96 Capítulo 4 Figura 8. Resultados del algoritmo FB: a) G4, b) DS. El resultado sobre las bases de datos DS2, G6 y G6-II, respectivamente, está determinado por el ruido que perjudica la verdadera división, Observe, por ejemplo, en la Figura 9, como se unen las dos barras en marrón en DS2 debido a que hay una cadena de puntos que las enlazan y que están a poca distancia. Sin embargo, aparece un cluster en amarillo claro de puntos más dispersos cuyas disimilaridades efectivas deben ser mayores que las de los puntos de las dos barras en marrón. Figura 9. Resultado del algoritmo FB: DS2. Algoritmo H-Density Para realizar los experimentos, tomamos la distancia euclídea como distancia entre los puntos. Con nuestra estrategia los grupos presentes en todas las bases de datos sintéticas y House son descubiertos por la capacidad que tiene de encontrar zonas de baja densidad entre los clusters aún en el caso de clases muy solapadas pues, de todas formas, la densidad en el centro del cluster es superior a la densidad en las fronteras, lo que influye en el valor del factor de solapamiento que se tiene en cuenta en la medida de disimilaridad escogida. En cuanto a la base de datos G6-II el algoritmo descubre 5 clases debido a la estrategia que emplea de mover los puntos hacia la cima de una montaña, en el caso de los dos modos concéntricos, el punto de mayor densidad de ambos grupos es el mismo por lo que no puede separar esos dos clusters. 96

97 Algoritmos de Agrupamiento Algoritmo DHG Con el objetivo de evaluar este algoritmo, empleamos las mismas bases de datos mencionadas antes. Sobre las bases de datos G4, G6 y G6-II (Figura 7) se obtuvo el resultado adecuado en el primer nivel de la jerarquía para todos los valores de modos y de K empleados. Es decir, en la primera etapa de clasificación, sin importar el valor de los parámetros, el agrupamiento fue correcto. En el caso de G6-II, el primer nivel comienza con los 5 modos como en la Figura 3b, pues esta estrategia de mover los puntos hacia la cima de la montaña no puede diferenciar los dos modos concéntricos ya que esos dos modos tienen el mismo punto de máxima densidad. Ejecutamos nuestro algoritmo con valores de K desde 5 hasta 35 y el número de modos entre 4 y 5 para G4, entre 6 y 5 para G6 y entre 5 y 5 para G6-II. Con el objetivo de asegurarnos que con las bases de datos compuestas por modos gausianos el algoritmo consigue esos resultados independientemente de si los clusters son globulares o elipsoidales, agregamos dos bases de datos más con cierto grado de solapamiento: G3 formada por tres grupos gausianos, dos de ellos elipsoidales (Figura 20a) y G4-II formada por 4 grupos gausianos dos de ellos elipsoidales (Figura 20b) y el resultado fue el mismo, luego de haber ejecutado el algoritmo con el mismo rango de valores para K que las anteriores y en el caso del número de modos valoramos para G3 desde 3 hasta 5 y para G4-II entre 4 y 5. Figura 20. Bases de datos: a) G3, b) G4-II. A su vez, sobre las bases de datos 3AC y 2SA (Figura 8), a pesar de que utilizamos la mixtura gausiana que según explicamos en el estudio comparativo que hicimos antes, el algoritmo EM no puede descubrir los 3 anillos ni los dos semianillos que forman estas bases de datos, respectivamente, podemos concluir que nuestra estrategia corrige las limitaciones del EM determinando los clusters correctos, debido a que entre los anillos y semianillos hay una zona de baja densidad que es detectada, logrando la separación de los clusters adecuadamente. Estas dos bases de datos tienen como característica fundamental que están formadas por muy pocos puntos, por lo que no podemos tomar un número de vecinos muy alto ya que 97

98 Capítulo 4 ocurriría una gran confusión, debido a que cada punto tendría muchos vecinos en otra clase y como resultado se obtendría un solo grupo. Según los experimentos realizados obtuvimos resultados correctos para valores de K desde 5 hasta 27 y modos desde 3 hasta 5 y desde 2 hasta 5 para 3AC y 2SA, respectivamente. Agregamos otra base de datos a nuestro estudio formada también por tres anillos concéntricos (3AC-II) pero con más de 6000 puntos (Figura 2), para valorar lo relacionado con el número de vecinos a tomar en bases de datos pequeñas, y los resultados fueron correctos para todos los valores de modos entre 3 y 5 y de K entre 5 y 35, en el nivel de tres clases obtuvimos los tres anillos que se muestran en la Figura 2. Figura 2. Resultado del algoritmo DHG sobre la base de datos 3AC-II. La característica fundamental de las bases de datos DS y DS2 (Figura 9), es que las figuras que se destacan están acompañadas de mucho ruido, lo que dificulta la evolución de la mayoría de los algoritmos, como nuestra estrategia trata de manejar el ruido y de detectar las zonas de baja densidad entre los grupos, obtuvimos las figuras relevantes para varios rangos de los parámetros. En el caso de DS probamos con valores de modos desde 20 hasta 50, y K entre 5 y 35. En el rango considerado para modos con varios valores de K conseguimos el agrupamiento correcto, entre los que se destacan 27, 28, 34 y 35. La base de datos DS2 es más compleja, la cantidad de ruido es superior en gran medida pero obtuvimos las 9 figuras con modos = 50 y K = 35, además de otros resultados en niveles de más de 9 clases en los que aparecen las 9 figuras acompañadas por otros grupos pequeños. A continuación presentamos los resultados obtenidos con cada una de las estrategias de agrupamiento sobre las bases de datos reales. 98

99 Algoritmos de Agrupamiento 4.3 Análisis comparativo de las diferentes estrategias sobre las bases de datos reales Para realizar los experimentos con la base de datos House, tomamos solo la representación en el espacio ab de la que obtuvimos los puntos que se muestran en la Figura 0b, sobre ellos aplicamos los diferentes algoritmos y luego al volver al espacio Lab con las etiquetas obtenidas con el agrupamiento, comprobamos si se obtiene el etiquetado correcto o no. A igual que en el caso de las bases de datos sintéticas, mostramos los resultados de cada una de las estrategias sobre la base de datos House de manera independiente. Para calcular el porcentaje de error de los algoritmos de agrupamiento para las restantes bases de datos reales, empleamos uno de los métodos descritos en [Meila, 200] con el fin de comparar dos agrupamientos, tomando el resultado del algoritmo de agrupamiento por un lado y los objetos correctamente etiquetados por otro. En el caso de la regla K-NN utilizamos el método Holdout. El algoritmo DBSCAN no reconoce los 5 grupos de la base de datos House, sólo puede detectar un cluster debido al solapamiento tan grande que existe y a medida que vamos disminuyendo el radio lo que conseguimos es aumentar los puntos ruido y resulta imposible obtener más clusters. Figura 22. Resultados del algoritmo CURE sobre la base de datos House: a) 5 clusters, b) Trece clusters. Cuando ejecutamos el algoritmo CURE sobre la base de datos House para cinco clases, no obtenemos los clusters que deseamos, sino que los puntos de la zona de gran solapamiento forman 3 grupos (Figura 22a) y los restantes 2 grupos se obtienen en las zonas de puntos más alejados. Por otro lado, si hacemos la división en 3 clases obtenemos una aproximación a los clusters deseados como se muestra en la Figura 22b. El algoritmo EM sobre House no puede determinar la división adecuada, comportándose de manera similar que para las bases DS y DS2. 99

100 Capítulo 4 El algoritmo -Means basa su estrategia en centroides y varianza dentro de los grupos por lo que su tendencia es de formar clusters globulares, a su vez, House tiene clusters muy solapados por lo que se obtiene el resultado que se muestra en la Figura 23. Figura 23. Resultado del algoritmo -Means sobre la base de datos House: a).imagen original, b) Imagen obtenida después del etiquetado, c) División en 5 clases en el espacio ab. En la Figura 24, se observa el resultado del algoritmo FB sobre la base de datos House, en el nivel de 5 clases (Figura 24a), debido al solapamiento existente y a los puntos dispersos, se obtiene un cluster grande formado por 4 de los clusters, por lo que no puede descubrir los 5 clusters verdaderos. Extendimos el análisis a los niveles de 6 y 7 clases para hacer notar que dicha estrategia no se puede emplear en casos de mucho solapamiento y ruido. Figura 24. Resultados del algoritmo FB sobre la base de datos House: a) 5 clases, b) 6 clases, c) 7 clases. En el caso del algoritmo H-Density, obtuvimos los 5 clusters correspondientes a 5 colores en la imagen, en la Figura 25 mostramos los resultados obtenidos. Se puede ver en la figura del medio que el resultado de la clasificación luego de representar los puntos etiquetados en el espacio Lab es bastante cercano a la imagen original (Figura 25a). 00

101 Algoritmos de Agrupamiento Figura 25. Resultado del algoritmo H- Density sobre la base de datos House: a) Imagen original, b) Imagen obtenida luego del etiquetado, c) División en 5 clases en el espacio ab. La base de datos real House, consta de puntos con un nivel de solapamiento muy alto como se aprecia en la Figura 0b, motivo por el cual es difícil separar los puntos en clases. Con el empleo de nuestro segundo método, alcanzamos una división en 5 clases como se muestra en la Figura 26, muy similar a la que obtuvimos con el algoritmo H-Density. Los valores de modos variaron entre 5 y 5 y los de K entre 5 y 35 y obtuvimos el resultado que se muestra para valores de modos iguales a 5 y 6 y K desde 5 hasta 35. Figura 26. Resultado del algoritmo DHG sobre la base de datos House: a) Imagen original, b) Imagen obtenida luego del etiquetado, c) División en 5 clases en el espacio ab. En la Tabla 3 mostramos el porcentaje de puntos correctamente etiquetados para cada una de las restantes bases de datos reales según los métodos de agrupamiento antes mencionados; además, incluimos el porcentaje que se obtiene con la regla de clasificación K-NN para comparar nuestro método también con esa regla de clasificación supervisada. 0

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

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

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

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

EL ANÁLISIS DE CONGLOMERADOS EN LOS ESTUDIOS DE MERCADO

EL ANÁLISIS DE CONGLOMERADOS EN LOS ESTUDIOS DE MERCADO EL ANÁLISIS DE CONGLOMERADOS EN LOS ESTUDIOS DE MERCADO I. INTRODUCCIÓN Beatriz Meneses A. de Sesma * En los estudios de mercado intervienen muchas variables que son importantes para el cliente, sin embargo,

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

Covarianza y coeficiente de correlación

Covarianza y coeficiente de correlación Covarianza y coeficiente de correlación Cuando analizábamos las variables unidimensionales considerábamos, entre otras medidas importantes, la media y la varianza. Ahora hemos visto que estas medidas también

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

Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI

Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI La segunda fase del NIPE corresponde con la adecuación de las intervenciones de enfermería del sistema de clasificación N.I.C. (Nursing Intervention

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

Diseño de un estudio de investigación de mercados

Diseño de un estudio de investigación de mercados Diseño de un estudio de investigación de mercados En cualquier diseño de un proyecto de investigación de mercados, es necesario especificar varios elementos como las fuentes a utilizar, la metodología,

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

MUESTREO TIPOS DE MUESTREO

MUESTREO TIPOS DE MUESTREO MUESTREO En ocasiones en que no es posible o conveniente realizar un censo (analizar a todos los elementos de una población), se selecciona una muestra, entendiendo por tal una parte representativa de

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

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

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

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10 ENCUESTA DE OPINIÓN DEL ALUMNADO SOBRE LA ACTUACIÓN DOCENTE DEL PROFESORADO UNIVERSIDAD DE SEVILLA Curso 2009-2010 ENCUESTA TELEFÓNICA Contenidos Introducción.... 4 El Cuestionario... 5 El muestreo...

Más detalles

Capítulo 10. Estudio de un caso con parámetros reales: acuífero de Borden

Capítulo 10. Estudio de un caso con parámetros reales: acuífero de Borden Capítulo 10. Estudio de un caso con parámetros reales: acuífero de Borden Tras la realización de muchos casos sintéticos y un estudio detallado de todos los parámetros que intervienen en el problema y

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

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

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS. Autor: Daniel Hernández Cárceles

MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS. Autor: Daniel Hernández Cárceles MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS Autor: Daniel Hernández Cárceles INDICE: 1. INTRODUCCIÓN.... 2 2. COMPETENCIAS BÁSICAS... 2 3. PASOS PARA ELABORAR UNA

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

ANALISIS MULTIVARIANTE

ANALISIS MULTIVARIANTE ANALISIS MULTIVARIANTE Es un conjunto de técnicas que se utilizan cuando se trabaja sobre colecciones de datos en las cuáles hay muchas variables implicadas. Los principales problemas, en este contexto,

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

CAPITULO III A. GENERALIDADES

CAPITULO III A. GENERALIDADES CAPITULO III INVESTIGACION DE CAMPO SOBRE EL DISEÑO DE UN SISTEMA AUTOMATIZADO DE CONTROL INVENTARIO Y EXPEDIENTES DE MENORES DE EDAD PARA EL CENTRO DE DESARROLLO INTEGRAL LA TIENDONA EN LA ZONA METROPOLITANA

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Elaboración de Mapas Conceptuales

Elaboración de Mapas Conceptuales UNIVERSIDAD PEDAGOGICA LIBERTADOR INSTITUTO PEDAGÓGICO DE CARACAS. DEPARTAMENTO DE PEDAGOGIA. SOCIOLOGIA DE LA EDUCACIÓN (PHB-104) Prof. Robert Rodríguez Raga PAGINA WEB http://sociologiaeducacion.tripod.com

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

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

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

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

Metodología de construcción de Indicadores MODELO 3

Metodología de construcción de Indicadores MODELO 3 MODELO 3 El Departamento Administrativo de la Función Pública, elaboró el documento Guía para el Diseño de un Sistema de Evaluación y Control de gestión. El contiene las instrucciones para el diligenciamiento

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

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

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

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

CONCAPA-BARÓMETRO: EDUCACIÓN Y FAMILIA 1. Estudio de ASTURBARÓMETRO

CONCAPA-BARÓMETRO: EDUCACIÓN Y FAMILIA 1. Estudio de ASTURBARÓMETRO CONCAPA-BARÓMETRO: EDUCACIÓN Y FAMILIA 1. Estudio de ASTURBARÓMETRO Noviembre 2013 CARTA DEL PRESIDENTE DE CONCAPA: Madrid, Noviembre de 2013 Como Presidente de CONCAPA (Confederación Católica de Padres

Más detalles

Cómo sistematizar una experiencia?

Cómo sistematizar una experiencia? Cómo sistematizar una experiencia? Una sistematización puede llevarse a cabo de múltiples formas, y además puede ser llevada a cabo por cualquier persona sin necesidad de ser especialista en la materia.

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

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

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

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

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

Base de datos II Facultad de Ingeniería. Escuela de computación.

Base de datos II Facultad de Ingeniería. Escuela de computación. Base de datos II Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos II en el desarrollo de sus prácticas de laboratorios,

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

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

ESTIMACIÓN. puntual y por intervalo

ESTIMACIÓN. puntual y por intervalo ESTIMACIÓN puntual y por intervalo ( ) Podemos conocer el comportamiento del ser humano? Podemos usar la información contenida en la muestra para tratar de adivinar algún aspecto de la población bajo estudio

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

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

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net 2012 Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net Servinet Sistemas y Comunicación S.L. www.softwaregestionproyectos.com Última Revisión: Febrero

Más detalles

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com

hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com Un repaso a las estadísticas de lectura tanto de la página web como de la revista digital, para ver si alguien se acuerda de nosotros. Ya podemos

Más detalles

Versión final 8 de junio de 2009

Versión final 8 de junio de 2009 GRUPO DE EXPERTOS «PLATAFORMA PARA LA CONSERVACIÓN DE DATOS ELECTRÓNICOS PARA CON FINES DE INVESTIGACIÓN, DETECCIÓN Y ENJUICIAMIENTO DE DELITOS GRAVES» ESTABLECIDO POR LA DECISIÓN 2008/324/CE DE LA COMISIÓN

Más detalles

GESTIÓN DE LA CALIDAD

GESTIÓN DE LA CALIDAD Página: 1 de 5 DEFINICIÓN GESTIÓN DE LA CALIDAD Actividades coordinadas para dirigir y controlar una organización en lo relativo a la calidad, incluye el establecimiento de la política, los objetivos,

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

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

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

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

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

Mesa de Ayuda Interna

Mesa de Ayuda Interna Mesa de Ayuda Interna Documento de Construcción Mesa de Ayuda Interna 1 Tabla de Contenido Proceso De Mesa De Ayuda Interna... 2 Diagrama Del Proceso... 3 Modelo De Datos... 4 Entidades Del Sistema...

Más detalles

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,

Más detalles

Universidad de Sonora

Universidad de Sonora Universidad de Sonora Escuela de Contabilidad y Administración Trabajo de Investigación Venta de calzado por catálogo Materia: Estadística I Prof. Dr. Francisco Javier Tapia Moreno Nombre del Equipo: Alumno

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

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

EL PROCESO DE BENCHMARKING

EL PROCESO DE BENCHMARKING EL PROCESO DE BENCHMARKING Michael J. Spendolini El benchmarking es un proceso sistemático y continuo para evaluar los productos, servicios y procesos de trabajo de las organizaciones que son reconocidas

Más detalles

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores Martha Alicia Alles Es contadora pública nacional, doctora por la Universidad de Buenos Aires en la especialidad

Más detalles

Análisis Estadístico de Datos Climáticos

Análisis Estadístico de Datos Climáticos Análisis Estadístico de Datos Climáticos Análisis de agrupamiento (o clusters) (Wilks, Cap. 14) Facultad de Ciencias Facultad de Ingeniería 2013 Objetivo Idear una clasificación o esquema de agrupación

Más detalles

Operaciones Morfológicas en Imágenes Binarias

Operaciones Morfológicas en Imágenes Binarias Operaciones Morfológicas en Imágenes Binarias Introducción La morfología matemática es una herramienta muy utilizada en el procesamiento de i- mágenes. Las operaciones morfológicas pueden simplificar los

Más detalles

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1 . ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio

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

ORIENTACIONES PARA LA PRUEBA DE APTITUD PARA EL ACCESO A LA UNIVERSIDAD

ORIENTACIONES PARA LA PRUEBA DE APTITUD PARA EL ACCESO A LA UNIVERSIDAD ORIENTACIONES PARA LA PRUEBA DE APTITUD PARA EL ACCESO A LA UNIVERSIDAD MODALIDAD CIENTÍFICO-TÉCNICO 1. NOMBRE DE LA MATERIA: Matemáticas II 2. NOMBRE DEL COORDINADOR: Miguel Delgado Pineda (mdelgado@mat.uned.es,

Más detalles

Universidad de Tarapacá Investigación de Mercados Internacionales

Universidad de Tarapacá Investigación de Mercados Internacionales Universidad de Tarapacá Investigación de Mercados Internacionales Capítulo II: El proceso de la Investigación de Mercados Internacionales. Tema 2: El Diseño de la Investigación de Mercados Internacionales

Más detalles

Recuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012

Recuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012 Bases de Datos Documentales Curso 2011/2012 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña Introducción Hemos dedicado la primera mitad del curso a diseñar e implementar

Más detalles

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales Matemáticas 2º BTO Aplicadas a las Ciencias Sociales CONVOCATORIA EXTRAORDINARIA DE JUNIO 2014 MÍNIMOS: No son contenidos mínimos los señalados como de ampliación. I. PROBABILIDAD Y ESTADÍSTICA UNIDAD

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

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

Más detalles

MODELOS DE RECUPERACION

MODELOS DE RECUPERACION RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN

Más detalles

4 Análisis de los principales factores AsociAdos A los resultados en ciencias

4 Análisis de los principales factores AsociAdos A los resultados en ciencias cuada en relación con las posibles futuras profesiones de los estudiantes vinculadas a las ciencias. En segundo lugar, los alumnos opinan que las dificultades en el aprendizaje del nuevo conocimiento científico

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

CAPÍTULO IV METODOLOGÍA PARA EL CONTROL DE INVENTARIOS. En este capítulo se presenta los pasos que se siguieron para la elaboración de un sistema de

CAPÍTULO IV METODOLOGÍA PARA EL CONTROL DE INVENTARIOS. En este capítulo se presenta los pasos que se siguieron para la elaboración de un sistema de CAPÍTULO IV METODOLOGÍA PARA EL CONTROL DE INVENTARIOS En este capítulo se presenta los pasos que se siguieron para la elaboración de un sistema de inventarios para lograr un control de los productos.

Más detalles

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES Raúl Palma G. y Guillermo Bustos R. Escuela de Ingeniería Industrial Universidad Católica de Valparaíso Casilla

Más detalles

COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO

COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO Sonia Aguilera Piqueras y Pablo Flores Martínez Departamento de Didáctica de la Matemática Universidad de Granada 1. Introducción

Más detalles

ÍNDICE 1. INTRODUCCIÓN... 4 2. PARTICIPANTES... 5. 2.1. Participantes por sector... 5. 2.2. Participantes por edad... 6

ÍNDICE 1. INTRODUCCIÓN... 4 2. PARTICIPANTES... 5. 2.1. Participantes por sector... 5. 2.2. Participantes por edad... 6 INFORME DE RESULTADOS DEL ESTUDIO DE SATISFACCIÓN DE USUARIOS UNIVERSIDAD DE ALMERÍA 2012 SERVICIO DE PLANIFICACIÓN, EVALUACIÓN Y CALIDAD CALIDAD DE LOS SERVICIOS ENERO 2013 ÍNDICE 1. INTRODUCCIÓN...

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

Traducción del. Our ref:

Traducción del. Our ref: Traducción del Documento: Our ref: Secretaría del ISO/TC 176/SC 2 Fecha: 15 de octubre de 2008 A los Miembros del ISO/TC 176/SC 2 - Gestión de la Calidad y Aseguramiento de la Calidad/ Sistemas de la Calidad

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

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

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

Estructuras de Datos y Algoritmos. Árboles de Expresión

Estructuras de Datos y Algoritmos. Árboles de Expresión Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.

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

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE MARZO 2007 Este documento contesta las preguntas más frecuentes que se plantean las organizaciones que quieren

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

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

Tema 2: Modelo Entidad-Relación(ER)

Tema 2: Modelo Entidad-Relación(ER) ÒÓ Ô ºÙÒ ÓÚ º Tema 2: Modelo Entidad-Relación(ER) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática 1 Contenido 1. Introducción al modelo de datos ER 2. Conjuntos de entidades y

Más detalles