• No se han encontrado resultados

Agrupamiento en grandes conjuntos de datos mezclados

N/A
N/A
Protected

Academic year: 2020

Share "Agrupamiento en grandes conjuntos de datos mezclados"

Copied!
125
0
0

Texto completo

(1)

©INAOE 2013 Derechos Reservados

El autor otorga al INAOE el permiso de reproducir y distribuir copias de esta tesis en su totalidad o en partes mencionando la fuente.

Agrupamiento en grandes

conjuntos de datos mezclados

por

Ricardo Merlo Galeazzi

Tesis sometida como requisito parcial para obtener el grado de

Maestro en Ciencias en la especialidad de

Ciencias Computacionales

en el

Instituto Nacional de Astrofísica, Óptica y

Electrónica

Supervisada por

Dr. Jesús Ariel Carrasco Ochoa

Dr. José Francisco Martínez Trinidad

Sta. Ma. Tonantzintla, Puebla

(2)
(3)

Resumen

En clasificación no supervisada (agrupamiento) se parte de un conjunto de datos no etiquetados para realizar la clasificación de los mismos. Existe una gran variedad de algoritmos para abordar el problema de clasificación no supervisada. Sin embargo, hoy en día el uso de diferentes dispositivos permite recabar fácilmente grandes canti-dades de información, lo que origina que muchos de los algoritmos de agrupamiento no puedan ser aplicados a grandes conjuntos de datos. Además, existen muchos pro-blemas en los cuales los objetos de estudio están descritos por variables numéricas y no numéricas (objetos mezclados), en donde para agrupar conjuntos datos mezclados es necesario aplicar un tratamiento especial de acuerdo al tipo de datos. Dar solución a estos problemas es la motivación para la búsqueda de un método de agrupamiento en grandes conjuntos de datos mezclados.

En la literatura podemos encontrar buenos algoritmos de agrupamiento para datos mezclados que generan agrupamientos con formas convexas. Por ejemplo, el algo-ritmo de agrupamiento Fast Global k-Means permite construir agrupamientos con buena calidad en un tiempo razonable. Sin embargo, estos algoritmos resultan inapli-cables en grandes conjuntos de datos. Por esta razón, en esta tesis hemos propuesto un método de agrupamiento para grandes conjuntos de datos mezclados basado en

(4)

II RESUMEN

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA una estrategia divide y vencerás, teniendo como base al algoritmo Fast Global k-Means.

El método propuesto es evaluado y comparado contra otros métodos de agrupamiento para grandes conjuntos de datos numéricos, reportados recientemente. El método pro-puesto ha mostrado obtener buenos resultados en términos de la calidad de los agru-pamientos construidos y del tiempo para construirlos, teniendo poca sensibilidad al orden del conjunto de datos a agrupar. También, se muestra la escalabilidad del mé-todo propuesto al agrupar grandes conjuntos de datos mezclados.

(5)

Abstract

Unsupervised classification (clustering) consists in classifying a set of unlabeled data. A wide variety of clustering algorithms have been proposed to address the unsu-pervised classification problem. However, nowadays large amounts of information has been easily collected from different devices, this causes that many clustering algo-rithms cannot be applied on large datasets. In addition, there are many problems where the objects under study are described by numerical and non-numerical features (mixed data) therefore clustering mixed datasets involves applying a special treatment accord-ing to the type of data. Providaccord-ing a solution to this type of problems is the main moti-vation for developing a clustering method for large mixed datasets.

In the literature, we can find good clustering algorithms for mixed data which build convex shaped clusters. For example, the clustering algorithm “Fast Global k-Means” allows to build clusters with good quality in a reasonable amount of time. However, this type of algorithms are inapplicable to large datasets. For this reason, in this thesis we have proposed a clustering method for large mixed datasets, our method is based on a divide and conquer strategy, using the Fast Global k-Means algorithm as base algorithm.

(6)

IV ABSTRACT

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA The proposed method is tested and compared against other recently reported clus-tering methods for large numerical datasets. The proposed method has shown good results in terms of clustering quality and time needed to cluster. As well as low sensi-tivity to the order of the data to cluster. Additionally, the scalability of the proposed method for large mixed data is also studied.

(7)

Agradecimientos

Agradezco al Consejo Nacional de Ciencia y Tecnología (CONACyT) por el apoyo otorgado a través de la beca número 262550, durante la realización de mis estudios de maestría así como para la realización de esta tesis. De la misma manera, agradezco al Instituto Nacional de Astrofísica Óptica y Electrónica (INAOE) por todos los servi-cios otorgados durante mi estancia en la institución y a todos aquéllos que contribu-yeron en mi formación académica y profesional.

Agradezco especialmente a mis asesores de tesis, Dr. Jesús Ariel Carrasco Ochoa y al Dr. José Francisco Martínez Trinidad, con quienes tengo el honor de haber traba-jado nuevamente. Agradezco el tiempo dedicado para este trabajo, su inigualable orientación y ayuda, su paciencia y todos los conocimientos que compartieron con-migo.

Quiero agradecer a mi comité de sinodales; Dr. Aurelio López López, Dr. Hugo Jair Escalante Balderas y Dr. Luis Villaseñor Pinedapor el tiempo, las observaciones, las sugerencias y las correcciones realizadas en el proceso de revisión de esta tesis.

Agradezco a todas las personas que conocí en mi estancia en el INAOE, a mis com-pañeros de generación, así como a mis comcom-pañeros de cubo: Patricia, Yared, Farfán, Harold, Miguel. Sin ustedes nada habría sido igual.

(8)

VI AGRADECIMIENTOS

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA También quiero agradecer a mi madre por su cariño e inigualable motivación, a mis hermanos, hermana y sobrinas por creer siempre en mí, a Israel Fuentes Tapia, así como a mi prima la Dra. Reina Galeazzi Isasmendi por sus consejos y orientación.

(9)

Índice General

1 Introducción

1.1 Planteamiento de problema ... 1

1.2 Objetivos generales y específicos ... 3

1.3 Organización de la tesis ... 4

2 Marco Teórico

2.1 Introducción ... 5

2.2 Tipos de agrupamiento ... 6

2.3 Definición formal de agrupamiento ... 8

2.4 Medidas de comparación ... 11

2.5 Algoritmos de agrupamiento para datos mezclados ... 14

2.6 Conjuntos de datos grandes y muy grandes ... 19

(10)

VIII ÍNDICE GENERAL

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

3 Trabajo Relacionado

3.1 Introducción ... 23

3.2 Métodos de agrupamiento para grandes conjuntos de

datos ... 24

4 Método Propuesto

4.1 Introducción ... 35

4.2 Solución propuesta: Variante (a) ... 36

4.3 Solución propuesta: Variante (b)... 42

4.4 Análisis de complejidad computacional de las variantes

del método propuesto ... 47

5 Algoritmo Base Para Datos Mezclados

5.1 Descripción de los conjuntos de datos ... 53

5.2 Pruebas para la selección de la medida de similitud y

de objetos representativos. ... 54

5.3 Pruebas para la selección del algoritmo base de

agrupamiento para conjuntos de datos mezclados ... 56

6 Experimentación

(11)

ÍNDICE GENERAL IX

6.2 Comparación de las variantes del método propuesto y

Fast Global k-Means

... 71

6.3 Selección de valores para los parámetros de las

variantes del método propuesto ... 73

6.4 Comparación contra el método propuesto por Havens

en

𝟐

... 84

6.5 Pruebas de sensibilidad al orden de los datos ... 90

6.6 Experimentos con grandes conjuntos de datos (tiempo,

calidad y escalabilidad) ... 93

7 Conclusiones y Trabajo Futuro

7.1 Conclusiones ... 97

7.2 Aportaciones ... 99

7.3 Trabajo futuro ... 99

(12)

X ÍNDICE GENERAL

(13)

Índice de Figuras

2.1. Ejemplos de agrupamiento de partición y jerárquico . . . 7

2.2. Ejemplo de agrupamientos de tipo exclusivo, con traslape y difuso. . .7

2.3. Ejemplo de agrupamientos de tipo convexo y no convexo . . . 8

4.1. Esquema general de la variante (a) del método propuesto . . . .40

4.2. Ejemplo de la reducción del problema para la variante (a) del método propuesto. . . 42

4.3. Esquema general de la variante (b) del método propuesto . . . .43

4.4. Ejemplo de la reducción del problema para la variante (b) del método propuesto. . . 47

5.1. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Zoo . . . .57

(14)

XII ÍNDICE DE FIGURAS

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA 5.2. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Iris . . . .58

5.3. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Flags . . . .59

5.4. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Glass . . . 60

5.5. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Cleveland . . . .61

5.6. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Soybean . . . .62

5.7. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Ecoli . . . 63

(15)

ÍNDICE DE FIGURAS XIII

5.8. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Bands . . . 64

5.9. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Credit . . . .65

5.10. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Global k-Means, n iteraciones de k-Means con funciones de similitud y k iteraciones de k-Means con funciones de similitud al conjunto de datos Agregation . . . .66

6.1. Valores de la función objetivo y tiempos de ejecución para diferentes valores del parámetro p de la variante (a) del método propuesto (FGKMa) en el conjunto de datos Abalone, con k=2,3,…,16 y p=50%, 25%, 10%, 5% y 1% . . . 74

6.2. Valores de la función objetivo y tiempos de ejecución para diferentes valores del parámetro p de la variante (a) del método propuesto (FGKMa) en el conjunto de datos Pócker_small, con k=2,3,…,16 y p=10%, 5%, 1%, 0.5% y 0.1% . . . 75

6.3. Valores de la función objetivo y tiempos de ejecución para diferentes valores del parámetro p de la variante (a) del método propuesto (FGKMa) en el conjunto de datos Adult, con k=2,3,…,16 y p=10%, 5%, 1%, 0.5% y 0.1% . . . .76

(16)

XIV ÍNDICE DE FIGURAS

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA 6.4. Valores de la función objetivo y tiempos de ejecución para diferentes valores del parámetro p de la variante (a) del método propuesto (FGKMa) en el conjunto de datos Birch1, con k=2,3,…,16 y p=1%, 0.5%, 0.2%,

0.1% y 0.05% . . . 77

6.5. Valores de la función objetivo y tiempos de ejecución para diferentes valores de los parámetro d y max de la variante (b) del método propuesto (FGKMb) en el conjunto de datos Abalon, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=100, 200, 400, 1000, 2000 . . . 80

6.6. Valores de la función objetivo y tiempos de ejecución para diferentes valores de los parámetro d y max de la variante (b) del método propuesto (FGKMb) en el conjunto de datos Adult, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=100, 160, 325, 1600, 3250 . . . 81

6.7. Valores de la función objetivo y tiempos de ejecución para diferentes valores de los parámetro d y max de la variante (b) del método propuesto (FGKMb) en el conjunto de datos Pócker_small, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=125, 250, 500, 750, 10 . . . 82

6.8. Valores de la función objetivo y tiempos de ejecución para diferentes valores de los parámetro d y max de la variante (b) del método propuesto (FGKMb) en el conjunto de datos Birch1, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=50, 100, 200, 500, 1000 . . . 83

6.9. Distribución original del conjunto de dados 2D15-50,000 . . . .84

6.10. Resultados del agrupamiento por FGKMa . . . .85

(17)

ÍNDICE DE FIGURAS XV

6.12. Resultados del agrupamiento por rseFCM . . . .87

6.13. Resultados del agrupamiento por spFCM . . . 88

6.14. Resultados del agrupamiento por spFCM . . . 89

6.15. Valores de la función objetivo para el conjunto de datos Cov-type. 94

6.16. Tiempos de ejecución para el conjunto de datos Cov-type . . . .94

6.17. Valores de la función objetivo para el conjunto de datos Póker Hand . . . .95

6.18. Tiempos de ejecución para el conjunto de datos Póker Hand . . . 95

6.19. Tiempo de ejecución variando el tamaño del conjunto de datos Póker Hand . . . 96

(18)

XVI ÍNDICE DE FIGURAS

(19)

Índice de Tablas

2.1: Clasificación de conjuntos de datos por tamaño. . . .19

3.1. Complejidad en tiempo y espacio de métodos de agrupamiento FCM en conjuntos VL. . . .33

3.2 Principales algoritmos de agrupamiento para conjuntos grandes. . . .34

5.1. Conjuntos de datos utilizados en las pruebas de selección. . . .53

6.1. Descripción de los conjuntos de datos utilizados en la comparación de las variantes del método propuesto contra Fast Global k-Means . . . 69

6.2. Descripción de los conjuntos de datos utilizados en los experimentos. . . . . .70

6.3. Valor de la función objetivo de los agrupamientos obtenidos por las variantes del método propuesto y Fast Global k-Means. . . .71

6.4. Valores de Rand Index obtenidos por las variantes del método pro-puesto y Fast Global k-Means. . . 72

(20)

XVIII ÍNDICE DE TABLAS

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA 6.5. Valores de función objetivo para las variantes del método propuesto. .

. . . .91

6.6. Valores de función objetivo para las variantes de Havens. . . .91

6.7. Valores de Rand Index de las variantes del método propuesto. . . .92

6.8. Valores de Rand Index de las variantes de Havens. . . 92

6.9 Tiempos de ejecución para las variantes del método propuesto y las va-riantes de Havens. . . 93

(21)

Capítulo 1

Introducción

En este capítulo se presenta la descripción del problema, se muestra el contexto en el que se desarrolla y se dan los objetivos generales y especí-ficos de esta tesis. Finalmente, se explica de manera breve el contenido de cada uno de los capítulos que conforman este trabajo de investigación.

1.1 Planteamiento de problema

Dentro del Reconocimiento de Patrones, una pregunta que se presenta frecuen-temente cuando se está ante un conjunto de datos es: ¿Cómo se estructuran los objetos de este conjunto? Resolver esta pregunta implica resolver un problema de clasificación no supervisada.

Los problemas de clasificación no supervisada parten de un conjunto de datos (que usualmente no cuenta con información a priori de su distribución) y ofre-cen como resultado la clasificación de los mismos, en otras palabras, etiquetan a los objetos, permitiendo así saber cuáles de ellos pertenecen a la misma clase de objetos. En la literatura, se pueden encontrar una gran variedad de algoritmos que resuelven este problema, la mayoría de estos algoritmos permiten resolver el problema cuando el conjunto de datos a analizar no es muy grande. Sin em-bargo, hoy en día el uso de diferentes dispositivos permite recabar fácilmente grandes cantidades de información, lo que origina que los algoritmos de clasifi-cación no supervisada no puedan ser aplicados.

Es difícil definir cuándo un conjunto de datos es grande puesto que la defini-ción resulta subjetiva, sin embargo, en la literatura se han manejado diferentes

(22)

2 INTRODUCCIÓN

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA criterios como el tamaño en bytes del conjunto de datos o la capacidad de alma-cenamiento de la memoria principal (ver capítulo 2). Una definición no objetiva de un gran conjunto de datos está basada en la idea de que la información que se necesita almacenar para agrupar al conjunto, excede los límites de la memoria principal de una computadora.

Existen algunos trabajos que abordan el problema de agrupamiento o clasifi-cación no supervisada para grandes conjuntos de datos, algunos ejemplos son:

BIRCH (Zhang, et al., 1997), l-SL (Bidyut Kr., et al., 2011), rseFCM, spFCM,

oFCM (C. Havens, et al., 2012)”, entre otros. Estos métodos permiten agrupar

grandes conjuntos de datos cuando los objetos están descritos por variables nu-méricas, al tomar ventaja sobre el tipo de datos y aplicar propiedades numéricas que facilitan realizar la tarea de agrupar grandes conjuntos de datos; además, algunos de ellos son paralelizables. Estos trabajos, reportan un buen desempeño al procesar grandes conjuntos de datos numéricos, sin embargo, también existen muchos problemas prácticos en áreas como Medicina, Geología, Criminalística, etc, en los cuales los objetos de estudio contienen información numérica y no numérica (descripciones de datos mezclados), en donde no es posible aplicar directamente estos métodos puesto que es necesario aplicar un tratamiento espe-cial de acuerdo al tipo de datos.

Uno de los algoritmos de agrupamiento más utilizados es el algoritmo

k-Means. Este algoritmo optimiza una función objetivo para encontrar agrupa-mientos convexos, es decir, encuentra grupos con objetos muy similares entre sí, pero poco similares con los objetos de otros grupos. k-Means es un algoritmo de partición para datos numéricos que es considerado como un algoritmo de

re-ferencia para clasificación no supervisada. Comúnmente, k-Means hace uso de

la distancia Euclidiana como criterio de similitud para dos objetos de un con-junto de datos. Sin embargo, la distancia Euclidiana no puede ser aplicada para comparar objetos descritos por variables no numéricas u objetos mezclados. k-Means tampoco permite obtener la media o promedio de grupos de objetos mez-clados, puesto que k-Means se basa en los valores promedio de los objetos de un grupo para obtener los agrupamientos.

Por otra parte, se han propuesto algunos algoritmos que han extendido el al-goritmo k-Means a dominios de datos mezclados, algunas de estas variantes son: (Huang, 1997), (García Serrano & Martínez Trinidad, 1999), (López-Escobar,

(23)

1.2 OBJETIVOS GENERALES Y ESPECÍFICOS 3

et al., 2005), (López-Escobar, et al., 2006), (Ahmad & Dey, 2007). Estos algo-ritmos, aunque presentan un buen rendimiento al agrupar conjuntos de datos mezclados, no fueron diseñados para agrupar grandes conjuntos de datos.

Finalmente, existen métodos que permiten agrupar grandes conjuntos de datos

mezclados: GLC, DGLC y GLC+ (Sánchez Díaz, et al., 2001). Sin embargo,

estos métodos producen agrupamientos de formas no convexas, es decir, agru-pamientos en donde dos objetos similares pueden pertenecer a grupos diferentes.

En muchas aplicaciones, es ampliamente aceptada la utilidad de construir agru-pamientos en donde objetos muy similares pertenezcan al mismo agrupamiento y objetos de agrupamientos distintos tengan un parecido menor que el parecido entre objetos del mismo agrupamiento (agrupamientos de forma convexa), es por ello que es necesario contar con algoritmos que construyan este tipo de agru-pamientos en grandes conjuntos de datos mezclados.

Por las razones mencionadas, en esta tesis se propone un método para agrupar grandes conjuntos de datos mezclados en agrupamientos convexos, abordando la problemática mediante una estrategia divide y vencerás.

Para dar solución a la problemática planteada, a continuación se presentan los objetivos de este trabajo de investigación.

1.2 Objetivos generales y específicos

Objetivo General

 Desarrollar un método de agrupamiento que permita tratar con grandes

conjuntos de datos mezclados y que obtenga agrupamientos de formas convexas cuyos resultados sean mejores a los obtenidos por los de traba-jos relacionados relevantes.

Objetivos Específicos

 Definir cuándo un conjunto de datos es grande

 Definir una estrategia de agrupamiento para grandes conjuntos de datos

mezclados

 Implementar el método propuesto y evaluar la calidad, tiempos de

(24)

4 INTRODUCCIÓN

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

1.3 Organización de la tesis

Esta tesis se encuentra organizada de la siguiente manera:

En el capítulo 2 se exponen conceptos básicos del área de Reconocimiento de Patrones enfocados en la tarea clasificación no supervisada, así como algoritmos de agrupamiento para datos mezclados, funciones de comparación de objetos mezclados, objetos representativos y definiciones relacionadas a la problemática que se aborda en esta tesis. En el capítulo 3 se presenta una breve descripción de los trabajos relacionados más relevantes para agrupar grandes conjuntos de da-tos. En el capítulo 4 se introduce un método de agrupamiento que sigue una estrategia del tipo divide y vencerás, el cual permite agrupar grandes conjuntos de datos mezclados, buscando que la tarea de agrupar sea más rápida, pero sin sacrificar demasiado la calidad del resultado de agrupamiento. En el capítulo 5 se realiza un análisis comparativo entre algoritmos de agrupamiento basados en k-Means para conjuntos de datos mezclados y de esta manera tener un criterio para seleccionar un algoritmo de agrupamiento base para el método propuesto en el capítulo 4. El capítulo 6 contiene las pruebas realizadas con el método propuesto: un estudio experimental para determinar los valores apropiados de los parámetros del método propuesto; un análisis comparativo con algunos de los trabajos relacionados más actuales; así como pruebas de sensibilidad en el orden de los datos y pruebas de escalabilidad. Finalmente, en el capítulo 7 se exponen las conclusiones y trabajo futuro producto de la investigación realizada.

(25)

Capítulo 2

Marco Teórico

En este capítulo se exponen conceptos básicos del área de Reconoci-miento de Patrones enfocados en la tarea clasificación no supervisada, así como algoritmos de agrupamiento para datos mezclados, funciones de comparación de objetos mezclados y definiciones relacionadas a la pro-blemática que se aborda en esta tesis.

2.1 Introducción

En muchas aplicaciones, la noción de agrupamiento resulta imprecisa, esto es debido a que la definición de agrupamiento depende de la naturaleza de los datos y los resultados deseados. De forma general, podemos definir la tarea de agrupar como: “dividir un conjunto de datos para formar grupos que sean útiles o

signi-ficativos” (Tan, et al., 2005). También, agrupar puede ser considerado como una

manera de clasificar objetos; se inicia con un conjunto de objetos no etiquetados (sin clase) para determinar cuáles de ellos pertenecen a la misma clase (grupo).

En ocasiones la tarea de agrupar puede ser referida también como “clasificación

no supervisada”.

La tarea de agrupar ha jugado un papel importante en una gran variedad de áreas tales como: Reconocimiento de Patrones, Aprendizaje Automático, Mine-ría de Datos, Estadística, Recuperación de información, entre otras; donde los algoritmos de agrupamiento han sido aplicados básicamente con 3 propósitos (Jain, 2010):

 Determinar estructuras, para comprender mejor los datos, generar

hipó-tesis, detectar anomalías e identificar las características más destacadas de objetos

 Clasificar, para identificar el grado de similitud entre patrones, objetos o

(26)

6 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

 Compresión; como un mecanismo para organizar los datos y resumirlos

a través de grupos de prototipos

2.2 Tipos de agrupamiento

Mientras que el agrupamiento ideal pudiera ser definido como un conjunto de objetos que son compactos y aislados, en realidad, el agrupamiento es una tarea subjetiva que puede abordarse de diferentes maneras. En esta sección, se indican los tipos de agrupamiento más comunes reportados en la literatura.

La categorización más común que se ha realizado entre los tipos de agrupa-miento ha sido entre agrupaagrupa-mientos de partición y agrupaagrupa-mientos jerárquicos. En la Figura 2.1.a se muestra un ejemplo de agrupamiento de partición, en la Figura 2.1.b se muestra un ejemplo de agrupamiento jerárquico divisivo y aglo-merativo.

Agrupamiento de partición: consiste en dividir un conjunto de datos en subconjuntos (grupos), de tal forma que cada objeto pertenezca a un solo subconjunto o grupo generando de esta forma una partición del conjunto original. Algunos ejemplos de algoritmos de agrupamiento de partición son: k-Means, CLARA, CLARANS, DBSCAN, etc.

Agrupamiento jerárquico: se basa en la construcción de un árbol de jerarquías (dendograma), donde cada nivel representa un agrupamiento. A su vez el agrupamiento jerárquico se clasifica en agrupamiento jerár-quico aglomerativo y divisivo. El agrupamiento jerárjerár-quico aglomerativo forma grupos a partir de elementos específicos para ir formando niveles de subgrupos hasta obtener la generalización deseada en los datos. El agrupamiento jerárquico divisivo inicia considerando a todos los elemen-tos del conjunto en un solo grupo y divide este conjunto en subconjunelemen-tos para formar niveles de agrupamiento más específicos. Algunos ejemplos

de algoritmos de agrupamiento jerárquico son Single-Link,

(27)

2.2 TIPOS DE AGRUPAMIENTOS 7

Figura 2.1. Ejemplos de agrupamiento de partición a) y jerárquico b)

Los agrupamientos resultantes de un algoritmo de agrupamiento pueden ser de tipo exclusivo, con traslape o difusos. En la Figura 2.2 se muestra un ejemplo de estos tipos de agrupamiento. Para el ejemplo, se tienen dos agrupamientos de

objetos en ℝ2, representados por colores. A la izquierda se muestra un ejemplo

de agrupamiento exclusivo, en el centro se encuentra un ejemplo de agrupa-miento con traslape y a la derecha se muestra un ejemplo de agrupaagrupa-miento di-fuso: donde el grado de membresía corresponde a un degradado de rojo a azul.

Agrupamiento exclusivo: asigna cada objeto del conjunto de datos en un solo agrupamiento

Agrupamiento con traslape: refleja el hecho de que un objeto pueda estar simultáneamente en más de un agrupamiento

Agrupamiento difuso: cada objeto pertenece a todos los agrupamiento pero con un valor de pertenencia que está entre 0 (no pertenencia) y 1 (pertenencia total)

Figura 2.2. Ejemplo de agrupamientos de tipo exclusivo, con traslape y difuso

Una distinción más entre los tipos de agrupamiento está dada por la topología de los agrupamientos. Básicamente, podemos diferenciar entre agrupamientos de tipo convexo y no convexo. En la Figura 2.3.a se muestran dos ejemplos de agrupamiento convexo con 3 grupos, mientras que en la Figura 2.3.b se muestran dos ejemplos de agrupamiento de tipo no convexo con 2 grupos.

b)

a)

(28)

8 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

Agrupamiento convexo: los grupos forman figuras convexas a modo de vecindades. En este tipo de agrupamientos, se espera que los elementos de un agrupamiento sean altamente similares entre sí, mientras que ele-mentos de diferentes agrupamientos sean poco similares

Agrupamiento no convexo: los grupos forman figuras no convexas. En este tipo de agrupamiento, dos objetos poco similares pueden pertenecer al mismo agrupamiento

Figura 2.3. Ejemplo de agrupamientos de tipo convexo y no convexo

2.3 Definición formal de agrupamiento

Considere un conjunto de n objetos 𝑋 = {𝑥1, … , 𝑥𝑛} en donde cada objeto está

descrito por un conjunto de atributos 𝑌 = {𝑦1, … , 𝑦𝑚}. Cada atributo toma

valo-res de un conjunto de valovalo-res admisibles "𝐷𝑖", donde 𝑦𝑖(𝑥𝑗) ∈ 𝐷𝑖, 𝑖 = 1, … , 𝑚;

se asume que en 𝐷𝑖 existe un símbolo “?” para denotar ausencia de información.

De esta forma, los atributos pueden ser numéricos si 𝐷𝑖 ⊆ ℝ o no numéricos y

se pueden considerar descripciones incompletas. Cuando en 𝑌 hay atributos

nu-méricos y no nunu-méricos tenemos un conjunto de datos mezclados. El objetivo

de agrupar 𝑋 es encontrar una partición que divida los objetos de 𝑋 en k grupos

disjuntos (agrupamiento exclusivo), donde k es un entero positivo.

Dado un conjunto de tamaño n, el número de posibles particiones es un número considerablemente grande, lo que hace impráctico verificar cada partición para encontrar la mejor. La solución para este problema se puede plantear como la optimización de la función objetivo:

𝐽(𝑥1𝑟, … , 𝑥

𝑘𝑟) = ∑ ∑ 𝐼𝑗(𝑥𝑖) 𝑛

𝑖=1

Γ(𝑥𝑗𝑟, 𝑥 𝑖) 𝑘

𝑗=1

(2.1)

a) b)

(29)

2.3 DEFINICIÓN FORMAL DE AGRUPAMIENTO 9

donde

 {𝑥1𝑟, … , 𝑥

𝑘𝑟} : denota el conjunto de objetos representativos, uno para

cada agrupamiento

 Γ(𝑥𝑗𝑟, 𝑥

𝑖) : denota una función de comparación de objetos

 𝐼𝑗(𝑥𝑖) : es un elemento de la matriz de partición

La matriz de partición determina la pertenencia del objeto 𝑥𝑖 al 𝑗-ésimo

agru-pamiento y tiene las siguientes propiedades: 1) 0 ≤ 𝐼𝑗(𝑥𝑖) ≤ 1 y 2)

∑𝑘𝑗=1𝐼𝑗(𝑥𝑖)= 1. La matriz de partición es una partición dura si 𝐼𝑗(𝑥𝑖) ∈ {0, 1}.

La partición es difusa si 𝐼𝑗(𝑥𝑖) ∈ [0, 1]. Para este trabajo, se consideran

única-mente particiones duras. 𝐼𝑗(𝑥𝑖) queda definida como:

𝐼𝑗(𝑥𝑖) = {1 𝑠𝑖 Γ(𝑥𝑗𝑟, 𝑥𝑖) = 𝑚𝑎𝑥{Γ(𝑥𝑞𝑟, 𝑥𝑖)}, 1 ≤ q ≤ k

0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 (2.2) Un algoritmo para optimizar la función objetivo y que además es un algoritmo

de partición es el algoritmo k-Means. k-Means es un agrupador ampliamente

utilizado y considerado como un algoritmo de referencia. El Pseudocódigo 2.1 muestra un esquema general de algoritmo k-Means.

Pseudocódigo 2.1. k-Means

seleccionar k centroides aleatoriamente

repetir

reasignar cada objeto al agrupamiento cuyo centroide sea el más similar

actualizar el valor de los centroides como la media de los objetos en el correspondiente agrupamiento

hasta no hay cambio

k-Means produce agrupamientos exclusivos con formas convexas y está dise-ñado para agrupar conjuntos de datos numéricos. Como medida de comparación

entre objetos Γ(𝑥𝑗𝑟, 𝑥

𝑖) el algoritmo k-Means utiliza comúnmente la distancia

Euclidiana. k-Means busca minimizar la distancia de objetos que están en el

mismo agrupamiento y al mismo tiempo maximizar la separación entre los agru-pamientos. Cada agrupamiento está representado por un centroide, el cual es calculado como la media de cada atributo de los objetos en el agrupamiento:

𝑥𝑗𝑟(𝑦 𝑖) =

1

|𝑀𝑗|𝑥∑ 𝑥𝑡(𝑦𝑖), 𝑗 = 1, … , 𝑘 𝑡∈𝑀𝑗

(30)

10 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA donde

 𝑀𝑗 es el conjunto de objetos pertenecientes a j-ésimo agrupamiento

La definición de centroide (2.3) está limitada a atributos numéricos, sin em-bargo se han propuesto definiciones alternativas para conjuntos de datos no nu-méricos, así como para conjuntos de datos mezclados. En (Huang, 1997) se ex-tiende el algoritmo k-Means a dominios categóricos (k-modes) al remplazar las medias por modas. De igual forma, en (Huang, 1997) se extiende el k-Means a dominios mezclados (k-prototypes) al combinar las medias para atributos numé-ricos y las modas en atributos categónumé-ricos:

𝑥𝑗𝑟(𝑦 𝑖) =

{ 1

|𝑀𝑗| ∑ 𝑥𝑡(𝑦𝑖), 𝑗 = 1, … , 𝑘

𝑥𝑡∈𝑀𝑗

𝑠𝑖 𝑦𝑖 𝑒𝑠 𝑛𝑢𝑚é𝑟𝑖𝑐𝑜

max𝑐𝑘,𝑖(𝑓𝑟(𝑥𝑡(𝑦𝑖) = 𝑐𝑘,𝑖|𝑥𝑡 ∈ 𝑀𝑗)) 𝑠𝑖 𝑦𝑖 𝑒𝑠 𝑐𝑎𝑡𝑒𝑔ó𝑟𝑖𝑐𝑜

(2.4)

En el caso de los atributos categóricos, se asigna el valor más frecuente del dominio del atributo de los objetos en el j-ésimo agrupamiento (la moda).

En (García Serrano & Martínez Trinidad, 1999) se extiende el algoritmo

k-Means para utilizar funciones de similitud de la función objetivo en conjuntos de datos mezclados. Para esto, el objeto representativo de un agrupamiento, es un objeto del conjunto de datos, específicamente es el objeto más parecido en promedio a los demás objetos en el agrupamiento. De esta manera, un objeto representativo puede ser determinado por las ecuaciones (2.5) y (2.6):

𝑟𝑀𝑗(𝑥𝑖) =

𝛽𝑀𝑗(𝑥𝑖)

𝛼𝑚𝑗(𝑥𝑖) + (1 − 𝛽𝑚𝑗(𝑥𝑖))+ 𝜂(𝑥𝑖) (2.5)

donde 𝑥𝑖 ∈ 𝑀𝑗

𝛽𝑀𝑗(𝑥𝑖) evalúa el promedio de similitud del objeto 𝑥𝑖 con el resto de los

obje-tos en el grupo 𝑀𝑗 y se calcula de la siguiente manera:

𝛽𝑀𝑗(𝑥𝑖) = 1

|𝑀𝑗| − 1𝑥 ∑ Γ(𝑥𝑖, 𝑥𝑠) 𝑖,𝑥𝑠∈𝑀𝑗

𝑥𝑖≠𝑥𝑠

(2.6)

Para incrementar el valor de información de la función (2.6) se introduce la

(31)

2.4 MEDIDAS DE COMPARACIÓN 11

𝛼𝑚𝑗(𝑥𝑖) = 1

|𝑀𝑗| − 1 ∑ |𝛽𝑀𝑗(𝑥𝑖) − Γ 𝑥𝑖,𝑥𝑠∈𝑀𝑗

𝑥𝑖≠𝑥𝑠

(𝑥𝑖, 𝑥𝑠)| (2.7)

la cual evalúa la diferencia entre el promedio (2.6) y la similitud entre el objeto

𝑥𝑖 y el resto de los objetos en el agrupamiento 𝑀𝑗, entonces cuando (2.7) decrece,

el valor de (2.5) se incrementa.

La expresión (1 − 𝛽𝑚𝑗(𝑥𝑖)) representa el promedio de disimilitud de 𝑥𝑖 con

respecto al resto de los objetos en 𝑀𝑗. Finalmente, la expresión (2.8) evalúa la

disimilitud entre el objeto 𝑥𝑖 y los otros objetos representativos.

𝜂(𝑥𝑖) = ∑ (1 − Γ(𝑥𝑞𝑟, 𝑥𝑖)) 𝑘

𝑞=1 𝑖≠𝑞

(2.8)

Esta función es usada para disminuir los casos donde existan dos objetos con

el mismo valor en (2.5). Cuando |𝑀𝑗| = 1 entonces el objeto representativo para

el agrupamiento 𝑀𝑗 es el objeto contenido en él.

De esta manera, el objeto representativo del agrupamiento 𝑀𝑗 se define como

el objeto 𝑥𝑖 el cual alcanza el máximo de 𝑟𝑀𝑗(𝑥𝑖).

𝑟𝑀𝑗(𝑥𝑟) = 𝑚𝑎𝑥𝑥𝑝∈𝑀𝑗{𝑟𝑀𝑗(𝑥𝑝)} (2.9)

2.4 Medidas de comparación

Las medidas de comparación de objetos juegan un papel importante para ob-tener buenos resultados en diferentes tareas de reconocimiento de patrones (Wilson & Martinez, 1997). Una gran variedad de funciones de distancia han

sido propuestas, incluyendo las medidas de distancia Minkowsky (Batchelor,

1978), Mahalanobis (Nadker & Smith, 1993), Camberra, Chebychev,

Quadra-tic, Correlation y Chi-square (Michalski, Stepp & Diday,1981; Diday,1974).

Sin embargo, la más común y utilizada es la distancia Euclidiana, la cual se

(32)

12 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

𝐸(𝑥𝑖, 𝑥𝑗) = √∑ (𝑦𝑝(𝑥𝑖) − 𝑦𝑝(𝑥𝑗)) 2 𝑚

𝑝=1

(2.10)

Ninguna de las funciones de distancia antes mencionadas maneja atributos no

numéricos, incluyendo la distancia Euclidiana. No obstante, se han propuesto

funciones de similitud que permiten tratar objetos con descripciones mezcladas, es decir, objetos con atributos numéricos y no numéricos.

En (García Serrano & Martínez Trinidad, 1999) se define la función de simi-litud:

Γ(𝑥𝑖, 𝑥𝑗) = 1

𝑚∑ 𝐶𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗))

𝑚

𝑝=1

(2.11)

donde

 𝐶𝑝: es una función de comparación entre valores del atributo 𝑦𝑝

La función de comparación entre atributos no numéricos para Γ es:

𝐶𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) = {1 𝑠𝑖 𝑦𝑝(𝑥𝑖) = 𝑦𝑝(𝑥𝑗)

0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 (2.12)

La función de comparación entre atributos numéricos para Γ es:

𝐶𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) = 1 − | |𝑦𝑝(𝑥𝑖)| |𝑚𝑎𝑥(𝑦𝑝)|−

|𝑦𝑝(𝑥𝑗)|

|𝑚𝑎𝑥(𝑦𝑝)|| (2.13)

La ausencia de información puede ser tratada de la siguiente manera: dados

dos objetos 𝑥𝑖, 𝑥𝑗, de los cuales se desea comparar el atributo p, se tiene que

𝐶𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) = 1 si 𝑦𝑝(𝑥𝑖)="?"o 𝑦𝑝(𝑥𝑗) = "? ".

En (Wilson & Martinez, 1997) se definen funciones de distancia para objetos

mezclados: HEOM (Heterogeneous Euclidean-Overlap Metric) y HVDM

(He-terogeneous Value Difference Metric):

𝐻𝐸𝑂𝑀(𝑥𝑖, 𝑥𝑗) = √∑ 𝑑𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 2 𝑚

𝑝=1

(33)

2.4 MEDIDAS DE COMPARACIÓN 13

donde 𝑑𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) define la distancia entre los valores del atributo 𝑦𝑝 en

los objetos 𝑥𝑖 y 𝑥𝑗 respectivamente

𝑑𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) =

{

1

𝑠𝑖 𝑦𝑝(𝑥𝑖) = "?" 𝑜 𝑦𝑝(𝑥𝑗) = "?" 𝑜𝑣𝑒𝑟𝑙𝑎𝑝 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 𝑠𝑖 𝑦𝑝 𝑒𝑠 𝑛𝑜 𝑛𝑢𝑚é𝑟𝑖𝑐𝑜

𝑟𝑛_𝑑𝑖𝑓𝑓 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 𝑠𝑖 𝑦𝑝 𝑒𝑠 𝑛𝑢𝑚é𝑟𝑖𝑐𝑜

(2.15)

Para el caso de atributos con valores desconocidos, la función 𝑑𝑝 regresa una

distancia de 1, es decir, la máxima distancia. La función overlap y la función

rn_diff (range-normalized difference) se definen como:

𝑜𝑣𝑒𝑟𝑙𝑎𝑝 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) = { 0, 𝑠𝑖 𝑦𝑝(𝑥𝑖) = 𝑦𝑝(𝑥𝑗)

1, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 (2.16)

𝑟𝑛_𝑑𝑖𝑓𝑓 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) =

|𝑦𝑝(𝑥𝑖) − 𝑦𝑝(𝑥𝑗)|

𝑟𝑎𝑛𝑔𝑒 𝑦𝑝 (2.17)

El valor de 𝑟𝑎𝑛𝑔𝑒 𝑦𝑝 es utilizado para normalizar los atributos y se define

como:

𝑟𝑎𝑛𝑔𝑒 𝑦𝑝 = 𝑚𝑎𝑥 𝑦𝑝− 𝑚𝑖𝑛 𝑦𝑝 (2.18)

donde 𝑚𝑎𝑥 𝑦𝑝 y 𝑚𝑖𝑛 𝑦𝑝son el máximo y el mínimo valor observados en el

con-junto de datos para el atributo numérico 𝑦𝑝.

La función HVDM (Heterogeneous Value Difference Metric) se define como:

𝐻𝑉𝐷𝑀(𝑥𝑖, 𝑥𝑗) = √∑ 𝑑𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 2 𝑚

𝑝=1

(2.19)

donde la función 𝑑𝑝 de HVDM utiliza una de dos funciones, dependiendo del

(34)

14 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

𝑑𝑝(𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) =

{

1 𝑠𝑖 𝑦𝑝(𝑥𝑖) = "? " 𝑜 𝑦𝑝(𝑥𝑗) = "? " 𝑛_𝑣𝑑𝑚 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 𝑠𝑖 𝑦𝑝 𝑒𝑠 𝑛𝑜 𝑛𝑢𝑚é𝑟𝑖𝑐𝑜

𝑛_𝑑𝑖𝑓𝑓 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) 𝑠𝑖 𝑦𝑝 𝑒𝑠 𝑛𝑢𝑚é𝑟𝑖𝑐𝑜

(2.20)

En el trabajo de Wilson y Martínez, se proponen 3 versiones de la función n_vdm (en este trabajo, solamente se muestra la función que mejores resultados reporta). Las funciones n_diff (normalized difference) y n_vdm (normalized va-lue difference metric) se definen como:

𝑛_𝑑𝑖𝑓𝑓 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) =

|𝑦𝑝(𝑥𝑖) − 𝑦𝑝(𝑥𝑗)|

4𝜎 𝑦𝑝 (2.21)

𝑛_𝑣𝑑𝑚 (𝑦𝑝(𝑥𝑖), 𝑦𝑝(𝑥𝑗)) = √∑ |

𝑁𝑦𝑝(𝑥𝑖),𝑐 𝑁𝑦𝑝(𝑥𝑖)

−𝑁𝑦𝑝(𝑥𝑗),𝑐 𝑁𝑦𝑝(𝑥𝑗)|

2 𝐶

𝑐=1

(2.22)

donde

 𝜎 𝑦𝑝 es la desviación estándar de los valores numéricos del atributo 𝑦𝑝

 𝑁𝑦𝑝(𝑥𝑖),𝑐 es el número de objetos en 𝑋 que tienen el valor 𝑦𝑝(𝑥𝑖) y clase

𝑐

 𝑁𝑦𝑝(𝑥𝑖) es el número de objetos en 𝑋 que tienen el valor 𝑦𝑝(𝑥𝑖)

 𝐶 es el número de clases en el dominio del problema

2.5 Algoritmos de agrupamiento para datos mezclados

En esta sección, se describen los algoritmos más importantes reportados en la literatura para agrupar datos mezclados.

En (Huang, 1997) se presenta el algoritmo k-prototypes, el cual incorpora me-didas de disimilitud para agrupar datos mezclados. Este algoritmo sigue una idea similar a la de k-Means: agrupar objetos a partir de prototipos, de tal forma que la disimilitud entre objetos de un agrupamiento sea minimizada.

En la sección 2.4 se mostró la distancia Euclidiana (2.10) para atributos

nu-méricos y la función de comparación overlap (2.16) para atributos no nunu-méricos. En el trabajo de Huang se combinan estas dos medidas para calcular la distancia

(35)

2.5 ALGORITMOS DE AGRUPAMIENTO PARA DATOS MEZCLADOS 15

de objetos mezclados, además, introducen un peso γ para los valores de compa-ración de atributos no numéricos (2.16). Valores pequeños de γ favorecen a los atributos numéricos, mientras que valores grandes de γ favorecen a los atributos no numéricos. Determinar el valor óptimo del peso γ resulta una tarea difícil, ya que éste varía según el conjunto de datos. Opcionalmente, es posible utilizar la medida HEOM en lugar de la medida antes mencionada y así simplificar el pro-blema.

Un prototipo es un objeto mezclado representado por medidas de tendencia central. En el caso de atributos numéricos se toma el valor de la media del atri-buto en el grupo y para atriatri-butos no numéricos, se toma el valor más frecuente del atributo en el grupo (ecuación (2.4)).

El algoritmo k-Means con funciones de similitud (García Serrano & Martínez Trinidad, 1999), es un algoritmo que soluciona una de las principales desventa-jas del algoritmos k-Means, ya que permite trabajar con datos mezclados. Para esto, utiliza la ecuación (2.11) como medida de comparación entre objetos. La búsqueda del agrupamiento es guiada por la ecuación (2.1) al tratar de maximi-zar la función objetivo. Opcionalmente, se puede utilimaximi-zar la ecuación (2.14) como medida de comparación, al ser ésta una función de distancia, se guía la búsqueda del agrupamiento tratando de minimizar el valor de la función obje-tivo. Para calcular los objetos representativos se utilizan objetos del conjunto de datos, los cuales son en promedio los objetos más similares (o los de menor dis-tancia) con los demás elementos del agrupamiento y al mismo tiempo son los objetos menos similares (o con mayor distancia) de los objetos de otros agrupa-mientos, estos pueden ser determinados mediante las ecuaciones (2.5) o (2.6).

En (López-Escobar, et al., 2005) se presenta el algoritmo Global k-Means para

datos mezclados. Global k-Means no depende de las condiciones iniciales,

puesto que busca una solución global al problema de k agrupamientos, esto me-diante una serie de búsquedas locales basadas en el algoritmo k-Means con fun-ciones de similitud.

Global k-Means obtiene la solución de k agrupamientos al aplicar el algoritmo k-Means con funciones de similitud indicando como semillas iniciales a los

ob-jetos representativos de la solución para k-1 agrupamientos junto a cada objeto

del conjunto de datos (n objetos) para entregar como solución los k objetos re-presentativos que obtengan el mejor valor de la función objetivo y la partición

(36)

16 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

Pseudocódigo 2.2. Global k-Means para Datos Mezclados Entrada: k = número de agrupamientos a formar

X = conjunto de datos

Salida: Valor de la función objetivo

Conjunto de objetos representativos Partición 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 inicio

n  número de objetos;

/* Crea un vector de longitud k */ CrearVector Semillas[0,. . . ,k - 1]

Semillas[0]  # del objeto más parecido en promedio a todos los objetos del conjunto de datos;

para k’  1 a k - 1 hacer Aux  0;

para i  0 a n - 1 hacer

si i ≠ Semillas[z], z = 0,…, k’ - 1 entonces Semillas[k’]  i;

[J,OR, Par]  kMeansFuncionesSimilitud(Semillas);

/* J valor de la función objetivo */

/* OR objetos representativos */

/* Par partición */

si J>Aux entonces Aux  J;

ORAux  OR;

ParAux  Par;

fin si fin si fin para

Semillas  ORAux;

fin para

FuncObj  Aux;

ObjRep  ORAux;

Particion  ParAux;

retornar FuncObj,ObjRep,Particion;

fin

del conjunto de datos de las n ejecuciones de k-Means con funciones de simili-tud. De esta manera, para hallar los k agrupamientos se tiene que hallar primero

la solución a los k-1 agrupamientos y para los k-1 agrupamientos la solución a

los k-2 agrupamientos y así sucesivamente hasta el caso base que es k=1, que

para este caso, el objeto representativo del conjunto de datos es el objeto más parecido en promedio a todos los objetos del conjunto de datos. El Pseudocódigo 2.2 corresponde a Global k-Means para datos mezclados

El algoritmo Global k-Means para datos mezclados, soluciona la dependencia

de las condiciones iniciales del algoritmo k-Means con funciones de similitud.

Sin embargo, este algoritmo tiene un mayor costo computacional, lo que se debe

(37)

2.5 ALGORITMOS DE AGRUPAMIENTO PARA DATOS MEZCLADOS 17

muchas veces al algoritmo k-Means con funciones de similitud, lo cual

repre-senta su principal desventaja. Por este motivo, en (López-Escobar, et al., 2006) se modifica al algoritmo Global k-Means para reducir el número de ejecuciones del algoritmo k-Means con funciones de similitud, sin afectar significativamente la calidad de los resultados del agrupamiento. Este algoritmo se denomina Fast

Global k-Means. El algoritmo Fast Global k-Means usa las mismas funciones

de comparación de objetos y definiciones de objetos representativos antes men-cionadas.

La reducción en el costo computacional del algoritmo global, se logra

calcu-lando una cota 𝐽𝑖 ≥ 𝐽 + 𝑏𝑖 sobre el valor que la función objetivo 𝐽

𝑖puede

alcan-zar para cada posible objeto del conjunto, en donde 𝐽 representa el valor de la

función objetivo (2.1) en la solución del problema con k-1 agrupamientos y 𝑏𝑖se

define cómo:

𝑏𝑖= ∑ max(Γ(𝑥

𝑖, 𝑥𝑗) − Γ𝑘−1𝑗 , 0) (2.23) 𝑛

𝑗=1

donde

 Γ𝑘−1𝑗 : es la similitud entre el objeto 𝑥𝑗 y el objeto representativo del

agru-pamiento al cual dicho objeto pertenece en la solución del problema con k-1 agrupamientos.

El término 𝑏𝑖 mide el incremento garantizado en la función objetivo (2.1) al

insertar un nuevo agrupamiento cuyo objeto representativo es el objeto 𝑥𝑖, por

lo que los objetos que maximicen la función 𝑏𝑖∗ son los que con mayor

probabi-lidad pueden producir un mayor incremento en la función objetivo. Este hecho, reduce drásticamente el número de candidatos a objetos representativos al guiar la búsqueda hacia una aproximación al óptimo global de k-1 agrupamientos, im-pactando directamente en el tiempo requerido por el algoritmo.

Cada vez que un nuevo agrupamiento es agregado, la posición del nuevo

ob-jeto representativo es inicializada en los obob-jetos que maximicen 𝐽𝑖 o

equivalen-temente que maximicen 𝑏𝑖, posteriormente se ejecuta el algoritmo k-Means con

funciones de similitud para obtener la solución al problema de k agrupamientos. El Pseudocódigo 2.3 corresponde a Fast Global k-Means para datos mezclados.

(38)

18 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

Pseudocódigo 2.3. Fast Global k-Means para datos mezclados Entrada: k = número de agrupamientos a formar

X = conjunto de datos.

Salida: Valor de la función objetivo

Conjunto de objetos representativos Partición. 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 inicio

n  número de objetos;

CrearVector Semillas[0,. . . ,k - 1] /* Crea un vector de longitud k */

Semillas[0]  # del objeto más parecido en promedio a todos los objetos del conjunto de datos;

para k’  1 a k - 1 hacer Aux  0;

Bi  0;

BAux  0;

para i  0 a n - 1 hacer

/* Obtiene Bi usando la ecuación 2.23*/

Baux  ObtieneBi(i);

si BAux > Bi entonces

Bi  BAux

fin si fin para

/* Obtiene los objetos que maximizan Bi y los almacena en un vector */

VecAux  ObtObjMaxBi();

w  |VecAux|;

para i  0 a w - 1 hacer xi  VecAux[i];

si xi ≠ Semillas[z], z = 0,…, k’ - 1 entonces Semillas[k’]  xi;

[J; OR; Par]  kMeansFuncionesSimilitud(Semillas);

/* J valor de la función objetivo */

/* OR objetos representativos */

/* Par partición */

si J > Aux entonces Aux  J;

ORAux  OR;

ParAux  Par;

fin si fin si fin para

Semillas  ORAux;

fin para

FuncObjAux;

ObjRep  ORAux;

Particion  ParAux;

retornar FuncObj,ObjRep,Particion;

(39)

2.6 CONJUNTOS DE DATOS GRANDES Y MUY GRANDES 19

2.6 Conjuntos de datos grandes y muy grandes

Debido a la subjetividad de las definiciones para conjuntos de datos grandes y muy grandes, en la literatura, se han manejado diversos criterios para definir

cuándo un conjunto de datos es grande o muy grande (LDS o VLDS por sus siglas

en inglés), así como para decidir cuándo un algoritmo de agrupamiento ha sido desarrollado para procesar LDS y VLDS.

En (Havens, et al., 2012) se clasifica a los conjuntos de datos según su tamaño en bytes, como se muestra en la Tabla 2.1.Esta tabla fue originalmente propuesta en (Huber, 1997). En (Hathaway & Bezdek, 2006) incluyeron la categoría VL a la tabla. En el trabajo de Havens, se afirma que esta tabla es aún pertinente en la actualidad.

Tabla 2.1: Clasificación de conjuntos de datos por tamaño Tamaño

Bytes

Tiny Small Medium Large Huge Monster VL 100b 10Kb 1Mb 100Mb 10Gb 1Tb >Tb

Havens presenta una definición de VLD que no es una definición objetiva, pero

que permite entender fácilmente el concepto. “Un VLD es cualquier conjunto de

datos que no puede ser almacenado en la memoria principal de una compu-tadora”.

Havens presenta también un ejemplo que justifica la pertinencia de la Tabla

2.1: suponga un conjunto de datos representado por 1012 objetos y cada objeto

con 10 atributos; estos almacenados en un formato de entero corto (4 bytes),

entonces se requeriría de alrededor de 40Tb para almacenar dicho conjunto,

siendo que la mayoría de las computadoras de alto rendimiento tienen menos de 1Tb de memoria principal. De ahí la creencia de que la Tabla 2.1 permanecerá siendo pertinente por muchos años más.

Por otra parte, en (Sánchez Díaz, et al., 2001), se proponen definiciones de conjuntos de datos grandes y muy grandes basadas en los criterios manejados en la literatura.

Para estas definiciones, se marcan las diferencias entre conjunto de datos (Data Set, DS), conjunto grande de datos (Large Data Set, LDS) y conjunto muy grande de datos (Very Large Data Set, VLDS)

(40)

20 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA Def. 1. “Un conjunto de datos es un DS, si es posible almacenar en memoria la

matriz de comparaciones entre objetos y al conjunto de datos en sí”.

Def. 2. “Un conjunto de datos es grande (LDS), si no es posible almacenar en memoria la matriz de comparaciones entre objetos, pero el conjunto de objetos sí puede ser almacenado en memoria”.

Def. 3. “Un conjunto de datos es muy grande (VLDS), si no es posible almacenar en memoria la matriz de comparaciones entre objetos y tampoco es po-sible almacenar en memoria al conjunto de datos”.

Al igual que Havens, también creemos que la definición de la Tabla 2.1, así como las definiciones presentadas por Sánchez Díaz, siguen siendo válidas en la actualidad y que además se complementan. De igual manera, presentamos un ejemplo que permite verificar la pertinencia de estas definiciones. Suponga un

conjunto de datos representado por 106 objetos y cada objeto con 10 atributos;

estos almacenados en un formato de entero corto (4 bytes), entonces se requeriría

de alrededor de 40Gb para almacenar dicho conjunto. Éste conjunto podría ser

almacenado en la memoria principal de computadoras de alto rendimiento, sin embargo se requeriría de alrededor de 4Tb de memoria principal para almacenar la matriz de comparación de objetos. Entonces podríamos clasificar este con-junto como un gran concon-junto (LDS), pero sin ser aún un concon-junto muy grande (VLDS).

2.7 Índices de calidad de los agrupamientos

Los índices de calidad de los agrupamientos son aplicados para juzgar

diferen-tes aspectos de la validez de un agrupamiento (Tan, et al., 2005) y son clasifica-dos en los siguientes tipos:

Medidas no supervisadas (índices internos): Miden la calidad de la estruc-tura de un agrupamiento cuando no se tiene información de las clases. En la ecuación (2.24) se muestra una forma de calcular la calidad de un agrupa-miento.

𝑜𝑣𝑒𝑟𝑎𝑙𝑙 𝑣𝑎𝑙𝑖𝑑𝑖𝑡𝑦 = ∑ 𝑤𝑖 𝑣𝑎𝑙𝑖𝑑𝑖𝑡𝑦(𝐶𝑖)

𝑘

𝑖=1

(41)

2.7 ÍNDICES DE CALIDAD DE LOS AGRUPAMIENTOS 21

donde:

o validity es una función en términos de la cohesión, separación o una

combinación de ambas medidas.

o w es el peso de la función validity(Ci) y puede tomar el valor de 1 por

simplicidad, la cardinalidad del agrupamiento, o en otros casos refle-jar alguna propiedad más complicada.

Estas medidas a su vez se clasifican en dos tipos:

o Medidas de cohesión del agrupamiento (compacntess, tightness): De-terminan qué tan parecidos son los objetos de un agrupamiento. En la ecua-ción (2.25) se muestra una forma de calcular la cohesión de un agrupa-miento.

𝑐𝑜ℎ𝑒𝑠𝑖𝑜𝑛(𝐶𝑖) = ∑𝑝𝑟𝑜𝑥𝑖𝑚𝑖𝑡𝑦(𝑥, 𝑐𝑖) 𝑥∈𝐶𝑖

(2.25)

donde:

o proximity es una función de disimilitud

o Medidas de separación del agrupamiento (isolation): Determinan cuán distintos o separados están los agrupamientos respecto a otros. En la ecua-ción (2.26) se muestra una forma de calcular la separaecua-ción entre agrupa-mientos.

𝑠𝑒𝑝𝑎𝑟𝑎𝑡𝑖𝑜𝑛(𝐶𝑖, 𝐶𝑗) = 𝑝𝑟𝑜𝑥𝑖𝑚𝑖𝑡𝑦(𝑐𝑖, 𝑐𝑗) (2.26) donde:

o ci es el prototipo (centroide) del agrupamiento Ci

Medidas supervisadas (índices externos): Miden en qué grado los agrupa-mientos construidos por un algoritmo de agrupamiento coinciden con la in-formación a priori del dominio. Algunos índices externos son:

𝑒𝑛𝑡𝑟𝑜𝑝𝑦 = ∑𝑚𝑖

𝑚 𝑒𝑖

𝑘

𝑖=1

(2.27)

𝑝𝑢𝑟𝑖𝑡𝑦 = ∑𝑚𝑖

𝑚 𝑝𝑖

𝑘

𝑖=1

(2.28)

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑖, 𝑗) = 𝑝𝑖𝑗 (2.29)

𝑟𝑒𝑐𝑎𝑙𝑙(𝑖, 𝑗) =𝑚𝑚𝑖𝑗

(42)

22 MARCO TEÓRICO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA

𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒(𝑖, 𝑗) =2 × 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑖, 𝑗) × 𝑟𝑒𝑐𝑎𝑙𝑙(𝑖, 𝑗)

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(𝑖, 𝑗) + 𝑟𝑒𝑐𝑎𝑙𝑙(𝑖, 𝑗) (2.31)

donde:

o 𝑒𝑖 = − ∑𝐿𝑗=1𝑝𝑖𝑗log2𝑝𝑖𝑗

o L es el número de clases

o k es el número de agrupamientos

o m es el número total de objetos

o 𝑝𝑖𝑗 = 𝑚𝑖𝑗

𝑚𝑖

o 𝑝𝑖 = 𝑚𝑎𝑥𝑗{𝑝𝑖𝑗}

o mi es el número de objetos en el agrupamiento i

o mj es el número de objetos en la clase j

o mijes el número de objetos de la clase j en el agrupamiento i

Medidas relativas: Comparan los resultados del agrupamiento de algorit-mos diferentes o bien los resultados de un agrupamiento y la distribución de los datos, en caso de ser conocida. En la ecuación (2.32) se muestra una forma de calcular la medida Rand Index, la cual es una medida de similitud entre un par de agrupamientos.

𝑅𝑎𝑛𝑑 𝐼𝑛𝑑𝑒𝑥(𝑐𝑖, 𝑐𝑗) =

𝑎 + 𝑑

𝑎 + 𝑏 + 𝑐 + 𝑑 (2.32) donde

o a es el número de pares de objetos que pertenecen al grupo ci y al grupo

cj.

o b es el número de pares de objetos que pertenecen al grupo ci y no al

grupo cj.

o c es el número de pares de objetos que no pertenecen al grupo ci pero que

pertenecen al grupo cj.

o d es el número de pares de objetos que pertenecen a grupos distintos de

(43)

Capítulo 3

Trabajo Relacionado

En este capítulo, se describen los principales métodos de agrupamiento para grandes conjuntos de datos, los cuales abordan el problema de agru-par conjuntos numéricos, así como conjuntos mezclados. Esta descripción, permite ubicar el contexto de la investigación de este trabajo.

3.1 Introducción

En la literatura podemos encontrar varios métodos de agrupamiento para gran-des conjuntos de datos, la gran mayoría están diseñados para agrupar conjuntos de datos numéricos; esto es debido a que es posible aplicar propiedades que per-miten representar y acceder a la información de manera eficiente al aprovechar la naturaleza de los datos. Por otra parte, existen algunos trabajos que permiten agrupar grandes conjuntos de datos mezclados, aunque estos forman únicamente agrupamientos no convexos.

Una característica importante para los métodos de agrupamiento de grandes conjuntos de datos es que parten del supuesto de que existe redundancia de in-formación y que es posible aproximar los resultados de agrupamiento al procesar subconjuntos representativos y que sobre todo, hacen factible realizar la tarea. De acuerdo a (Havens, et al., 2012), los métodos de agrupamiento para grandes

conjuntos de datos, pueden ser categorizados en 3 tipos1:

1. Métodos de agrupamiento de muestreo: Realizan el agrupamiento a partir

de muestras pequeñas (comúnmente aleatorias) de objetos seleccionados.

(44)

24 TRABAJO RELACIONADO

COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA Algunos ejemplos de este tipo de agrupadores son: CLARA (Kaufman & Rousseeuw, 2005), CURE (Guha, et al., 2001), etc.

2. Métodos de un solo escaneo: Estos cargan en memoria de forma

secuen-cial pequeños segmentos de datos, así agrupan, usando algún algoritmo base, porciones manejables en un solo escaneo del conjunto y finalmente combinan los resultados de cada porción. Este tipo de métodos siguen estrategias de agrupamiento incremental y de tipo divide y vencerás.

3. Métodos de transformación de los datos: Estos alteran la estructura de los

datos de tal manera que éstos sean accedidos de forma más eficiente.

Al-gunos ejemplos de este tipo de agrupadores son BIRCH (Zhang, et al.,

1996), CLARANS (Ng & Han, 2002), etc.

3.2 Métodos de agrupamiento para grandes conjuntos de datos

En (Zhang, et al., 1997) se propone un método de agrupamiento de nombre BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies), el cual es un método escalable para conjuntos muy grandes de datos que produce agru-pamientos de objetos numéricos considerando los recursos de cómputo disponi-bles; memoria disponible y restricciones de tiempo. BIRCH aborda el problema de agrupamiento para formas no convexas y es adecuado para agrupar conjuntos grandes ya que el costo computacional es lineal en dependencia al número de

objetos del conjunto de entrada, es decir, BIRCH requiere una sola pasada del

conjunto completo para entregar un agrupamiento de buena calidad, aunque op-cionalmente es posible realizar escaneos adicionales que mejoren la calidad del agrupamiento.

La idea básica detrás de BIRCH consiste en realizar resúmenes del conjunto

de datos a modo de reducir la escala del problema. Estos resúmenes se obtienen a partir de un árbol de características de agrupamiento (Clustering Feature tree, CF-tree). Un CF-tree es un árbol balanceado que permite tener representaciones muy compactas del conjunto de datos, pues cada entrada en los nodos hoja es un subgrupo de objetos y no solo un objeto. Los nodos hoja absorben tantos objetos como se especifique en un umbral. De este modo, un CF-tree está caracterizado por nodos intermedios del tipo CF, éstos contienen el número de objetos absor-bidos, la suma lineal y la suma de los cuadrados de los objetos en el grupo. Esta información almacenada es suficiente para calcular los centroides. Además, una

Referencias

Documento similar

En el Capítulo 7 se muestran los resultados obtenidos, tanto para el síndrome de Down, como para otros conjuntos de datos del repositorio UCI [91], que sirven para comparar el

El Programa de Mecenazgo organiza un concurso para "Amigos del IAC" en el cual podrán realizar una propuesta de observación para un telescopio robótico 1. Aquellas que

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

[r]

La vida real, no obstante, proporciona la certidumbre de que, en multitud de ocasiones, el interés de cada uno se satisface con el concurso propio y de otro u otros portadores

ELABORACIÓN DE LOS MAPAS DE PELIGROSIDAD Y RIESGO REQUERIDOS POR EL R.D...

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la