Agrupamiento en grandes conjuntos de datos mezclados

125
©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 Diciembre 2013

Transcript of Agrupamiento en grandes conjuntos de datos mezclados

Page 1: Agrupamiento en grandes conjuntos de datos mezclados

©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

Diciembre 2013

Page 2: Agrupamiento en grandes conjuntos de datos mezclados
Page 3: Agrupamiento en grandes conjuntos de datos mezclados

I

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

Page 4: Agrupamiento en grandes conjuntos de datos mezclados

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.

Page 5: Agrupamiento en grandes conjuntos de datos mezclados

III

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

Page 6: Agrupamiento en grandes conjuntos de datos mezclados

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.

Page 7: Agrupamiento en grandes conjuntos de datos mezclados

V

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 Pineda por 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 compañeros de cubo: Patricia, Yared, Farfán,

Harold, Miguel. Sin ustedes nada habría sido igual.

Page 8: Agrupamiento en grandes conjuntos de datos mezclados

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.

A todo aquel lector de este trabajo, muchas gracias.

Page 9: Agrupamiento en grandes conjuntos de datos mezclados

VII

Í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

2.7 Índices de calidad de los agrupamientos ...................... 20

Page 10: Agrupamiento en grandes conjuntos de datos mezclados

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

6.1 Descripción de los experimentos .................................. 69

Page 11: Agrupamiento en grandes conjuntos de datos mezclados

ÍNDICE GENERAL IX

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

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

Referencias .............................................................................. 101

Page 12: Agrupamiento en grandes conjuntos de datos mezclados

X ÍNDICE GENERAL

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

Page 13: Agrupamiento en grandes conjuntos de datos mezclados

XI

Í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

Page 14: Agrupamiento en grandes conjuntos de datos mezclados

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

Page 15: Agrupamiento en grandes conjuntos de datos mezclados

ÍNDICE DE FIGURAS XIII

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

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

Page 16: Agrupamiento en grandes conjuntos de datos mezclados

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

6.11. Resultados del agrupamiento por FGKMb . . . . . . . . . . . . . . . . . . . . 86

Page 17: Agrupamiento en grandes conjuntos de datos mezclados

ÍNDICE DE FIGURAS XV

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

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

Page 18: Agrupamiento en grandes conjuntos de datos mezclados

XVI ÍNDICE DE FIGURAS

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

Page 19: Agrupamiento en grandes conjuntos de datos mezclados

XVII

Í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

Page 20: Agrupamiento en grandes conjuntos de datos mezclados

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

Page 21: Agrupamiento en grandes conjuntos de datos mezclados

1

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

Page 22: Agrupamiento en grandes conjuntos de datos mezclados

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,

Page 23: Agrupamiento en grandes conjuntos de datos mezclados

1.2 OBJETIVOS GENERALES Y ESPECÍFICOS 3

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

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

ción y sensibilidad en el orden de los datos

Page 24: Agrupamiento en grandes conjuntos de datos mezclados

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.

Page 25: Agrupamiento en grandes conjuntos de datos mezclados

5

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

formas

Page 26: Agrupamiento en grandes conjuntos de datos mezclados

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 agrupamientos de partición y agrupamientos 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árquico 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 subconjuntos

para formar niveles de agrupamiento más específicos. Algunos ejemplos

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

Link, Average-Link, Chamaleon, OPTICS, etc.

Page 27: Agrupamiento en grandes conjuntos de datos mezclados

2.2 TIPOS DE AGRUPAMIENTOS 7

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

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 agrupamiento 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)

Page 28: Agrupamiento en grandes conjuntos de datos mezclados

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 valores 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 numé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)

Page 29: Agrupamiento en grandes conjuntos de datos mezclados

2.3 DEFINICIÓN FORMAL DE AGRUPAMIENTO 9

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

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, … , 𝑘

𝑥𝑡∈𝑀𝑗

(2.3)

Page 30: Agrupamiento en grandes conjuntos de datos mezclados

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

expresión 𝛼𝑚𝑗(𝑥𝑖)

Page 31: Agrupamiento en grandes conjuntos de datos mezclados

2.4 MEDIDAS DE COMPARACIÓN 11

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

𝛼𝑚𝑗(𝑥𝑖) =

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

define como:

Page 32: Agrupamiento en grandes conjuntos de datos mezclados

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

(2.14)

Page 33: Agrupamiento en grandes conjuntos de datos mezclados

2.4 MEDIDAS DE COMPARACIÓN 13

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

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

tipo de atributo(numérico o no numérico) y se define como:

Page 34: Agrupamiento en grandes conjuntos de datos mezclados

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 numéricos.

En el trabajo de Huang se combinan estas dos medidas para calcular la distancia

Page 35: Agrupamiento en grandes conjuntos de datos mezclados

2.5 ALGORITMOS DE AGRUPAMIENTO PARA DATOS MEZCLADOS 15

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

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 atributos 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 utilizar 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

Page 36: Agrupamiento en grandes conjuntos de datos mezclados

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

principalmente a que en cada iteración, el algoritmo Global k-Means ejecuta

Page 37: Agrupamiento en grandes conjuntos de datos mezclados

2.5 ALGORITMOS DE AGRUPAMIENTO PARA DATOS MEZCLADOS 17

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

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

Page 38: Agrupamiento en grandes conjuntos de datos mezclados

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

FuncObj Aux;

ObjRep ORAux;

Particion ParAux;

retornar FuncObj,ObjRep,Particion;

fin

Page 39: Agrupamiento en grandes conjuntos de datos mezclados

2.6 CONJUNTOS DE DATOS GRANDES Y MUY GRANDES 19

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

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)

Page 40: Agrupamiento en grandes conjuntos de datos mezclados

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 conjunto (LDS), pero sin ser aún un conjunto 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

(2.24)

Page 41: Agrupamiento en grandes conjuntos de datos mezclados

2.7 ÍNDICES DE CALIDAD DE LOS AGRUPAMIENTOS 21

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

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 separació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)

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

𝑚𝑗 (2.30)

Page 42: Agrupamiento en grandes conjuntos de datos mezclados

22 MARCO TEÓRICO

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

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

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

donde:

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

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 mij es 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

ci y cj.

Page 43: Agrupamiento en grandes conjuntos de datos mezclados

23

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.

1 Adicionalmente, también podemos considerar a los algoritmos de agrupamiento paralelos.

Page 44: Agrupamiento en grandes conjuntos de datos mezclados

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

Page 45: Agrupamiento en grandes conjuntos de datos mezclados

3.2 MÉTODOS DE AGRUPAMIENTO PARA GRANDES CONJUNTOS DE DATOS 25

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

entrada de CF permite actualizar sus valores de forma incremental y consisten-

temente cuando un nuevo objeto es insertado en el árbol o cuando se requiere

mezclar dos subgrupos (debido a las restricciones de memoria).

El método de agrupamiento BIRCH consta de 4 fases.

Fase 1: Realiza un escaneo simple de los datos para generar el CF-tree

utilizando un algoritmo de inserción

Fase 2: Escanea las entradas del CF-tree inicial para reconstruir un CF-

tree más pequeño. Así se obtiene un conjunto de grupos más pequeño,

pero que mantiene el patrón de la distribución de los datos

Fase 3: Hace uso de un algoritmo de agrupamiento global o semiglobal

para agrupar los objetos almacenados en los nodos hojas. El autor su-

giere el uso de K-means o CLARANS

Fase 4: Utiliza los centroides producidos en la fase 3 como semillas y

repite el proceso de agrupamiento con los CF producidos en los nodos

hojas. El autor comenta que es posible alcanzar el mínimo global al rea-

lizar varias iteraciones

En los experimentos del trabajo de Zhang, se realizaron pruebas de escalabili-

dad al incrementar el número de objetos del conjunto de datos, así como pruebas

de escalabilidad al incrementar el número de grupos. El conjunto más grande

utilizado para sus experimentos fue un conjunto sintético de hasta 200,000 ob-

jetos concluyendo que BIRCH trabaja muy bien en conjuntos grandes de datos.

En (Sánchez Díaz, et al., 2001) se presentan dos métodos diseñados para agru-

par grandes conjuntos de datos mezclados, GLC (Global Logical-combinatorial

Clustering) y DGLC (Density-based Global Logical-combinatorial Clustering).

También se presenta un método diseñado para agrupar conjuntos muy grandes

de datos mezclados, GLC+ (Global Logical-combinatorial clustering plus). Es-

tos métodos permiten hallar formas arbitrarias, es decir, están diseñados para

producir agrupamientos no convexos. A continuación se presenta una breve des-

cripción de estos métodos.

GLC: recibe como entrada un umbral de semejanza, una función de se-

mejanza y el conjunto de objetos a estructurar (de tamaño n), produciendo

como salida el conjunto de componentes conexas. En el peor de los casos

Page 46: Agrupamiento en grandes conjuntos de datos mezclados

26 TRABAJO RELACIONADO

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

la complejidad en tiempo de GLC es O(n2). La complejidad en espacio de

GLC está entre O(n) y O(n2)

DGLC: aplica el método GLC al conjunto de objetos a agrupar y calcula

componentes conexas densas. En el peor de los casos la complejidad en

tiempo del método DGLC está en O(n2)

GLC+: El objetivo de GLC+ es hallar un agrupamiento en conjuntos co-

nectados que aproxime el agrupamiento en componentes conexas del

conjunto de datos, esto al acoplarse al tamaño de la memoria disponible.

Por este motivo GLC+ utiliza esqueletos en lugar de utilizar todos los

datos procesados. La complejidad en tiempo del método GLC+ en el peor

de los casos es O(n)

En los experimentos de Sánchez Díaz, el conjunto más grande que se agrupó

(covtype) consistía de 581,012 objetos. Se concluye que los 3 métodos propues-

tos son comparables con los trabajos del estado del arte. Sin embargo, estos mé-

todos se reportan como los primeros en su tipo, es decir, que permiten agrupar

grandes y muy grandes conjuntos con formas no convexas y que están descritos

por objetos mezclados.

Posteriormente, en (Li, et al., 2004) se presenta el método Scalable Cobweb

para agrupar grandes conjuntos de datos. Este método se basa en un proceso de

dos fases. En la primera fase, el algoritmo Cobweb (Fisher, 1987) es modificado

para producir un árbol balanceado con subgrupos en las hojas. En la segunda

fase se aplica el algoritmo K-means a los subgrupos resultantes para generar el

agrupamiento final. Scalable Cobweb fue inspirado bajo la idea de Cobweb y

BIRCH.

Originalmente Cobweb agrupa conjuntos no numéricos, sin embargo, en la

modificación del método Scalable Cobweb, se puede suponer que los datos si-

guen una distribución normal y de esta manera se habilita al uso de atributos

numéricos, para ello se aplica la función de densidad de probabilidad de una

distribución normal en cada atributo. Para prevenir el problema de desbalanceo

en el árbol se limita el número de hijos que puede tener cada nodo, así como la

altura que puede alcanzar el árbol. También se aplica un criterio para el manejo

de outliers, en donde se desechan aquellos subgrupos que contengan muy pocos

elementos.

Page 47: Agrupamiento en grandes conjuntos de datos mezclados

3.2 MÉTODOS DE AGRUPAMIENTO PARA GRANDES CONJUNTOS DE DATOS 27

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

En los experimentos, el conjunto más grande con el que se agrupo fue un con-

junto sintético con 5 distribuciones gaussianas, 10 atributos numéricos y

100,000 objetos. Se concluye que el método Scalable Cobweb produce grupos

comparables con la versión estándar de K-means con un solo escaneo de los

datos. No se reporta ningún análisis de complejidad del método.

Después, En (Bidyut Kr., et al., 2011) se presenta el método leaders-Single-

Link (l-SL), es un método híbrido que combina el método de agrupamiento ba-

sado en líderes y el algoritmo Single-Link (SL). Este método es capaz de encon-

trar grupos con formas arbitrarias (no convexas) en conjuntos de datos numéri-

cos. A continuación, se proporciona la descripción de estos algoritmos y final-

mente del método.

Algoritmo de agrupamiento Leaders: Es un algoritmo de agrupamiento

de partición basado en distancia con un escaneo simple de los datos, dado

un umbral de distancia τ se produce un conjunto de líderes L incremen-

talmente. Para cada objeto x, si existe un líder l ϵ L tal que ||x-l||<= τ

entonces x se dice un seguidor del líder l. Si no existe tal líder, entonces

x se convierte en un nuevo líder. El valor óptimo de τ queda definido

como τ=h/2 minimizando el tiempo de ejecución, donde h puede ser de-

terminado por expertos o seleccionando aleatoriamente √𝑛 objetos y ha-

llando la máxima distancia entre cada par de grupos. La complejidad en

tiempo requerida es O(mn) donde m es el número de líderes y n es el

número de objetos en el conjunto. La complejidad espacial es O(m)

Algoritmo de agrupamiento SL: Es un algoritmo de agrupamiento je-

rárquico aglomerativo, basado en distancias. La distancia entre dos gru-

pos es la distancia mínima entre un par de objetos, uno en cada agrupa-

miento. Se considera como criterio de paro la distancia h, también, se

supone que el valor h se conoce de antemano. Este método encuentra gru-

pos de formas arbitrarias (no-convexas), para esto, construye un dendo-

grama en donde cada nivel representa un agrupamiento del conjunto de

datos.

Método de agrupamiento l-SL: Obtiene el conjunto de líderes L apli-

cando el algoritmo de clustering leaders usando τ=h/2, posteriormente

aplica SL(L,h) para formar grupos conforme a h y a L. Para obtener el

Page 48: Agrupamiento en grandes conjuntos de datos mezclados

28 TRABAJO RELACIONADO

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

agrupamiento final, cada líder es remplazado por sus seguidores. La com-

plejidad en tiempo del método es O(mn), la complejidad espacial es

O(m2).

En los resultados experimentales con grandes conjuntos de datos, se comparó

la similitud del método l-SL con el algoritmo SL mediante Rand Index. El con-

junto más grande con el que se experimentó fue shuttle de 58,000 objetos y 9

atributos numéricos. Para poder procesar este conjunto de datos con el algoritmo

SL, se tomó un subconjunto de 40,000 objetos. Se reporta que los resultados de

agrupamiento obtenidos por l-SL y SL son muy parecidos para la mayoría de sus

experimentos.

En (Shiuen Bien & Yung Gi, 2011) se propone el método CLUSTERING para

agrupar grandes conjuntos de datos mezclados. El método consta de dos fases,

la primera de ellas aplica un algoritmo de vecinos más cercanos para datos mez-

clados con el objetivo de reducir el número de elementos del conjunto; el algo-

ritmo mezcla objetos que están más cerca que otros utilizando la función de dis-

tancia HEOM (ecuación (2.14)), con esto se obtiene un conjunto de componentes

que están representadas por centros, (la moda en atributos categóricos y la media

en atributos numéricos). En la segunda fase, mediante un algoritmo genético, se

mezclan pequeñas componentes para formar agrupamientos más grandes y de

esta manera se obtiene el agrupamiento final de los datos.

Los autores reportan una complejidad en tiempo de O(n2+GNm), donde n es

el número de objetos, G es el número de generaciones para el algoritmo genético,

N denota el tamaño de la población y m es el número de componentes conexas.

No se reporta análisis de complejidad en espacio. En los experimentos, el con-

junto más grande que se agrupó consistía de 300,000 objetos. También se co-

menta que CLUSTERING resulta inapropiado para encontrar grupos de formas

esféricas (convexas).

También en el mismo año, en (Kumar, et al., 2011) se aborda el problema de

identificar regiones geográficas con condiciones ecológicas y ambientales simi-

lares. Este trabajo se enfoca en el desarrollo de un método de agrupamiento pa-

ralelo que permite el análisis de grandes conjuntos de datos satelitales, esto al

extender su implementación en una de las computadoras más rápidas en el

mundo (con decenas de miles de procesadores).

Page 49: Agrupamiento en grandes conjuntos de datos mezclados

3.2 MÉTODOS DE AGRUPAMIENTO PARA GRANDES CONJUNTOS DE DATOS 29

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

La implementación realizada por Kumar es una versión paralela del algoritmo

k-Means. Básicamente, esta implementación divide y carga en memoria subcon-

juntos del conjunto de datos a agrupar en cada uno de los procesadores disponi-

bles. Inicialmente, se establecen las semillas de la primera iteración en un pro-

cesador y son compartidas con el resto de los procesadores. Posteriormente cada

procesador aplica el algoritmo k-Means a su propio subconjunto de datos. Se

calcula la distancia de cada objeto y los centroides, asignando el objeto al cen-

troide más cercano. Cada procesador calcula la suma parcial de la distancia de

los objetos y sus centroides. Al final de la iteración, se realiza una operación

global de reducción para calcular los nuevos centroides. Se repite el proceso

hasta la convergencia y finalmente se escribe en un archivo la asignación de los

objetos de acuerdo al agrupamiento.

En los experimentos en (Kumar, et al., 2011) se realizan pruebas de compor-

tamiento en tiempo incrementando el número de grupos e incrementando el ta-

maño del conjunto de entrada, así como el escalamiento en dependencia al nú-

mero de procesadores. El conjunto de mayor tamaño reportado consiste de

1,024,767,667 objetos con 22 atributos de tipo numérico. El equipo de cómputo

utilizado en sus experimentos fue una supercomputadora Cray XT5 con 18,688

nodos de tipo dual hex-core AMD Opteron 2435 corriendo a 2.6GHz y 16Gb de

memoria DDR2-800. En resumen: 224,256 núcleos de procesamiento y 300 Tb

de memoria principal. No se reporta el análisis de complejidad en tiempo ni en

espacio del algoritmo, así como tampoco se reporta ningún análisis en la calidad

del agrupamiento del algoritmo.

Finalmente, en (Havens, et al., 2012) se compara la eficacia de 3 técnicas que

permiten extender el algoritmo de agrupamiento fuzzy c-means (FCM) para

agrupar conjuntos de datos muy grandes (VL). Mientras que la implementación

literal de FCM (LFCM) agrupa sobre el conjunto de datos completo, las técnicas

de extensión siguen la idea de agrupar muestras representativas y de tamaño

manejable, para después extender los resultados de la muestra y obtener el agru-

pamiento de los datos restantes. Específicamente, se realizan las comparaciones

de métodos basados en:

Muestreo seguido de extensiones no iterativas: rseFCM

Técnicas incrementales que realizan un escaneo secuencial sobre sub-

conjuntos: spFCM, oFCM

Page 50: Agrupamiento en grandes conjuntos de datos mezclados

30 TRABAJO RELACIONADO

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

Versiones basadas en kernels que proveen aproximaciones mediante

muestreo: rsekFCM, spkFCM, okFCM

En el trabajo de Havens se comenta que el muestreo aleatorio es suficiente

para la mayoría de los conjuntos VL, además de que es la forma más eficiente

de escoger una muestra. A continuación se presenta una breve descripción de las

variantes descritas en el trabajo de Havens, así como los algoritmos de agrupa-

miento base.

Pseudocódigo 3.1. LFCM

Entrada: 𝑋, 𝑐,𝑚 Salida: 𝑈,𝑉 01

02

03

04

05

06

inicio

Inicializar 𝑉

mientras 𝑚𝑎𝑥1≤𝑘≤𝑐 {‖𝑉𝑘,𝑛𝑢𝑒𝑣𝑜 −𝑉𝑘,𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟‖2} > 𝜀 hacer

𝑢𝑖𝑗 = [∑ (‖𝑥𝑗−𝑣𝑖‖

‖𝑥𝑗−𝑣𝑘‖)𝑐

𝑘=1

2

𝑚−1]

−1

, ∀𝑖, 𝑗 (3.1)

𝑣𝑖 =∑ (𝑢𝑖𝑗)

𝑚𝑥𝑗

𝑛𝑘=1

∑ (𝑢𝑖𝑗)𝑚𝑛

𝑘=1

, ∀𝑖 (3.2)

fin

LFCM (Literal Fuzzy C-Means). Es un algoritmo de agrupamiento difuso, el

cual considera minimizar el valor de una función objetivo hasta que se alcance

un umbral 𝜀, dicho umbral, sirve como criterio de paro para el algoritmo. El

conjunto de centros de agrupamiento 𝑉 es inicializado seleccionado c objetos

del conjunto aleatoriamente y es actualizado conforme a la ecuación (3.2) del

Pseudocódigo 3.1. La matriz de partición 𝑈 determina el grado de pertenencia

de cada objeto del conjunto respecto a los centros de agrupamiento de acuerdo

a la ecuación (3.1) del Pseudocódigo 3.1. A su vez, la ecuación (3.1) requiere de

un parámetro de 𝑚 (fuzzifier). Los valores sugeridos por el autor para los pará-

metros del algoritmo son 𝜀 = 10−3 y 𝑚 = 1.7.

Pseudocódigo 3.2. rseFCM

Entrada: 𝑋, 𝑐,𝑚 Salida: 𝑈,𝑉 01

02

03 04

inicio

Tomar una muestra sin remplazo de 𝑛𝑠 objetos de 𝑋, denotada 𝑋𝑠 𝑈𝑠 , 𝑉 = 𝐿𝐹𝐶𝑀(𝑋𝑠 , 𝑐,𝑚) fin

rseFCM (random sample and extend Fuzzy C-Means). La idea que sigue esta

variante es tomar una muestra aleatoria de objetos y aplicar FCM para obtener

Page 51: Agrupamiento en grandes conjuntos de datos mezclados

3.2 MÉTODOS DE AGRUPAMIENTO PARA GRANDES CONJUNTOS DE DATOS 31

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

los centros. El supuesto que sigue esta variante es ”Si el muestreo de los datos

fue suficientemente bueno, el error entre las posiciones de los centros produci-

dos mediante el conjunto completo y las posiciones de los centros producidos

por el agrupamiento de la muestra debe ser pequeño”.

Pseudocódigo 3.3. wFCM

Entrada: 𝑋, 𝑐,𝑚

Salida: 𝑈,𝑉 01

02

03 04

05

06

inicio

Si 𝑉 no está inicializada, inicializar 𝑉

mientras 𝑚𝑎𝑥1≤𝑘≤𝑐 {‖𝑉𝑘,𝑛𝑢𝑒𝑣𝑜 −𝑉𝑘,𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟‖2} > 𝜀 hacer

Calcular 𝑈 con la ecuación (3.1)

𝑣𝑖 =∑ 𝑤𝑗(𝑢𝑖𝑗)

𝑚𝑥𝑗

𝑛𝑘=1

∑ 𝑤𝑗(𝑢𝑖𝑗)𝑚𝑛

𝑘=1

, ∀𝑖

fin

wFCM (weigthed Fuzzy C-Means). wFCM es una variante del LFCM que

considera pesos que definen la importancia relativa de cada objeto en la solución

del agrupamiento, tal que, objetos con mayor peso son más influyentes al definir

la posición de los centros. w es un conjunto de pesos predefinidos que cumple

𝑤 ∈ ℝ𝑛 , 𝑤𝑗 ≥ 0. Estos pesos son importantes en los métodos spFCM y oFCM.

Pseudocódigo 3.4. spFCM

Entrada: 𝑋, 𝑐,𝑚 Salida: 𝑉 01

02

03 04

05

06

07

08

09

inicio

Leer 𝑋 como subconjuntos de tamaño 𝑛𝑠 cuyos elemen-tos son aleatoriamente seleccionados, 𝑋 = {𝑋1, 𝑋2, … , 𝑋𝑠} 𝑤 = 1𝑛𝑠

𝑈 , 𝑉 = 𝑤𝐹𝐶𝑀(𝑋1, 𝑐, 𝑚,𝑤) para 𝑙 = 2 hasta 𝑠 hacer

𝑤′𝑖 = ∑ (𝑢𝑖𝑗)𝑤𝑗

𝑛𝑠𝑗=1 , 𝑖 = 1,… , 𝑐

𝑤 = 𝑤′ ∪ 1𝑛𝑠

𝑈 , 𝑉 = 𝑤𝐹𝐶𝑀({𝑉 ∪ 𝑋𝑙}, 𝑐, 𝑚, 𝑤, 𝑉) fin

spFCM (single-pass Fuzzy C-Means). Esta variante sigue una estrategia in-

cremental. Inicia agrupando la primera partición para obtener c centros e inicia-

liza un vector de pesos con 1’s para los objetos de la muestra, indicando igual

importancia para todos. spFCM itera sobre los subconjuntos restantes de X y en

cada iteración wFCM agrupa un conjunto aumentado compuesto de la unión de

los c centros de la iteración previa y la muestra del subconjunto Xl. De esta

forma, (c+ns) objetos son agrupados en cada iteración. En este caso, se asignan

Page 52: Agrupamiento en grandes conjuntos de datos mezclados

32 TRABAJO RELACIONADO

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

pesos al conjunto de centros c a partir de la suma de los valores de la matriz de

partición de los objetos de la iteración anterior, mientras que los objetos de la

partición actual son considerados igualmente importantes.

Pseudocódigo 3.5. oFCM

Entrada: 𝑋, 𝑐,𝑚 Salida: 𝑉 01

02

03 04

05

06

07

08

inicio

Leer 𝑋 como subconjuntos de tamaño 𝑛𝑠,𝑋 = {𝑋1, 𝑋2, … , 𝑋𝑠},

donde 𝑋𝑖 = {𝑋(𝑖−1)𝑛𝑠+1, … , 𝑋𝑖𝑛𝑠}

𝑈1 , 𝑉1 = 𝑤𝐹𝐶𝑀(𝑋1, 𝑐,𝑚, 1𝑛𝑠)

para 𝑙 = 2 hasta 𝑠 hacer 𝑈𝑙 , 𝑉𝑙 = 𝑤𝐹𝐶𝑀(𝑋𝑙 , 𝑐,𝑚, 1𝑛𝑠 , 𝑉𝑙−1)

𝑤𝑙 = ∑ (𝑈𝑙)𝑗𝑛𝑠𝑗=1 , 𝑙 = 1, … , 𝑠

𝑉 = 𝑤𝐹𝐶𝑀({𝑉1 ∪ … ∪ 𝑉𝑠}, 𝑐,𝑚, {𝑤1 ∪… ∪ 𝑤𝑠}) fin

oFCM (online Fuzzy C-Means). A diferencia de spFCM, el cual calcula los

nuevos centros al retroalimentar los centros de la iteración anterior, oFCM

agrupa s subconjuntos de objetos de forma separada y finalmente reúne los s

conjuntos de centros para ser agrupados. El conjunto de centros reunidos, es pe-

sado mediante la suma de los valores de la matriz de partición de los objetos con

sus respectivos centros, mientras que los objetos de las particiones del conjunto

original, son considerados igualmente importante.

Todas las variantes para conjuntos VL anteriores requieren de un paso de ex-

tensión, el cual consiste en calcular la matriz de pertenencias U del conjunto

completo. De igual forma, es posible evaluar el valor de la función objetivo en

caso de ser requerido.

Las variantes basadas en kernels (rsekFCM, spkFCM, okFCM), siguen las mis-

mas estrategias para agrupar conjuntos grandes de datos, también dependen de

un paso de extensión para determinar el agrupamiento final. Sin embargo, las

variantes basadas en kernels permiten encontrar únicamente formas no conve-

xas.

En la Tabla 3.1 se muestra el análisis de complejidad en tiempo y espacio para

todas las variantes del FCM en conjuntos VL que Havens comparó.

Las variables de la Tabla 3.1 corresponden al número de objetos del conjunto

de datos (n), número de agrupamientos a formar (c), el número de atributos de

Page 53: Agrupamiento en grandes conjuntos de datos mezclados

3.2 MÉTODOS DE AGRUPAMIENTO PARA GRANDES CONJUNTOS DE DATOS 33

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

los objetos (d), al número de iteraciones requeridas para la convergencia de los

métodos (t) y al número de subconjuntos en los que el conjunto es divido (s).

Los resultados reportados por Havens, muestran empíricamente que estas téc-

nicas son una buena elección para aproximar el algoritmo FCM a conjuntos VL.

Se reporta haber agrupado un conjunto sintético de 5 mil millones de objetos, el

cual consta de 3 distribuciones Gaussianas en 4 dimensiones.

Tabla 3.1. Complejidad en tiempo y espacio de métodos de agrupamiento FCM en

conjuntos VL

Método Tiempo Espacio

wFCM,

LFCM O(tc2dn) O((d+c)n)

rseFCM O(tc2dn/s) O((d+c)(n/s))

spFCM O(tc2dn) O((d+c)(n/s))

oFCM O(tc2dn) O((d+c)(n/s)+cs)

Extensión O(c2dn) O(cn)

En la revisión de trabajos relacionados se mostró que existe una variedad de

métodos de agrupamiento para grandes conjuntos de datos. De entre ellos pode-

mos diferenciar aquellos que producen agrupamientos convexos en grandes con-

juntos de datos numéricos, como es el caso de los métodos Parallel k-Means,

LFCM, rseFCM, spFCM y oFCM así como los que producen agrupamientos no

convexos en conjuntos de datos numéricos BIRCH, leaders y l-SL. Por otra

parte, también podemos encontrar métodos de agrupamiento para grandes con-

juntos de datos mezclados, como es el caso de los métodos CLUSTERING, GLC,

DGLC y GLC+, estos métodos producen agrupamientos con formas no conve-

xas. Finalmente, Scalable Cobweb es un método que produce agrupamientos

convexos, sin embargo, únicamente permite agrupar conjuntos puramente nu-

méricos o no numéricos. En la Tabla 3.2, se muestra un resumen de las caracte-

rísticas de los principales trabajos revisados. Como se puede observar, el método

propuesto se diferencia de los trabajos relacionados por ser un método para agru-

par grandes conjuntos de datos mezclados cuyos agrupamientos son convexos.

Page 54: Agrupamiento en grandes conjuntos de datos mezclados

34 TRABAJO RELACIONADO

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

Tab

la 3

.2 P

rinci

pal

es a

lgori

tmos

de

agru

pam

iento

par

a co

nju

nto

s gra

ndes

CE

11

O(m

)

O(n

2)

O(m

2 )

-

O((

d+c

)n)

O((

d+c

)(n

/s))

O((

d+c

)(n

/s))

O((

d+c

)(n

/s)+

cs)

- -

O(n

2)-

O(n

)

- - -

<O(n

2 )

2 L

= L

arge;

Gra

n c

onju

nto

de

dat

os

3

VL

= V

ery L

arge;

Conju

nto

de

dat

os

muy g

rande

4 C

= C

onvex

; A

gru

pam

iento

convex

o

5

N

C =

Nonco

nvex

; A

gru

pam

iento

no c

onvex

o

6 M

D =

M

ixed

Dat

a; C

onju

nto

de

dat

os

mez

clad

os

7

N

D =

Num

eric

Dat

a; C

onju

nto

de

dat

os

num

éric

os

8 C

D =

Cat

egori

cal

Dat

a; C

onju

nto

de

dat

os

no n

um

éric

os

9

M

CA

= M

ayor

Conju

nto

Agru

pad

o

10

CT =

Com

ple

jidad

en T

iem

po

11

C

E =

Com

ple

jidad

Esp

acia

l

CT

10

O(m

n)

O(m

n)

O(n

2+G

Nm

)

O(t

c2 dn)

O(t

c2 dn

/s)

O(t

c2 dn)

O(t

c2 dn)

-

Lin

eal r

es-

pec

to a

n

O(n

2)

O(n

2 -n)/

2)

O(n

)

-

<O(n

2 )

MC

A9

-

40,0

00

58,0

00

300,

000

5,00

0,00

0,

000

1,02

4,76

7,66

7

200,

000

581,

012

100,

000

1,00

0,00

0

CD

8

ND

7

MD

6

NC

5

C4

VL

3

L

Nom

bre

leader

s

Sin

gle

Lin

k

l-SL

CLU

STER

ING

LFC

M

rseF

CM

spFC

M

oFC

M

Pa

ralle

l k-

mea

ns

BIR

CH

GLC

DG

LC

GLC

+

Scal

able

Co

bw

eb

Alg

ori

tmo p

ropues

to

Au

tor

(Bid

yut

Kr.,

et a

l., 2

011)

(Sh

iuen

B

ien

& Y

un

g G

i, 20

11)

(Hav

ens,

et

al.,

Dic

.

2012

)

(Kum

ar, e

t al

., 20

11)

(Zh

ang,

et

al.,

199

7)

(San

chez

D

iaz,

et

al.,

2001

)

(Li,

et a

l.,

2004

)

Page 55: Agrupamiento en grandes conjuntos de datos mezclados

35

Capítulo 4

Método propuesto

En este capítulo se introducen dos variantes del método propuesto

para resolver el problema de agrupamiento convexo de grandes conjun-

tos de datos mezclados, las cuales siguen una estrategia de tipo divide

y vencerás. Además, se incluye el análisis de complejidad computacio-

nal de las variantes del método propuesto.

4.1 Introducción

Una gran cantidad de algoritmos de agrupamiento pueden ser utilizados

cuando no se tiene información a priori de la distribución de los datos, pero

cuando estos algoritmos se enfrentan con grandes conjuntos, muchos de estos

algoritmos resultan inaplicables. Esto está relacionado a las características res-

trictivas referentes al tamaño del problema, a la capacidad de almacenamiento y

al poder de cómputo.

Una consideración adicional referente a los conjuntos de datos mezclados, es

que éstos deben ser tratados de forma adecuada. Es bien conocido que tratar

atributos categóricos como atributos numéricos, no siempre produce resultados

adecuados, puesto que no todos los dominios categóricos presentan un orden.

Por esta razón, se hace necesario contar con una buena medida de comparación

entre objetos que permita capturar adecuadamente la similitud.

Los métodos basados en k-Means son prometedores por su eficiencia al pro-

cesar grandes conjuntos de datos, sin embargo, k-Means está limitado a agrupar

Page 56: Agrupamiento en grandes conjuntos de datos mezclados

36 MÉTODO PROPUESTO

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

conjuntos de datos numéricos. Por esta razón, existen algoritmos que han exten-

dido el algoritmo k-Means para agrupar conjuntos de datos mezclados. No obs-

tante, éstos resultan inadecuados para procesar grandes conjuntos de datos de-

bido a su complejidad computacional. La motivación fundamental de este tra-

bajo es que en la actualidad se hace necesario agrupar grandes conjuntos de datos

mezclados. La hipótesis es que es posible agrupar grandes conjuntos de datos

mezclados bajo un compromiso entre eficiencia y eficacia, es decir, lograr agru-

par estos conjuntos en un tiempo razonable pero sin sacrificar considerablemente

la calidad del agrupamiento.

El método propuesto requiere de una estrategia que haga factible realizar la

tarea de agrupar grandes conjuntos de datos mezclados, la cual debe estar basada

en un buen algoritmo de agrupamiento para datos mezclados que además sea

capaz de comparar la similitud de objetos con atributos mezclados y objetos re-

presentativos de manera consistente.

La solución que se propone para el problema de agrupamiento en grandes con-

juntos de datos mezclados en esta investigación es abordada siguiendo una es-

trategia de tipo divide y vencerás. Esta estrategia consiste en descomponer el

problema a resolver en un cierto número de sub-problemas más pequeños, para

después resolver sucesiva e independientemente todos los sub-problemas y com-

binar las soluciones parciales obtenidas para hallar la solución del problema ori-

ginal. La eficiencia y la eficacia de esta estrategia está relacionada directamente

con el modo en que se divide el problema y la forma en que se resuelven y com-

binan los sub-problemas.

En las secciones siguientes se describen dos variantes del método propuesto

las cuales están diseñadas para hacer factible el agrupamiento de grandes con-

junto de datos mezclados mediante un algoritmo base de agrupamiento para da-

tos mezclados que produzca agrupamientos convexos, una medida de compara-

ción de objetos mezclados y una forma de determinar objetos representativos

(centroides) para datos mezclados que permitan representar a los objetos de los

agrupamientos.

4.2 Solución propuesta: Variante (a)

La primera variante del método propuesto tiene como propósito reducir el

tiempo y espacio requerido para procesar grandes conjuntos de datos mezclados

Page 57: Agrupamiento en grandes conjuntos de datos mezclados

4.2 SOLUCIÓN PROPUESTA: VARIANTE (A) 37

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

y de esta manera hacer posible realizar la tarea con los recursos computacionales

con los que se disponga. Quizá la manera más básica para proceder a agrupar un

conjunto grande de datos sea tomar una muestra del conjunto de datos original

y aplicar un algoritmo de agrupamiento sobre esta, para después extender la so-

lución hallada sobre el conjunto completo. Es claro que entre menor información

se consideré en la búsqueda de la solución al agrupamiento, la tarea será llevada

a cabo en un menor tiempo, pero la calidad del agrupamiento se verá más com-

prometida. Este hecho nos motiva a buscar una alternativa en la que sea posible

procesar el conjunto de datos completo en un tiempo razonable, pero sin que se

vea comprometida considerablemente la calidad en la solución.

La solución propuesta para la variante (a) consta de 4 fases que siguen una

estrategia de tipo divide y vencerás. La primera fase consiste en formar aleato-

riamente muestras manejables a partir del conjunto de datos de entrada (dividir

el problema). La segunda fase consiste en aplicar un algoritmo de agrupamiento

de tipo k-Means para datos mezclados a cada una de las muestras para producir

un conjunto de agrupamientos, cada muestra caracterizada por k centroides u

objetos representativos. A partir del conjunto de objetos representativos se puede

construir un conjunto de objetos más pequeño a partir de la unión de los objetos

representativos de cada muestra (resolver pequeños sub-problemas). Posterior-

mente, si el conjunto resultante sigue siendo demasiado grande, se realiza un

llamado recursivo hacia la fase 1 y 2 (dividir y agrupar recursivamente), en caso

contrario se procede a la fase 3. La fase 3 consiste en construir el agrupamiento

del conjunto de objetos representativos resultantes de la convergencia de las fa-

ses anteriores (combinar las soluciones). Finalmente la fase 4 consiste en exten-

der la solución hallada hacia el conjunto de datos completo (obtener la solución

del problema original). A continuación, cada una de las cuatro fases es descrita

con mayor detalle.

Fase 1. Dividir el problema. Tomar el conjunto de datos de entrada 𝑋 para

formar 𝑑 subconjuntos mutuamente excluyentes de tamaño 𝑝, donde 𝑝 es un

parámetro para el método y 𝑑 puede ser determinado a partir de 𝑝; de tal forma

que 𝑋 = ⋃ 𝑋𝑗𝑑𝑗=1 𝑦 𝑋1 ∩ 𝑋2 ∩ …∩ 𝑋𝑑 = ∅. La selección de los elementos de

los subconjuntos es realizada aleatoriamente y sin remplazo ya que es una forma

eficiente de seleccionar los elementos de las muestras, además, en (Havens, et

al., 2012) y otros trabajos se afirma que el muestreo aleatorio es suficiente y

Page 58: Agrupamiento en grandes conjuntos de datos mezclados

38 MÉTODO PROPUESTO

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

preferentemente utilizado para el agrupamiento grandes conjuntos de datos a

partir de subconjuntos.

En la sección 2.3 se presentaron definiciones para determinar a los objetos

representativos de los grupos en datos mezclados. Estos objetos representativos

pueden ser determinados por las ecuaciones (4.1) y (4.2) y resultan ser objetos

del conjunto de datos que alcanzan el máximo de la ecuación (4.3). Para esto es

necesario determinar la similitud de los objetos pertenecientes a un agrupa-

miento con respecto a los objetos representativos candidatos en cada iteración.

𝑟𝑀𝑗(𝑥𝑖) =

𝛽𝑀𝑗(𝑥𝑖)

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

(𝑥𝑖))+ 𝜂(𝑥𝑖) (4.1)

𝑟𝑀𝑗(𝑥𝑖) = 𝛽𝑀𝑗

(𝑥𝑖) (4.2)

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

Realizar el cálculo de la similitud de todos los objetos en el grupo en cada

iteración resultaría demasiado costoso, por lo que es conveniente tener previa-

mente calculada la matriz de similitud para cada subconjunto 𝑋𝑖, con 𝑖 = 1…𝑑,

antes de aplicar el algoritmo de agrupamiento para datos mezclados. A diferen-

cia de lo que ocurre con algoritmos de agrupamiento para conjuntos numéricos,

como por ejemplo en el algoritmo k-Means clásico, en donde los objetos repre-

sentativos de cada agrupamiento son determinados mediante las medias de los

atributos de los objetos en el agrupamiento y por lo tanto no es necesario hacer

comparaciones entre objetos del agrupamiento.

Por otra parte, resulta indispensable el uso de una estructura de datos que per-

mita mapear cada objeto del conjunto de datos original a un identificador de los

elementos en los subconjuntos de 𝑋𝑖. Una estructura que resulta adecuada de

acuerdo a su eficiencia computacional, es un diccionario de objetos. Un diccio-

nario de objetos es una estructura que asocia pares ordenados de la forma <Iden-

tificador, Objeto>. Un diccionario de objetos permite entonces identificar un ob-

jeto de 𝑋𝑖 representado por una etiqueta y con ésta hacer referencia al objeto

correspondiente del conjunto de datos original. De esta manera, todo elemento

de los subconjuntos 𝑋𝑖 es mapeado al objeto correspondiente del conjunto ori-

ginal.

Page 59: Agrupamiento en grandes conjuntos de datos mezclados

4.2 SOLUCIÓN PROPUESTA: VARIANTE (A) 39

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

Fase 2. Resolver pequeños sub-problemas (recursión). Tomar cada subcon-

junto 𝑋𝑖 y calcular las matrices de similitud de los objetos de cada subconjunto

mediante las ecuaciones presentadas en la sección 2.4. Posteriormente, aplicar

un algoritmo de agrupamiento para datos mezclados de tipo k-Means. La salida

del algoritmo produce 𝑘 objetos representativos, por lo que, por los d subcon-

juntos 𝑋𝑖 debe de haber un total de 𝑑𝑘 objetos representativos. Los 𝑑𝑘 objetos

representativos son unidos para formar nuevo conjunto de objetos representati-

vos del problema original 𝑋𝑟. Sin embargo, en dependencia del tamaño del pro-

blema, del número de grupos 𝑘 y del parámetro 𝑝 utilizado, puede suceder que

el número de elementos del conjunto de objetos representativos siga siendo un

gran conjunto de datos, por lo que una condición de recurrencia es verificada,

esto es, si |𝑋𝑟| > 𝑝, entonces se procede de forma recursiva a aplicar la fase 1 y

2 hasta que la condición de recurrencia deje de cumplirse (el valor de 𝑝 se man-

tiene constante en la recursión). Cuando se genera el conjunto de datos de obje-

tos representativos, es necesario actualizar en el diccionario de objetos las refe-

rencias de los objetos en el nuevo conjunto y los objetos del conjunto de datos

original.

Fase 3. Combinar las soluciones. Tomar el conjunto de objetos representati-

vos de la salida de la fase 2 y calcular la matriz de similitud de objetos para dicho

conjunto. Posteriormente se aplica el algoritmo de agrupamiento para datos mez-

clados, de esta manera se obtienen 𝑘 objetos como salida del algoritmo de agru-

pamiento. Los 𝑘 objetos representativos deben de ser actualizados en el diccio-

nario de objetos para determinar qué objetos del conjunto de datos original re-

sultaron ser los 𝑘 objetos representativos del agrupamiento final.

Fase 4. Obtener la solución al problema original. Finalmente, se verifica la

similitud de cada uno de los objetos del conjunto de datos original respecto a los

𝑘 objetos representativos finales y de esta manera se asigna cada elemento del

conjunto al agrupamiento cuyo objeto representante resulte ser el más similar.

Como salida se obtiene el conjunto de agrupamientos final.

La figura 4.1 ilustra la variante (a) de la solución propuesta para el agrupa-

miento de grandes conjuntos de datos mezclados y convexos. El pseudocódigo

de la variante (a) del método propuesto es mostrado en el Pseudocódigo 4.1.

Cabe hacer mención que el parámetro 𝑝 permite controlar el tamaño de las

matrices de similitud, de tal forma que el problema original se reduce a uno de

Page 60: Agrupamiento en grandes conjuntos de datos mezclados

40 MÉTODO PROPUESTO

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

tamaño 𝑑𝑘, si el problema sigue siendo grande entonces se vuelve a reducir el

problema pero conservando información representativa en la misma proporción.

La Figura 4.2 representa un ejemplo de este comportamiento.

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

Page 61: Agrupamiento en grandes conjuntos de datos mezclados

4.2 SOLUCIÓN PROPUESTA: VARIANTE (A) 41

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

Pseudocódigo 4.1. Variante (a) del método propuesto

Entrada:

k = número de agrupamientos a formar

X =conjunto de datos

p = tamaño de la muestra

m = número de objetos en X

d = m / p

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

inicio

para i 0 a d - 1 hacer

para j 0 a p - 1 hacer

Xi(j) agregar aleatoriamente y sin remplazo un objeto de X

do-Xi insertar <j, # del objeto seleccionado>

/* do-Xi Diccionario de objetos para el subconjunto Xi*/

fin para

ms Calcular la matriz de similitud a partir de Xi

OR agrupar(Xi, k, ms) /*OR objetos representativos*/

para j 0 a |OR|-1 hacer

OR(j) Mapear OR(j) usando do-Xi al objeto en X

Xr agregar OR(j)

do-Xr insertar <j, OR(j)>

fin para

fin para

si (|Xr| > p) entonces

OR variante_a(Xr, k) /*Recursión*/

para i 0 a |OR|-1 hacer

OR(i) Mapear OR(i) usando do-Xr al objeto en X

fin para

fin si

si no

ms Calcular la matriz de similitud a partir de Xr

OR agrupar(Xr, k, ms)

fin si

para i 0 a |X| - 1 hacer

para j 0 a |OR| - 1 hacer

temp Similitud(X(i), OR(j))

si(temp > max) entonces

max temp

índice i

fin si

fin para

Par(índice) añadir X(i)

J J + max

max 0

fin para

retornar J, OR, Par

fin

Como ejemplo, suponga que se tiene un conjunto de datos de un millón de

objetos y 5 atributos con un tamaño de 20Mb, entonces se produce una matriz

de similitud con un billón de elementos y tamaño de 4Tb. Suponga que se desea

Page 62: Agrupamiento en grandes conjuntos de datos mezclados

42 MÉTODO PROPUESTO

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

formar 20 subconjuntos de 50mil Objetos cada uno, esto implicaría trabajar con

20 matrices de tamaño de 10Gb, las cuales son procesadas una a la vez. Note

que el problema original habría requerido de más de 4Tb de memoria principal.

Sin embargo con la variante (a) del método propuesto, procesar este conjunto se

hace factible con una capacidad mucho menor de memoria principal. Final-

mente, suponga que se busca hallar 𝑘 = 2 agrupamientos, entonces en la primera

pasada de la variante (a), el problema de un millón de objetos se reduciría a uno

de 40 objetos representativos, por lo que no se requeriría aplicar recursión sobre

este conjunto. De esta manera, se realizaría el agrupamiento final con 𝑋𝑟 y se

extenderían los resultados sobre el conjunto completo al verificar la similitud de

los objetos del conjunto 𝑋 y los objetos representativos del agrupamiento final.

Figura 4.2. Ejemplo de la reducción del problema para la variante (a) del método pro-

puesto

4.3 Solución propuesta: Variante (b)

En esta sección se introduce la variante (b) del método propuesto para el agru-

pamiento de grandes conjuntos de datos mezclados. Esta segunda variante, al

igual que la primera, está diseñada considerando las restricciones de tiempo y

espacio para realizar la tarea de agrupamiento de grandes conjuntos de datos

mezclados de una forma alternativa. La variante (b) introduce dos parámetros

que impactan en la forma de hallar la solución. Un parámetro 𝑑 que determina

el número de divisiones que se realizan sobre el conjunto de datos 𝑋. Un pará-

metro 𝑚𝑎𝑥, que permite tener control sobre el número máximo de elementos

que pueden tener los subconjuntos a procesar, a diferencia de la variante (a),

Page 63: Agrupamiento en grandes conjuntos de datos mezclados

4.3 SOLUCIÓN PROPUESTA: VARIANTE (B) 43

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

para la cual el valor del parámetro 𝑝 cumplía la función de determinar el número

de divisiones y el número máximo de elementos a procesar. Por lo tanto, poder

variar el número de divisiones independientemente del número de elementos de

los subconjuntos, impacta en la forma de obtener la solución global al combinar

las sub-soluciones, pero también en el tiempo requerido para hallar la solución

del problema original.

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

Page 64: Agrupamiento en grandes conjuntos de datos mezclados

44 MÉTODO PROPUESTO

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

La solución propuesta para la variante (b) se ilustra en la Figura 4.3. Básica-

mente, la solución para la variante (b) del método consta de 4 fases que siguen

una estrategia de tipo divide y vencerás. La primera fase consiste en dividir el

conjunto de datos de entrada en subconjuntos. Para estos subconjuntos, se veri-

fica si aún son demasiado grandes como para ser procesados (a través del pará-

metro max), en caso afirmativo, se aplica recursivamente la primera fase de la

variante (b) (dividir el problema recursivamente). La segunda fase tiene una en-

trada a procesar por cada nivel de recursión de la fase 1 y consiste aplicar un

algoritmo de agrupamiento de tipo k-Means para datos mezclados a cada una de

las muestras para producir un conjunto de agrupamientos, cada uno caracteri-

zado por un centroide u objeto representativo. A partir del conjunto de objetos

representativos se puede construir un conjunto de objetos más pequeño a partir

de la unión de los objetos representativos resultantes de cada subconjunto (re-

solver pequeños sub-problemas). Posteriormente, si el conjunto resultante sigue

siendo demasiado grande, se realiza un llamado recursivo hacia la fase 1 y 2

(dividir y agrupar recursivamente), en caso contrario se procede a la fase 3. La

fase 3 consiste en realizar el agrupamiento del conjunto de objetos representati-

vos resultantes de la convergencia de las fases anteriores (combinar las solucio-

nes). Finalmente la fase 4 consiste en extender la solución hallada hacia el con-

junto de datos completo (obtener la solución del problema original). A continua-

ción, cada una de las cuatro fases es descrita con mayor detalle.

Fase 1. Dividir el problema recursivamente. Tomar el conjunto de datos de

entrada 𝑋 para formar 𝑑 subconjuntos mutuamente excluyentes de tamaño 𝑝,

donde 𝑑 es un parámetro y 𝑝 =|𝑋|

𝑑; de tal forma que 𝑋 = ⋃ 𝑋𝑗𝑑

𝑗=1 𝑦 𝑋1 ∩ 𝑋2 ∩

…∩ 𝑋𝑑 = ∅. La selección de los elementos de los subconjuntos es realizada

aleatoriamente y sin remplazo. Entonces si |𝑋𝑖| > 𝑚𝑎𝑥, la fase 1 es aplicada

recursivamente hasta que la condición no se cumpla para pasar a la fase 2. La

fase 2 retroalimenta a cada nivel recursivo con los k objetos representativos de

cada subconjunto 𝑋𝑖. Las mismas consideraciones respecto a los objetos repre-

sentativos, la matriz de similitud y el diccionario de objetos, de la variante (a)

deben ser tomadas en cuenta para la variante (b).

Fase 2. Resolver pequeños sub-problemas recursivamente. Tomar cada

subconjunto 𝑋𝑖 y calcular las matrices de similitud de los objetos de cada sub-

conjunto mediante las ecuaciones presentadas en la sección 2.4. Posteriormente,

Page 65: Agrupamiento en grandes conjuntos de datos mezclados

4.3 SOLUCIÓN PROPUESTA: VARIANTE (B) 45

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

Pseudocódigo 4.2. Variante (b) del método propuesto

Entrada: k = número de agrupamientos a formar

X = conjunto de datos

d = número de subconjuntos

p = |X| / d

max= máximo número de elementos a procesar

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

44

45

inicio

para i 0 a d - 1 hacer

para j 0 a p - 1 hacer

Xi(j) agregar aleatoriamente y sin remplazo un objeto de X

do-Xi insertar <j, # del objeto seleccionado>

/* do-Xi Diccionario de objetos para el subconjunto Xi*/

fin para

si (|Xi| > max) entonces

Xi variante_b(Xi, k) /*Dividir recursivamente*/

para a 0 a |OR|-1 hacer

Xi Mapear OR(j) usando do-Xi al objeto en X

fin para

fin si

ms Calcular la matriz de similitud a partir de Xi

OR agrupar(Xi, k, ms) /*OR objetos representativos*/

para j 0 a |OR|-1 hacer

OR(j) Mapear OR(j) usando do-Xi al objeto en X

Xr agregar OR(j)

do-Xr insertar <j, OR(j)>

fin para

fin para

si (|Xr| > max) entonces

OR variante_b(Xr, k) /*Recursión*/

para i 0 a |OR|-1 hacer

OR(i) Mapear OR(i) usando do-Xr al objeto en X

fin para

fin si

si no

ms Calcular la matriz de similitud a partir de Xr

OR agrupar(Xr, k, ms)

fin si

para i 0 a |X|-1 hacer

para j 0 a |OR|-1 hacer

temp Similitud(X(i), OR(j))

si(temp > Jmax) entonces

Jmax temp

índice i

fin si

fin para

Par(índice) añadir X(i)

J J + Jmax

Jmax 0

fin para

retornar J, OR, Par

fin

Page 66: Agrupamiento en grandes conjuntos de datos mezclados

46 MÉTODO PROPUESTO

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

aplicar un algoritmo de agrupamiento para datos mezclados de tipo k-Means. La

salida del algoritmo produce 𝑘 objetos representativos, por lo que, por los d sub-

conjunto 𝑋𝑖 debe de haber un total de 𝑑𝑘 objetos representativos. Los 𝑑𝑘 obje-

tos representativos son unidos para formar nuevo conjunto de objetos represen-

tativos del problema original. Sin embargo, en dependencia del tamaño del pro-

blema, del número de grupos 𝑘 y del parámetro 𝑑 utilizado, puede suceder que

el número de elementos del conjunto de objetos representativos siga siendo un

gran conjunto de datos, por lo que una condición de recurrencia es verificada,

esto es, si |𝑋𝑟| > 𝑚𝑎𝑥, entonces se procede de forma recursiva a aplicar la fase

1 y 2 hasta que la condición de recurrencia deje de cumplirse. Cuando se genera

el conjunto de datos de objetos representativos, es necesario actualizar en el dic-

cionario de objetos las referencias de los objetos en el nuevo conjunto y los ob-

jetos del conjunto de datos original

Fase 3. Combinar las soluciones. Tomar el conjunto de objetos representan-

tes de la salida de la fase 2 y calcular la matriz de similitud de objetos para dicho

conjunto. Posteriormente se aplica el algoritmo de agrupamiento para datos mez-

clados, de esta manera se obtienen 𝑘 objetos como salida del algoritmo de agru-

pamiento. Los 𝑘 objetos representativos deben de ser actualizados en el diccio-

nario de objetos para determinar correctamente qué objetos del conjunto de datos

original resultaron ser los 𝑘 objetos representativos.

Fase 4. Obtener la solución al problema original. Finalmente, se verifica la

similitud de cada uno de los objetos del conjunto de datos original respecto a los

𝑘 objetos representativos finales y de esta manera se asigna cada elemento del

conjunto a el grupo cuyo objeto representante resulte ser el más similar. Como

salida se obtiene la matriz de particiones, la cual indica qué objetos pertenecen

a qué agrupamiento.

El pseudocódigo de la variante (b) del método propuesto considera las 4 fa-

ses anteriormente mencionadas. Éste es mostrado en el Pseudocódigo 4.2.

A diferencia de la variante (a), los parámetros de la variante (b) del método

propuesto (d y max), permiten reducir aún más el problema de agrupar al aña-

dir un nivel más de recursión. Un ejemplo de ello se muestra en la Figura 4.4.

Como ejemplo, suponga que se desea agrupar un conjunto de datos con

1,000,000 objetos mezclados, 5 atributos y un tamaño de 20 Mb. Agrupar éste

Page 67: Agrupamiento en grandes conjuntos de datos mezclados

4.3 ANÁLISIS DE COMPLEJIDAD COMPUTACIONAL DE LAS VARIANTES DEL MÉTODO PROPUESTO 47

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

conjunto directamente implicaría trabajar sobre una matriz de similitudes de

4Tb. Sin embargo, el problema es abordable mediante la variante (b), para ello

suponga que los parámetros del método son d=20 y max=2500, es decir que se

desean formar 20 particiones del conjunto original, lo cual produciría subcojun-

tos de 50,000 objetos, pero como el máximo número de elementos a considerar

para agrupar son 2500, entonces el método aplicaría un nivel más de recursión

para la división del conjunto y en este nivel se obtendrían otros 20 subconjuntos

de tamaño 2500. En este caso la recursión habría llegado al caso base y se pro-

cedería a agrupar cada subconjunto. De esta manera el problema original se re-

sume en agrupar subconjuntos cuyas matrices tienen un tamaño de 25Mb. Al

agrupar los 20 subconjuntos se obtendrían 20k objetos representativos, donde k

es el número de agrupamientos a formar. Suponiendo que se busca k=2 agrupa-

mientos, entonces se obtendría un conjunto de 40 objetos representativos los

cuales retroalimentarían el nivel de recursión anterior.

Figura 4.4. Ejemplo de la reducción del problema para la variante (b) del método pro-

puesto

4.4 Análisis de complejidad computacional de las variantes del

método propuesto

En esta sección se presenta el análisis de complejidad computacional de las

variantes del método propuesto, para realizar dicho análisis se requiere conside-

rar la complejidad del algoritmo base. En el capítulo 5 se realiza un análisis ex-

perimental para la selección de dicho algoritmo y se concluye que el mejor can-

didato es el algoritmo de agrupamiento para datos mezclados Fast Global k-

Page 68: Agrupamiento en grandes conjuntos de datos mezclados

48 MÉTODO PROPUESTO

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

Means. A su vez, Fast Global k-Means tiene como algoritmo base al algoritmo

k-Means con funciones de similitud. Por este motivo, el análisis de complejidad

computacional para dichos algoritmos también se incluye en esta sección. Para

el análisis de complejidad, todas las operaciones elementales son consideradas

con un costo unitario. Habiendo señalado estas consideraciones, inicialmente se

presenta el análisis de complejidad para k-Means con funciones de similitud,

después el análisis de complejidad para Fast Global k-Means y finalmente el

análisis de complejidad para las variantes del método propuesto.

El algoritmo k-Means con funciones de similitud requiere como parámetros de

entrada, un conjunto de objetos representativos iniciales y el número de agrupa-

mientos a formar. Sin embargo, es conveniente tener previamente calculada la

matriz de comparaciones de objetos puesto que calcular la similitud de los obje-

tos de forma dinámica en el algoritmo impacta directamente en el tiempo reque-

rido para agrupar. La complejidad computacional para calcular la matriz de si-

militud depende del número de comparaciones, en este caso 𝑛 × 𝑛 comparacio-

nes entre los 𝑛 objetos del conjunto de datos y en los 𝑚 atributos, es decir

𝑂(𝑛2𝑚). La medida de comparación para datos mezclados en este trabajo fue

HEOM. HEOM requiere encontrar el mínimo y máximo valor de cada atributo,

realizar esta tarea tiene una complejidad computacional de 𝑂(𝑛𝑚). Conside-

rando los requerimientos mencionados, la matriz de comparación de objetos

tiene una complejidad computacional de 𝑂(𝑛2𝑚) + 𝑂(𝑛𝑚) = 𝑂(𝑛2𝑚), pero

debido a que nuestro algoritmo está diseñado para aplicarse en casos donde 𝑚 ≪

𝑛 entonces podemos considerar que la complejidad computacional es 𝑂(𝑛2).

El algoritmo k-Means con funciones de similitud consta de tres pasos: El pri-

mer paso consiste en comparar la similitud de cada uno de los 𝑛 objetos en el

conjunto de datos con cada uno de los 𝑘 objetos representativos y asignar el

objeto al agrupamiento cuya similitud sea máxima, por lo que la complejidad

computacional de este paso es 𝑂(𝑛𝑘); En el segundo paso se evalúa el promedio

de la similitud de cada objeto con el resto de los objetos de un agrupamiento, es

decir, se requiere realizar |𝑀𝑖| × |𝑀𝑖| operaciones, donde |𝑀𝑖| es el número de

elementos en el 𝑖-ésimo agrupamiento. Después se selecciona el objeto que

tenga la máxima similitud en promedio como el nuevo objeto representativo y

se procede de igual forma para determinar los 𝑘 objetos representativos de los

agrupamientos. La complejidad computacional del segundo paso es

Page 69: Agrupamiento en grandes conjuntos de datos mezclados

4.3 ANÁLISIS DE COMPLEJIDAD COMPUTACIONAL DE LAS VARIANTES DEL MÉTODO PROPUESTO 49

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

𝑂(𝑘|𝑀𝑖| 2), aunque por simplicidad podemos suponer que para todo 𝑖, |𝑀𝑖| =

𝑛

𝑘,

(es decir, los agrupamientos tienen la misma cardinalidad). Entonces la comple-

jidad computacional del segundo paso puede expresarse como 𝑂 (𝑘 (𝑛

𝑘)2

) =

𝑂 (𝑛2

𝑘); Finalmente, se requiere repetir 𝑡 veces el primer y segundo paso hasta

alcanzar la convergencia del algoritmo. Por lo tanto, la complejidad computacio-

nal total de k-Means con funciones de similitud es 𝑂(𝑛2) + 𝑂(𝑡𝑛𝑘) + 𝑂 (𝑡𝑛2

𝑘).

Debido a que 𝑘 es constante y 𝑡 tiene un máximo constante, la complejidad

computacional del algoritmo k-Means con funciones de similitud es 𝑂(𝑛2).

Al igual que k-Means con funciones de similitud, en Fast Global k-Means

también resulta conveniente tener previamente calculada la matriz de similitud

del conjunto de datos a agrupar, además también requiere como parámetros de

entrada el número 𝑘 de agrupamientos a formar.

Fast Global k-Means consta de dos pasos para agrupar. En el primer paso se

buscan aquellos objetos del conjunto de datos que garanticen el mayor incre-

mento en 𝑏𝑖∗, es decir, se verifica para cada 𝑥𝑖 el incremento que garantiza con

respecto al resto de los objetos del conjunto, con 𝑖 = 1, …𝑛, es decir, se requie-

ren 𝑛2 operaciones.

𝑏𝑖∗ =∑max(Γ(𝑥𝑖 , 𝑥𝑗) − Γ𝑘−1

𝑗, 0)

𝑛

𝑗=1

(6.1)

Sin embargo, este proceso se repite 𝑘 veces puesto que Fast Global k-Means

busca las semillas del 𝑘-ésimo agrupamiento pero requiere conocer las semillas

del problema de 𝑘 − 1 agrupamientos. La complejidad computacional asociada

al primer paso está en 𝑂(𝑘𝑛2) que es 𝑂(𝑛2) ya que 𝑘 es constante. En el segundo

paso, se ejecuta el algoritmo k-Means con funciones de similitud indicando

como semillas iniciales las del problema de 𝑘 − 1 agrupamientos e iterando so-

bre los 𝑤 objetos representativos que maximizan 𝑏𝑖∗ en el problema de 𝑘 agru-

pamientos, el costo computacional asociado al segundo paso es 𝑂(𝑘𝑤𝑛2). Por

lo tanto, la complejidad computacional en tiempo de Fast Global k-Means es

𝑂(𝑛2) + 𝑂(𝑘𝑤𝑛2) que es 𝑂(𝑛2) debido a que 𝑤 ≪ 𝑛 y 𝑘 es constante. Sin em-

Page 70: Agrupamiento en grandes conjuntos de datos mezclados

50 MÉTODO PROPUESTO

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

bargo, considerando que Fast Global k-Means requiere tener previamente cal-

culada la matriz de similitud, entonces la complejidad computacional total en

tiempo es 𝑂(𝑛2) + 𝑂(𝑛2) = 𝑂(𝑛2).

La variante (a) del método propuesto tiene como algoritmo base para el agru-

pamiento a Fast Global k-Means y es un método recursivo que consiste en divi-

dir el conjunto de datos para agrupar subconjuntos de tamaño 𝑝 hasta obtener

los 𝑘 objetos representativos del conjunto de datos.

Para dividir el problema, la variante (a) del método propuesto forma aleatoria-

mente 𝑑 subconjuntos de tamaño 𝑝 a partir del conjunto de datos original, donde

𝑝 es un parámetro del método y 𝑑 =𝑛

𝑝. También se construye un diccionario de

objetos conforme se van eligiendo los elementos de los subconjuntos, la com-

plejidad computacional para dividir el problema es 𝑂(𝑑𝑝) = 𝑂(𝑛) puesto que

𝑑 =𝑛

𝑝.

Para agrupar cada uno de los 𝑑 subconjuntos de tamaño 𝑝 se aplica el algo-

ritmo base Fast Global k-Means. El costo para agrupar los 𝑑 subconjuntos es

𝑂(𝑑𝑝2) = 𝑂 (𝑛

𝑝𝑝2) = 𝑂(𝑛𝑝) = 𝑂(𝑛) porque 𝑝 es constante. Como resultado

de agrupar, para cada uno los 𝑑 subconjuntos se obtienen 𝑘 objetos representa-

tivos con los cuales se construye un conjunto de tamaño 𝑑𝑘. Además, Los 𝑑𝑘

objetos representativos son mapeados al correspondiente índice utilizando el

diccionario de objetos. La complejidad computacional para construir el conjunto

de tamaño 𝑑𝑘 y mapear el conjunto de objetos representativos es 𝑂(𝑑𝑘) +

𝑂(𝑑𝑘) = 𝑂(𝑑𝑘) = 𝑂 (𝑛

𝑝𝑘) = 𝑂(𝑛) debido a que 𝑘 y 𝑝 son constantes. Para el

caso en que el conjunto de objetos representativos sea aún demasiado grande

para ser agrupado, se realiza un llamado recursivo a la variante (a) del método

propuesto. Para cada llamado recursivo el nuevo problema a resolver es de ta-

maño 𝑑𝑘 =𝑛

𝑝𝑘. El caso base de la recursión consiste en agrupar un conjunto de

datos de tamaño menor o igual a 𝑝 y así obtener los 𝑘 objetos representativos

finales del agrupamiento. La complejidad computacional para el caso base es

𝑂(𝑝2) = 𝑂(1) porque 𝑝 es constante.

Además, se requiere extender el agrupamiento al conjunto de datos original uti-

lizando los 𝑘 objetos representativos. Para ello se requiere verificar la máxima

Page 71: Agrupamiento en grandes conjuntos de datos mezclados

4.3 ANÁLISIS DE COMPLEJIDAD COMPUTACIONAL DE LAS VARIANTES DEL MÉTODO PROPUESTO 51

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

similitud de cada objeto en el conjunto de datos original y los 𝑘 objetos repre-

sentativos. La complejidad computacional para determinar el agrupamiento final

es O(𝑛𝑘𝑚). Debido a que 𝑘 es constante y 𝑚 ≪ 𝑛, esta complejidad es 𝑂(𝑛).

Por lo tanto, considerando el costo de dividir el problema (𝑂(𝑛)), el costo de

agrupar muestras manejables (𝑂(𝑛)), construir el conjunto de tamaño 𝑑𝑘 y ma-

pear el conjunto de objetos representativos (𝑂(𝑛)), extender el agrupamiento al

conjunto de datos original (𝑂(𝑛)) y aplicar recursivamente la variante (a) del

método, la complejidad de esta variante se puede calcular mediante la recurren-

cia que se muestra en la ecuación (6.2).

𝑇(𝑛) = {𝑝2 𝑛 ≤ 𝑝

4𝑛 + 𝑇 (𝑛

𝑝𝑘) 𝑛 > 𝑝

(6.2)

Aplicando el teorema maestro (Cormen , et al., 2009) sobre la recurrencia se

tiene que la complejidad computacional en tiempo de la variante (a) del método

propuesto es 𝑂(𝑛).

Por otra parte, la variante (b) del método propuesto también tiene como algo-

ritmo base de agrupamiento a Fast Global k-Means y además tiene como pará-

metros de entrada 𝑘 que es el número de agrupamientos a formar, el número de

divisiones 𝑑 a aplicar recursivamente hasta obtener subconjuntos de tamaño

𝑚𝑎𝑥, donde 𝑚𝑎𝑥 es otro parámetro del método e indica el tamaño máximo de

los subconjuntos a agrupar aplicando el algoritmo base. La variante (b) se dife-

rencia de la variante (a) en la forma en que se construyen los sub-problemas.

Básicamente, la variante (b) divide recursivamente el problema en subconjuntos

cada vez más pequeños hasta obtener subconjuntos de tamaño menor o igual a

𝑚𝑎𝑥.

Inicialmente, se divide el conjunto de datos de entrada en 𝑑 subconjuntos y se

construye un diccionario de objetos conforme se van eligiendo los elementos de

los subconjuntos. La complejidad computacional por dividir el conjunto de datos

y construir el diccionario de objetos es 𝑂(𝑛). Después, se verifica la condición

de recurrencia en donde se divide el conjunto de datos al realizar un llamado

recursivo para cada uno de los 𝑑 subconjuntos si el tamaño de cada subcon-

junto (𝑛

𝑑) excede al parámetro 𝑚𝑎𝑥. Por otro lado, en el caso base de la recu-

rrencia se aplica Fast Global k-Means a subconjuntos de tamaño 𝑚𝑎𝑥 y como

Page 72: Agrupamiento en grandes conjuntos de datos mezclados

52 MÉTODO PROPUESTO

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

resultado se obtienen 𝑘 objetos representativos. La complejidad computacional

por agrupar cada subconjunto en el caso base es 𝑂(𝑚𝑎𝑥2) = 𝑂(1) pues 𝑚𝑎𝑥 es

una constante. La complejidad computacional de construir el conjunto de objetos

representativos de tamaño 𝑑𝑘 y mapearlos al correspondiente índice es 𝑂(𝑑𝑘) =

𝑂(1). Este conjunto es agrupado para producir 𝑘 objetos representativos, la

complejidad computacional al agrupar el conjunto de objetos representativos es

𝑂((𝑑𝑘)2) = 𝑂(1) pues 𝑑 y 𝑘 son constantes. Este proceso continúa hasta el lla-

mado de recursión original y de esta manera se obtienen los 𝑘 objetos represen-

tativos del agrupamiento final.

Además, se requiere extender el agrupamiento al conjunto de datos original

utilizando los 𝑘 objetos representativos. Para ello se requiere verificar la máxima

similitud de cada objeto en el conjunto y los 𝑘 objetos representativos. La com-

plejidad computacional para determinar el agrupamiento final es O(𝑛𝑘𝑚). De-

bido a que 𝑘 y 𝑚 son constantes, 𝑂(𝑛𝑘𝑚) = 𝑂(𝑛).

Por lo tanto, considerando el costo de dividir el problema (𝑂(𝑛)), aplicar re-

cursivamente la variante (b) del método propuesto, construir el conjunto de ta-

maño 𝑑𝑘 y mapear el conjunto de objetos representativos, agrupar el conjunto

de tamaño 𝑑𝑘 y extender el agrupamiento al conjunto de datos original (𝑂(𝑛)),

la complejidad de esta variante se puede calcular mediante la recurrencia que se

muestra en la ecuación (6.3).

𝑇(𝑛) {𝑚𝑎𝑥2 𝑛 ≤ 𝑚𝑎𝑥

2𝑛 + 𝑑𝑇 (𝑛

𝑑) + 𝑐 𝑛 > 𝑚𝑎𝑥

(6.3)

Aplicando el teorema maestro sobre la recurrencia se tiene que la complejidad

computacional en tiempo de la variante (b) del método propuesto es

𝑂(𝑛𝑙𝑜𝑔𝑑(𝑛)).

Page 73: Agrupamiento en grandes conjuntos de datos mezclados

53

Capítulo 5

Algoritmo base para datos mezclados

En este capítulo se realiza un análisis experimental para la selección de

un buen algoritmo base de agrupamiento de datos mezclados para el mé-

todo propuesto en el capítulo 4. También se evalúan diferentes medidas de

comparación de objetos mezclados así como de varias maneras de calcular

los objetos representativos de los agrupamientos.

5.1 Descripción de los conjuntos de datos

Para realizar la selección de un algoritmo de agrupamiento de datos mezclados

para el método propuesto, de una medida de comparación y para determinar ob-

jetos representativos de los agrupamientos en datos mezclados, es necesario eva-

luar la calidad de los resultados de agrupamiento, así como el tiempo requerido

para procesar los conjuntos de datos. Por esta razón, se han seleccionado 10

conjuntos de datos, de los cuales 4 son conjuntos de datos numéricos, 4 mezcla-

dos y 2 no numéricos. Las características de éstos se muestran en la Tabla 5.1.

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

Dataset Objetos Atributos Numéricos No Numéricos Clases Tipo

Zoo 101 17 0 17 7 no numéricos

Iris 150 4 4 0 3 numéricos

Flags 194 30 10 20 - mezclados

Glass 214 10 10 0 7 numéricos

Cleveland 303 13 5 8 2 mezclados

Soybean 307 35 0 35 19 no numéricos

Ecoli 336 7 7 0 8 numéricos

Bands 540 39 20 19 2 mezclados

Credit 690 15 6 9 2 mezclados

Agregation 788 2 2 0 7 numéricos

Page 74: Agrupamiento en grandes conjuntos de datos mezclados

54 ALGORITMO BASE PARA DATOS MEZCLADOS

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

El criterio de selección de los conjuntos datos de la Tabla 5.1 fue de acuerdo

a los algoritmos candidatos para el método propuesto, es decir, no se considera-

ron grandes conjuntos de datos puesto que los algoritmos candidatos no son apli-

cables en éste tipo de datos. Las pruebas fueron realizadas en una computadora

Intel Core i7-2600 a 3.40GHz con memoria RAM de 32Gb.

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

jetos representativos

En la sección 2.3 del capítulo 2, se introdujo la definición de objetos represen-

tativos y además se presentaron las expresiones (2.5) 𝑟𝑀𝑗 y (2.6) 𝛽𝑀𝑗, las cuales

permiten determinar qué objeto del conjunto de datos es seleccionado como re-

presentativo para un agrupamiento dado. En esta sección, se consideran ambas

expresiones para determinar cuál de ellas resulta la más adecuada para el algo-

ritmo de agrupamiento base.

Por otra parte, en la sección 2.4, se mostraron las definiciones de medidas de

similitud y distancia para comparar objetos mezclados. Propiamente, la similitud

Γ, ecuación (2.11), la distancia 𝐻𝐸𝑂𝑀, ecuación (2.14) y la distancia 𝐻𝑉𝐷𝑀,

ecuación (2.19). Debido a que los algoritmos de agrupamiento para datos mez-

clados presentados en la sección 2.5 se basan en maximizar la similitud de los

objetos en los agrupamientos, se requiere que las medidas sigan este criterio de

búsqueda y por esta razón hemos considerado utilizar la inversa de las distancias

normalizadas. Cabe hacer mención que la ecuación (2.19) hace uso de informa-

ción a priori de la distribución de los datos, lo que contrapone la definición de

agrupamiento. Por esta razón, 𝐻𝑉𝑀𝐷 no fue considerada como candidata en la

evaluación y selección de las medidas de comparación de objetos.

Para realizar la evaluación de la medida de comparación y de los objetos re-

presentativos, se utilizó el algoritmo Global k-Means para datos mezclados (pre-

sentado en la sección 2.5). De esta manera, las opciones que se evaluaron son:

Global k-Means / Γ / 𝑟𝑀𝑗 Global k-Means / Γ / 𝛽𝑀𝑗

Global k-Means / HEOM / 𝑟𝑀𝑗 Global k-Means / HEOM / 𝛽𝑀𝑗

Para la evaluación, se consideró utilizar índices de validación, en especial un

índice interno basado en maximizar el valor de la función objetivo 𝐽 ecuación

(2.1), un índice externo: la precisión promedio de las clases ecuación (2.29), y

Page 75: Agrupamiento en grandes conjuntos de datos mezclados

5.2 PRUEBAS PARA LA SELECCIÓN DE LA MEDIDA DE SIMILITUD Y DE OBJETOS REPRESENTATIVOS 55

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

Tabla 5.2 Evaluación en tiempo y calidad para objetos representativos y medida de

comparación de objetos mezclados

Dataset

𝑽𝑭𝑶 Precisión Rand Index Tiempo - ms

𝚪/𝒓𝑴𝒋 𝐇𝐄𝐎𝐌

/𝒓𝑴𝒋 𝚪/𝒓𝑴𝒋

𝐇𝐄𝐎𝑴/𝒓𝑴𝒋

𝚪/𝒓𝑴𝒋 𝐇𝐄𝐎𝐌

/𝒓𝑴𝒋 𝚪/𝒓𝑴𝒋

𝐇𝐄𝐎𝑴/𝒓𝑴𝒋

𝚪/𝜷𝑴𝒋 𝐇𝐄𝐎𝐌/𝜷𝑴𝒋

𝚪/𝜷𝑴𝒋 𝐇𝐄𝐎𝐌/𝜷𝑴𝒋

𝚪/𝜷𝑴𝒋 𝐇𝐄𝐎𝐌/𝜷𝑴𝒋

𝚪/𝜷𝑴𝒋 𝐇𝐄𝐎𝐌/𝜷𝑴𝒋

Zoo 87.647 61.626 0.8268 0.8722 0.8847 0.9001 1857 1887 87.705 64.472 0.8623 0.8337 0.9013 0.8944 858 858

Iris 142.07 131.97 0.96 0.9 0.9495 0.8797 2403 2418 142.07 131.98 0.96 0.9 0.9495 0.8859 920 920

Glass 205.18 184.57 0.7367 0.6217 0.8002 0.8095 14945 15726 205.22 186.50 0.7259 0.6931 0.8174 0.7824 5834 5772

Cleveland 241.27 143.75 0.7588 0.8291 0.6399 0.7191 9703 9813 241.27 150.67 0.7588 0.7959 0.6399 0.6773 3573 3572

Soybean 290.11 142.34 0.85 0.7956 0.5477 0.7096 67250 60360 290.14 185.93 0.8486 0.7144 0.5517 0.9213 28835 12715

Ecoli 318.17 293.46 0.6783 0.7100 0.7924 0.8201 55303 60794 318.25 295.01 0.6890 0.7720 0.7959 0.8153 21544 22620

Bands 441.95 228.55 0.5410 0.9298 0.5010 0.5367 58204 97375 441.35 258.14 0.6980 0.5457 0.5254 0.5037 25459 24352

Credit 580.70 340.49 0.6862 0.7184 0.5578 0.5405 123614 136126 580.70 358.77 0.6862 0.7952 0.5578 0.6726 50325 50419

Agregation 734.71 716.10 0.9284 0.9460 0.9080 0.9259 657532 627685 734.73 716.45 0.9274 0.9351 0.9075 0.9224 272346 265918

un índice relativo Rand index (2.32). También se midió el tiempo en milisegun-

dos que le tomaba al algoritmo Global k-Means agrupar cada conjunto de datos.

Los resultados de la evaluación del algoritmo Global k-Means con las diferentes

medidas de comparación de objetos mezclados y maneras de calcular los objetos

representativos se encuentran en la Tabla 5.2. Los mejores resultados fueron

marcados en negritas. En el caso especial del valor de la función objetivo, no se

puede tomar como criterio para comparar la calidad en el agrupamiento para dos

medidas de comparación distintas, justamente porque el valor que toma la fun-

ción objetivo depende del valor de similitud de los objetos. Sin embargo, nos

permite comparar la calidad de los objetos representativos.

En los resultados que se muestran en la Tabla 5.2 se puede observar que el

72% de las veces, Global k-Means / Γ / 𝛽𝑀𝑗 obtiene los mejores valores para la

función objetivo con la función de comparación Γ, mientras que Global k-Means

/ HEOM / 𝛽𝑀𝑗 obtiene los mejores valores de la función objetivo el 100% de las

veces. También, se puede observar que Global k-Means / HEOM / 𝑟𝑀𝑗 obtiene

Page 76: Agrupamiento en grandes conjuntos de datos mezclados

56 ALGORITMO BASE PARA DATOS MEZCLADOS

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

los mejores valores de precisión y de Rand Index el 44% de las veces, mientras

que Global k-Means / HEOM / 𝛽𝑀𝑗 obtiene los menores tiempos de ejecución el

67% de las veces. El desempeño general para las diferentes opciones es: Global

k-Means / Γ / 𝑟𝑀𝑗 obtuvo el mejor rendimiento general el 10% de las veces,

mientras que Global k-Means / Γ / 𝛽𝑀𝑗 obtuvo el mejor rendimiento general el

30% de las veces. Por otra parte, Global k-Means / HEOM / 𝑟𝑀𝑗 obtuvo el mejor

rendimiento general el 18% de las veces y finalmente Global k-Means / HEOM

/ 𝛽𝑀𝑗 obtuvo el mejor de los rendimientos generales obteniendo el 42% de las

veces el mejor rendimiento general.

Este análisis nos muestra que todas las variantes tienen un buen desempeño,

pero que, en promedio, Global k-Means / HEOM / 𝛽𝑀𝑗 obtiene los mejores re-

sultados. Por lo tanto, en los experimentos del método propuesto utilizaremos la

función de comparación de objetos 𝐻𝐸𝑂𝑀 (2.14) y la expresión 𝛽𝑀𝑗 (2.6) para

calcular los objetos representativos.

5.3 Pruebas para la selección del algoritmo base de agrupa-

miento para conjuntos de datos mezclados

En esta sección se presenta un análisis comparativo en tiempo y calidad de los

algoritmos de agrupamiento para conjuntos de datos mezclados candidatos a ser

el algoritmo base del método propuesto. Los algoritmos candidatos son Global

k-Means, Fast Global k-Means y k-Means con funciones de similitud. La des-

cripción de estos algoritmos fue presentada en la sección 2.5. Se han considerado

dos variantes del algoritmo k-Means con funciones de similitud, la primera rea-

liza k iteraciones del algoritmo y la segunda realiza n iteraciones del algoritmo

(k es el número de agrupamientos y n es el número de objetos del conjunto de

datos a procesar), la mejor solución en las k ó n iteraciones es la salida del algo-

ritmo.

Para evaluar la calidad del algoritmo se utiliza el valor de la función objetivo

en la última iteración del algoritmo. Se realizaron pruebas con 𝑘 = 2, 3, … ,16.

Por otro lado, también se comparó el tiempo de ejecución requerido por los al-

goritmos candidatos para procesar los diferentes conjuntos de datos. Los resul-

tados de la evaluación se muestran en las Figuras 5.1, 5.2,…,5.10.

Page 77: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 57

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

Figura 5.1. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

48

53

58

63

68

73

78

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Zoo

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2 4 6 8 10 12 14 16

Tiem

po

de

eje

cuci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de Datos Zoo

Page 78: Agrupamiento en grandes conjuntos de datos mezclados

58 ALGORITMO BASE PARA DATOS MEZCLADOS

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

Figura 5.2. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

126

128

130

132

134

136

138

140

142

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Iris

0.01

0.1

1

10

2 4 6 8 10 12 14 16

Tiem

po

de

ejec

uci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de datos Irirs

Page 79: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 59

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

Figura 5.3. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

67

72

77

82

87

92

97

102

107

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Flags

0

0.5

1

1.5

2

2.5

3

3.5

4

2 4 6 8 10 12 14 16

Tiem

po

de

eje

cuci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de Datos Flags

Page 80: Agrupamiento en grandes conjuntos de datos mezclados

60 ALGORITMO BASE PARA DATOS MEZCLADOS

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

Figura 5.4. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

172

177

182

187

192

197

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Glass

0

1

2

3

4

5

6

2 4 6 8 10 12 14 16

Tiem

po

de

ejec

uci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de Datos Glass

Page 81: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 61

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

Figura 5.5. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

150

160

170

180

190

200

210

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Cleveland

0.01

0.1

1

10

100

2 4 6 8 10 12 14 16

Tie

mp

o d

e e

jecu

ció

n (S

egu

nd

os)

Número de agrupamientos

Conjunto de Datos Cleveland

Page 82: Agrupamiento en grandes conjuntos de datos mezclados

62 ALGORITMO BASE PARA DATOS MEZCLADOS

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

Figura 5.6. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

126

136

146

156

166

176

186

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Soybean

0.01

0.1

1

10

100

2 4 6 8 10 12 14 16

Tie

mp

o d

e e

jecu

ció

n (S

egu

nd

os)

Número de agrupamientos

Conjunto de datos Soybean

Page 83: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 63

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

Figura 5.7. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

265

270

275

280

285

290

295

300

305

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Ecoli

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2 4 6 8 10 12 14 16

Tiem

po

de

eje

cuci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de Datos Ecoli

Page 84: Agrupamiento en grandes conjuntos de datos mezclados

64 ALGORITMO BASE PARA DATOS MEZCLADOS

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

Figura 5.8. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

258

263

268

273

278

283

288

293

298

303

308

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Bands

0.01

0.1

1

10

100

2 4 6 8 10 12 14 16

Tiem

po

de

eje

cuci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de datos Bands

Page 85: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 65

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

Figura 5.9. Resultados obtenidos al aplicar los algoritmos Global k-Means, Fast Glo-

bal 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

355

375

395

415

435

455

475

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Credit

0.01

0.1

1

10

100

1000

2 4 6 8 10 12 14 16

Tiem

po

de

ejec

uci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de Datos Credit

Page 86: Agrupamiento en grandes conjuntos de datos mezclados

66 ALGORITMO BASE PARA DATOS MEZCLADOS

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

610

630

650

670

690

710

730

750

770

2 4 6 8 10 12 14 16

Fun

ció

n O

bje

tivo

Número de agrupamientos

Conjunto de datos Agregation

0.1

1

10

100

1000

2 4 6 8 10 12 14 16

Tiem

po

de

eje

cuci

ón

(Se

gun

do

s)

Número de agrupamientos

Conjunto de datos Agregation

Page 87: Agrupamiento en grandes conjuntos de datos mezclados

5.3 PRUEBAS PARA LA SELECCIÓN DEL ALGORITMO BASE DE AGRUPAMIENTO PARA CONJUNTOS DE DATOS MEZCLADOS 67

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

Figura 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

De los resultados que se pueden observar de las Figuras 5.1,…, 5.10, el algo-

ritmo que obtiene el mejor valor de la función objetivo para los diferentes valo-

res de k en todos los casos es Global k-Means para datos mezclados. Sin em-

bargo, Global k-Means requiere un tiempo de procesamiento considerable, por

ejemplo, Global k-Means requería de más de 3 días, para procesar un conjunto

de poco más de 8,000 objetos. Por esta razón, aunque Global k-Means obtiene

los mejores valores de la función objetivo, debido al tiempo que requiere, resulta

un algoritmo inadecuado para las variantes del método propuesto.

Por otra parte, la variante del algoritmo k-Means con funciones de similitud

que realiza n iteraciones, presenta un comportamiento en tiempo muy similar al

algoritmo Global k-Means, además de que en la mayoría de los casos los valores

de la función objetivo están por debajo de los obtenidos por Fast Global k-

Means. Por otro lado, la variante que realiza k iteraciones de k-Means con fun-

ciones de similitud, presenta un comportamiento en tiempo muy similar al algo-

ritmo Fast Global k-Means, sin embargo esta variante, en la mayoría de los ca-

sos, obtiene valores de la función objetivo por debajo de los valores que obtiene

la variante de n iteraciones.

A partir de estos resultados concluimos que la mejor opción de algoritmo para

agrupar conjuntos de datos mezclados es Fast Global k-Means. Fast Global k-

Means obtiene valores de la función objetivo muy parecidos a los de Global k-

Means pero en un tiempo considerablemente menor. Otro de los puntos positivos

de Fast Global k-Means es que los resultados del agrupamiento son únicos sin

importar el orden en que se procesan los objetos del conjunto de datos, es decir,

siempre obtiene el mismo agrupamiento. Por estas razones, utilizaremos Fast

Global k-Means como algoritmo base para las variantes del método propuesto.

Page 88: Agrupamiento en grandes conjuntos de datos mezclados

68 ALGORITMO BASE PARA DATOS MEZCLADOS

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

Page 89: Agrupamiento en grandes conjuntos de datos mezclados

69

Capítulo 6

Experimentación

En este capítulo se presenta la evaluación en calidad y tiempo de las

variantes del método propuesto. También se incluye un análisis compa-

rativo en términos calidad de los agrupamientos con métodos de agrupa-

miento para grandes conjuntos de datos numéricos, así como un análisis

de la sensibilidad al orden de los datos. Finalmente se presentan pruebas

de escalabilidad en grandes conjuntos de datos mezclados.

6.1 Descripción de los experimentos

En la evaluación de las variantes del método propuesto se realizan pruebas

para determinar de la calidad de los agrupamientos de las variantes del método

propuesto en comparación con Fast Global k-Means. En esta evaluación se uti-

lizaron conjuntos de datos pequeños, puesto que Fast Global k-Means resulta

inaplicable en grandes conjuntos. Los conjuntos utilizados se muestran en la Ta-

bla 6.1.

Tabla 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

Dataset # objetos A. Numéricos A. No Numéricos Grupos

Iris 150 4 0 3 Glass 214 10 0 7 Cleveland 303 5 8 2 Soybean 307 0 35 19 Ecoli 336 7 0 8 Bands 540 20 19 2 Credit 690 6 9 2 Agregation 788 2 0 7

Page 90: Agrupamiento en grandes conjuntos de datos mezclados

70 EXPERIMENTACIÓN

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

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

Dataset # objetos A. Numéricos A. No Numéricos Grupos

Abalone 4,177 7 1 29

Póker_small 25,000 5 5 10

Adult 32,563 6 8 2

2D15-50,000 50,000 2 0 15

Birch1 100,000 2 0 100

Covtype 581,012 10 2 7

Póker Hand 1,000,000 5 5 10

Después se realizan pruebas para la selección de los valores de los parámetros

del método que permiten obtener un buen comportamiento en tiempo y calidad.

También se realiza una comparación de calidad y tiempo de las variantes del

método propuesto contra las variantes del método propuesto por Havens

(Havens, et al., 2012), las cuales se encuentran descritas en el capítulo 3, esta

comparación incluye experimentos con un conjunto de datos en ℝ2, que permite

hacer una evaluación visual del resultado de los agrupamientos con las variantes

del método propuesto y las variantes del método propuesto por Havens. También

se realizaron experimentos para determinar la sensibilidad del método propuesto

al orden de los datos al agrupar. Finalmente se realizan pruebas con grandes

conjuntos de datos mezclados con la finalidad de evaluar el tiempo, la calidad y

la escalabilidad de las variantes del método propuesto. Para realizar dichas eva-

luaciones, los experimentos se realizaron con los conjuntos de datos que se

muestran en la Tabla 6.2.

Los experimentos de tiempo consideran el tiempo en cargar el conjunto de

datos en memoria principal, el tiempo para calcular las matrices de similitud, el

tiempo para agrupar subconjuntos manejables del conjunto original y el tiempo

para determinar el agrupamiento final sobre el conjunto original. Los experi-

mentos fueron realizados en una computadora Intel Core i7-2600 a 3.40GHz con

memoria RAM de 32Gb.

Page 91: Agrupamiento en grandes conjuntos de datos mezclados

6.2 COMPARACIÓN DE LAS VARIANTES DEL MÉTODO PROPUESTO Y FAST GLOBAL K-MEANS 71

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

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

Global k-Means

En esta sección se muestran las pruebas realizadas para evaluar de la calidad

de los agrupamientos de las variantes del método propuesto en comparación con

los agrupamientos de Fast Global k-Means. En esta evaluación se utilizaron los

conjuntos de la Tabla 6.1, los cuales son conjuntos de datos procesables por Fast

Global k-Means. El objetivo de esta prueba consiste en mostrar el comporta-

miento de las variantes cuando se consideran valores pequeños en los parámetros

para formar subconjuntos pequeños y de esta manera verificar en qué medida se

pierde calidad en los agrupamientos de las variantes del método propuesto res-

pecto de los agrupamientos de Fast Global k-Means, por lo que para la variante

(a) del método propuesto se utilizaron los valores del parámetro p=75 y p=30.

Para la variante (b) del método propuesto se utilizaron combinaciones los valo-

res del parámetro d=2, d=10 y max=75, max=30.

En la evaluación se reporta el valor de la función objetivo como índice interno

utilizando k= número de clases. También se reporta el valor de Rand Index com-

parando el agrupamiento obtenido con la distribución original del conjunto de

datos.

Los valores de función objetivo de los agrupamientos obtenidos por las varian-

tes del método propuesto y Fast Global k-Means para los diferentes conjuntos

de datos se muestran en la Tabla 6.3. Por otra parte, los valores de Rand Index

obtenidos por las variantes del método propuesto y Fast Global k-Means en los

diferentes conjuntos de datos se muestran en la Tabla 6.4

Tabla 6.3. Valor de la función objetivo de los agrupamientos obtenidos por las va-

riantes del método propuesto y Fast Global k-Means

Iris Glass Cleveland Soybean Ecoli Bands Credit Agregation

FGKM 131.98848 186.58063 149.97661 185.49422 294.9241 258.14972 358.77652 716.44135

FGKMVa

p=75 131.32445 184.23514 149.27396 180.84077 289.71796 257.18063 357.82642 715.0467

FGKMVa

p=30 131.52226 183.79921 149.39864 184.77716 293.37823 257.05542 357.96445 715.6586

FGKMVb

Max=75,d=2 131.88972 184.82498 149.26425 178.84265 290.50296 253.22285 357.09293 703.37384

FGKMVb

Max=30,d=10 131.5921 184.76807 149.34572 184.37383 293.7438 256.81076 352.35867 714.7444

FGKMVb

Max=75, d=2 131.33778 180.93268 149.97658 175.2784 286.41568 253.533 351.08743 707.021

FGKMVb

Max30, d=10 131.71083 182.19043 147.36154 185.73502 290.92767 255.80424 352.8748 713.34674

Page 92: Agrupamiento en grandes conjuntos de datos mezclados

72 EXPERIMENTACIÓN

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

En la Tabla 6.3 se puede apreciar que los valores de la función objetivo son

cercanos a los valores que obtiene Fast Global k-Means. De la Tabla 6.3 se

puede calcular el error relativo de las variantes del método propuesto respecto a

Fast Global k-Means. El error promedio de las variantes del método propuesto

fue de 0.01. El error obtenido por las variantes del método propuesto en los re-

sultados de la Tabla 6.3 no dista a más de 0.05.

En la Tabla 6.4 Los valores de Rand Index de las variantes del método pro-

puesto menores a los obtenidos por Fast Global k-Means son marcados en ne-

gritas. Se puede observar que el 39% de las veces las variantes del método pro-

puesto obtienen valores de Rand Index menores a los obtenidos por Fast Global

k-Means, sin embargo los menores valores no distan a más de 0.03 de los valores

obtenidos por Fast Global k-Means en promedio.

Tabla 6.4. Valores de Rand Index obtenidos por las variantes del método propuesto y

Fast Global k-Means

Iris Glass Cleveland Soybean Ecoli Bands Credit Agregation

FGKM 0.88590 0.78504 0.69768 0.92061 0.80127 0.50371 0.67263 0.92757

FGKMVa

p=75 0.88590 0.81189 0.70187 0.92589 0.81229 0.50567 0.67263 0.94368

FGKMVa

p=30 0.86228 0.78136 0.69768 0.91343 0.83893 0.50701 0.67263 0.89399

FGKMVb

Max=75,d=2 0.87973 0.80909 0.71040 0.90521 0.89454 0.51490 0.65435 0.94495

FGKMVb

Max=30,d=10 0.87373 0.77477 0.70187 0.92061 0.82668 0.50182 0.70847 0.92251

FGKMVb

Max=75, d=2 0.87373 0.82098 0.69768 0.89942 0.88290 0.50899 0.67093 0.90971

FGKMVb

Max30, d=10 0.87973 0.78741 0.67342 0.91394 0.89418 0.50567 0.70847 0.92441

En resumen, de los resultados mostrados en la Tabla 6.4 se puede observar que

la mayoría de las veces las variantes del método propuesto permiten obtener un

incremento en el Rand Index de los agrupamientos en comparación a Fast Glo-

bal k-Means. Sin embargo cuando los valores de Rand Index de las variantes del

método propuesto son menores a los valores de Rand Index que obtiene a Fast

Global k-Means resultan ser no menores a 0.03. Por otro lado, los valores de la

función objetivo reportados en la Tabla 6.3 tienen un error promedio de 0.01

respecto a Fast Global k-Means. Por estas razones concluimos que las variantes

del método propuesto no presentan una pérdida significativa en la calidad con

respecto a Fast Global k-Means.

Page 93: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 73

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

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

método propuesto

En esta sección se muestran los resultados en calidad y tiempo de las variantes

(a) y (b) del método propuesto utilizando Fast Global k-Means como algoritmo

base para diferentes valores de los parámetros al agrupar conjuntos de datos

mezclados. Con estos experimentos se busca encontrar valores de los parámetros

de las variantes que permitan agrupar los conjuntos de datos sin sacrificar con-

siderablemente la calidad de los agrupamientos, pero también buscando minimi-

zar el tiempo de procesamiento requerido para agrupar. Los conjuntos de datos

utilizados fueron conjuntos medianos (Abalone, Póker_small) y grandes (Adult,

Birch1).

La evaluación de calidad de los agrupamientos se realizó considerando el valor

de la función objetivo ya que ésta toma en cuenta que los objetos pertenecientes

a un agrupamiento sean altamente similares entre sí y poco similares a los obje-

tos de otros agrupamientos. Utilizar otros índices de validación en grandes con-

juntos de datos podría resultar ser más costoso que la tarea de agrupar en sí, por

esta razón, hemos considerado utilizar el valor de la función objetivo como in-

dicador de la calidad de los agrupamientos. En los experimentos se incluyeron

pruebas comparando el valor de la función objetivo variando el número de agru-

pamientos desde 2 hasta 16.

Los valores de la función objetivo y tiempo obtenidos para diferentes conjun-

tos de datos y valores del parámetro p de la variante (a) se muestran en las Figu-

ras 6.1 a 6.4. El parámetro p es el número de elementos por subconjunto.

Page 94: Agrupamiento en grandes conjuntos de datos mezclados

74 EXPERIMENTACIÓN

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

Figura 6.1. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores del parámetro p de la variante (a) del método propuesto (𝐹𝐺𝐾𝑀𝑎) en el con-

junto de datos Abalone, con k=2,3,…,16 y p=50%, 25%, 10%, 5% y 1%

3700

3750

3800

3850

3900

3950

4000

4050

4100

2 4 6 8 10 12 14 16

VA

LOR

DE

LA F

UN

CIÓ

N O

BJE

TIV

O

NÚMERO DE AGRUPAMIENTOS

ABALONE

FGKMVa50%

FGKMVa25%

FGKMVa10%

FGKMVa5%

FGKMVa1%

0

50

100

150

200

250

2 4 6 8 10 12 14 16

TIE

MP

O D

E E

JEC

UC

ION

EN

SE

GU

ND

OS

NÚMERO DE AGRUPAMIENTOS

ABALONEFGKMVa50%

FGKMVa25%

FGKMVa10%

FGKMVa5%

FGKMVa1%

Page 95: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 75

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

Figura 6.2. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores del parámetro p de la variante (a) del método propuesto (𝐹𝐺𝐾𝑀𝑎) en el con-

junto de datos Pócker_small, con k=2,3,…,16 y p=10%, 5%, 1%, 0.5% y 0.1%

14000

14500

15000

15500

16000

16500

17000

17500

18000

2 4 6 8 10 12 14 16

VA

LOR

DE

LA

FU

NC

IÓN

OB

JET

IVO

NÚMERO DE AGRUPAMIENTOS

PÓCKER _SMALL

FGKMVa10%

FGKMVa5%

FGKMVa1%

FGKMVa0.5%

FGKMVa0.1%

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

2 4 6 8 10 12 14 16

VA

LOR

DE

LA F

UN

CIÓ

N O

BJE

TIV

O

NÚMERO DE AGRUPAMIENTOS

PÓCKER_SMALLFGKMVa10%

FGKMVa5%

FGKMVa1%

FGKMVa0.5%

FGKMVa0.1%

Page 96: Agrupamiento en grandes conjuntos de datos mezclados

76 EXPERIMENTACIÓN

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

Figura 6.3. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores del parámetro p de la variante (a) del método propuesto (𝐹𝐺𝐾𝑀𝑎) en el conjunto

de datos Adult, con k=2,3,…,16 y p=10%, 5%, 1%, 0.5% y 0.1%

25350

25850

26350

26850

27350

27850

28350

2 4 6 8 10 12 14 16

VA

LOR

DE

LA F

UN

CIÓ

N O

BJE

TIV

O

NÚMERO DE AGRUPAMIENTOS

ADULT

FGKMVa10%

FGKMVa5%

FGKMVa1%

FGKMVa0.5%

FGKMVa0.1%

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

2 4 6 8 10 12 14 16

TIEM

PO

DE

EJEC

UC

IÓN

EN

SEG

UN

DO

S

NÚMERO DE AGRUPAMIENTOS

ADULTFGKMVa10%

FGKMVa5%

FGKMVa1%

FGKMVa0.5%

FGKMVa0.1%

Page 97: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 77

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

.

Figura 6.4. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores del parámetro p de la variante (a) del método propuesto (𝐹𝐺𝐾𝑀𝑎) en el conjunto

de datos Birch1, con k=2,3,…,16 y p=1%, 0.5%, 0.2%, 0.1% y 0.05%

82000

84000

86000

88000

90000

92000

94000

96000

2 4 6 8 10 12 14 16

VA

LOR

DE

LA F

UN

CIÓ

N O

BJE

TIV

O

NÚMERO DE AGRUPAMIENTOS

BIRCH1

FGKMVa1%

FGKMVa0.5%

FGKMVa0.2%

FGKMVa0.1%

FGKMVa0.05%

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

2 4 6 8 10 12 14 16

TIEM

PO

DE

EJEC

UC

IÓN

EN

SEG

UN

DO

S

NÚMERO DE AGRUPAMIENTOS

BIRCH1FGKMVa1%

FGKMVa0.5%

FGKMVa0.2%

FGKMVa0.1%

FGKMVa0.05%

Page 98: Agrupamiento en grandes conjuntos de datos mezclados

78 EXPERIMENTACIÓN

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

De los resultados mostrados en las Figuras 6.1 a 6.4, se puede observar qué

valores de p producen grandes variaciones en el tiempo requerido para agrupar

pero no respecto a la calidad de los agrupamientos. De lo observado en los ex-

perimentos, se concluye que un buen valor para p sería uno cercano a un por-

centaje que considere 200 objetos por subconjunto, ya que posibilita procesar

grandes conjuntos de datos en un tiempo razonable obteniendo agrupamientos

con buena calidad en términos de la función objetivo. A continuación se detalla

lo observado para cada conjunto.

En el conjunto Abalone, con 4177 objetos mezclados, el menor tiempo para

agrupar los 15 valores de k es el obtenido por la variante 𝐹𝐺𝐾𝑀𝑎 con p=5%, es

decir, se procesaron 20 subconjuntos de 208 objetos para cada k en 214 segundos

en total. El segundo menor tiempo fue obtenido por 𝐹𝐺𝐾𝑀𝑎 con p=1%, es decir,

se procesaron 100 subconjuntos de 41 objetos para cada k en 328 segundos en

total. 𝐹𝐺𝐾𝑀𝑎 con p=1% obtiene un mejor tiempo cuando k=2 puesto que se

produce un conjunto de objetos representativos de tamaño 100×2 y 100 matrices

de similitud de tamaño 41×41 mientras que para 𝐹𝐺𝐾𝑀𝑎 con p=5% produce un

conjunto de objetos representativos de tamaño 20×2 y 20 matrices de similitud

de tamaño 208×208, pero cuando k=16 𝐹𝐺𝐾𝑀𝑎, con p=5% obtiene el mejor

tiempo al producir un conjunto de objetos representativos de tamaño 20×16 y 20

matrices de similitud de tamaño 208×208 mientras que para 𝐹𝐺𝐾𝑀𝑎 con p=1%

produce un conjunto de objetos representativos de tamaño 100×16 y 100 matri-

ces de similitud de tamaño 41×41.

En el conjunto Pócker_small, con 25,000 objetos mezclados, el menor tiempo

para agrupar los 15 valores de k fue el obtenido por la variante 𝐹𝐺𝐾𝑀𝑎 con

p=1%, es decir, se procesaron 100 subconjuntos de 250 objetos para cada k en

2081 segundos en total. El segundo menor tiempo fue obtenido por 𝐹𝐺𝐾𝑀𝑎 con

p=0.5%, es decir, se procesaron 200 subconjuntos de 125 objetos para cada k en

2260 segundos en total.

En el conjunto Adult, con 32,563 objetos mezclados, el menor tiempo para

agrupar los 15 valores de k fue el obtenido por la variante 𝐹𝐺𝐾𝑀𝑎 con p=0.5%,

es decir, se procesaron 200 subconjuntos de 168 objetos para cada k en 4462

segundos en total. El segundo menor tiempo fue obtenido por 𝐹𝐺𝐾𝑀𝑎 con

p=1%, es decir, se procesaron 100 subconjuntos de 325 objetos para cada k en

5438 segundos en total.

Page 99: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 79

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

Finalmente, en el conjunto Birch1, con 100,000 objetos numéricos, el menor

tiempo para agrupar los 15 valores de k fue el obtenido por la variante 𝐹𝐺𝐾𝑀𝑎

con p=0.2%, es decir, se procesaron 500 subconjuntos de 200 objetos para cada

k en 4095 segundos en total. El segundo menor tiempo fue obtenido por 𝐹𝐺𝐾𝑀𝑎

con p=0.5%, es decir, se procesaron 200 subconjuntos de 500 objetos para cada

k en 6450 segundos en total.

Por otra parte, también se realizaron experimentos para determinar buenos va-

lores para los parámetros d y max de la variante (b) del método propuesto

𝐹𝐺𝐾𝑀𝑏, esto a partir de los valores de la función objetivo y tiempos obtenidos

para diferentes conjuntos de datos y valores de k. Los resultados de agrupar uti-

lizando 𝐹𝐺𝐾𝑀𝑏 variando los parámetros d y max son mostrados en las Figuras

6.5 a 6.8. el parámetro d permite determinar el número de particiones a realizar

de manera recursiva, max es el máximo número de elementos de los subconjun-

tos a procesar por el algoritmo base, en nuestro caso por Fast Global k-Means

con funciones de similitud.

En las Figuras 6.5 a 6.8 se muestran gráficas de la calidad y tiempo de los

agrupamientos en diferentes conjuntos de datos; en el eje y de las gráficas se

encuentran los valores de la función objetivo, en el eje x se encuentran los valo-

res de los parámetros de la variante (b) con los que se experimentó y en el eje z

de la gráfica los diferentes valores de k, con k=2,3,…,16.

En general, se puede observar que el menor tiempo requerido para agrupar los

conjuntos se presenta para valores pequeños de max, sin embargo para d=2 y

d=5, el valor de la función objetivo se ve degradado y en otros casos, por ejemplo

para d=20 y d=15 y valores pequeños de max= 50, max=100, max=125, el agru-

pamiento se indetermina, un ejemplo de ello es cuando d=20, max=100 y k=11

en el conjunto de datos Abalone (4177 objetos); sucede que la variante (b) em-

pieza a dividir el conjunto, es decir, se generan 20 subconjuntos con 208 ele-

mentos, pero como 208 es mayor max, se divide nuevamente y por cada uno de

los subconjuntos se generan otros 20 subconjuntos de tamaño 10, en este caso

10 es menor a max, sin embargo, 10 elementos no son suficientes para hallar los

11 objetos representativos, lo cual genera la indeterminación. Por otro lado,

cuando se utiliza d=10 y max=100, se obtienen los resultados del agrupamiento

con un mínimo de tiempo y la calidad no se ve degradada considerablemente

resultando en una buena opción para los parámetros.

Page 100: Agrupamiento en grandes conjuntos de datos mezclados

80 EXPERIMENTACIÓN

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

Figura 6.5. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores de los parámetro d y max de la variante (b) del método propuesto (𝐹𝐺𝐾𝑀𝑏) en

el conjunto de datos Abalon, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=100, 200,

400, 1000, 2000

3700

3750

3800

3850

3900

3950

4000

4050

4100

2

6

10

14

Abalone

3700-3750 3750-3800 3800-3850 3850-3900 3900-3950 3950-4000 4000-4050 4050-4100

0

20

40

60

80

100

120

140

160

2

6

10

14

Abalone

0-20 20-40 40-60 60-80 80-100 100-120 120-140 140-160 160-170

Page 101: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 81

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

Figura 6.6. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores de los parámetro d y max de la variante (b) del método propuesto (𝐹𝐺𝐾𝑀𝑏) en

el conjunto de datos Adult, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=100, 160, 325,

1600, 3250

25000

25500

26000

26500

27000

27500

28000

2

6

10

14

Adult

25000-25500 25500-26000 26000-26500 26500-27000 27000-27500 27500-28000

0

500

1000

1500

2000

2500

3000

3500

2

5

8

11

14

Adult

0-500 500-1000 1000-1500 1500-2000 2000-2500 2500-3000 3000-3500

Page 102: Agrupamiento en grandes conjuntos de datos mezclados

82 EXPERIMENTACIÓN

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

Figura 6.7. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores de los parámetro d y max de la variante (b) del método propuesto (𝐹𝐺𝐾𝑀𝑏) 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

13500

14000

14500

15000

15500

16000

16500

17000

17500

2

6

10

14

Pócker_Small

13500-14000 14000-14500 14500-15000 15000-1550015500-16000 16000-16500 16500-17000 17000-17500

0

100

200

300

400

500

600

700

800

900

1000

2

6

10

14

Pócker_small

0-100 100-200 200-300 300-400 400-500 500-600 600-700 700-800 800-900 900-1000

Page 103: Agrupamiento en grandes conjuntos de datos mezclados

6.3 SELECCIÓN DE VALORES PARA LOS PARÁMETROS DE LAS VARIANTES DEL MÉTODO PROPUESTO 83

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

Figura 6.8. Valores de la función objetivo y tiempos de ejecución para diferentes va-

lores de los parámetro d y max de la variante (b) del método propuesto (𝐹𝐺𝐾𝑀𝑏) en

el conjunto de datos Birch1, con k=2,3,…, 16, d=2, 5, 10, 15, 20 y max=50, 100, 200,

500, 1000

81000

83000

85000

87000

89000

91000

93000

95000

2

6

10

14

Birch1

81000-83000 83000-85000 85000-87000 87000-8900089000-91000 91000-93000 93000-95000

0

200

400

600

800

1000

1200

1400

2

6

10

14

Birch1

0-200 200-400 400-600 600-800 800-1000 1000-1200 1200-1400

Page 104: Agrupamiento en grandes conjuntos de datos mezclados

84 EXPERIMENTACIÓN

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

En resumen, los resultados experimentales en la sección 6.2 indican que los

valores de los parámetros de las variantes (variante (a)) p=200, (𝑝 puede ser

expresado en términos de porcentajes a partir del número de objetos) d=10 y

max=100 (variante (b)) minimizan el tiempo de agrupamiento sin degradar con-

siderablemente la calidad, es por ello que en las secciones siguientes se utilizarán

estos valores para el resto de los experimentos.

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

En esta sección, se muestran resultados en ℝ2 de los agrupamientos obtenidos

por las variantes (a) y (b) del método propuesto utilizando como algoritmo base

el Fast Global k-Means; 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏. Se muestra una comparación contra

las variantes rseFCM, spFCM, oFCM de Havens. Los métodos fueron aplicados

al conjunto de datos 2D15-50,000. Este conjunto consta de 50,000 objetos, 2

atributos numéricos y 15 grupos. La distribución original del conjunto de datos

se muestra en la Figura 6.9. En esta figura se muestra la pertenencia de cada

objeto al grupo correspondiente al graficar los objetos en el plano cartesiano y

asignar un color diferente para los objetos de cada agrupamiento. El resultado

en ℝ2 de los agrupamientos obtenidos por las variantes antes mencionadas se

muestra en las Figuras 6.10,…, 6.14. Estas figuras nos permiten evaluar y com-

parar de manera gráfica la calidad de los agrupamientos obtenidos por las va-

riantes del método propuesto y las variantes del método de Havens.

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

2D15 – 50,000

Page 105: Agrupamiento en grandes conjuntos de datos mezclados

6.4 COMPARACIÓN CONTRA EL MÉTODO PROPUESTO POR HAVENS EN ℝ𝟐 85

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

Figura 6.10. Resultados del agrupamiento por 𝐹𝐺𝐾𝑀𝑎

En la Figura 6.10 se muestran los resultados de obtenidos por la variante

FGKMa del método propuesto. En la figura se puede observar una gran similitud

en comparación con la distribución original de los datos, se puede ver que se

obtiene un agrupamiento casi perfecto. Para procesar este conjunto, se agruparon

subconjuntos del 0.1% de los datos del conjunto original. El número de grupos

a hallar fue con 𝑘 = 15. En la figura también se incluye el valor de la función

objetivo (VFO) y el tiempo requerido para agrupar. El valor de la función objetivo

nos permite comparar la calidad de agrupamiento únicamente con las variantes del mé-

todo propuesto, esto es debido a que el valor de la función objetivo que se obtiene está

en dependencia de la función de comparación de objetos que se utilice.

FGKMa – 0.1%

VFO – 48863.258

Segundos – 1836.965

Page 106: Agrupamiento en grandes conjuntos de datos mezclados

86 EXPERIMENTACIÓN

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

Figura 6.11. Resultados del agrupamiento por 𝐹𝐺𝐾𝑀𝑏

En la Figura 6.11 se muestran los resultados obtenidos por la variante FGKMb

del método propuesto. En la figura, nuevamente se puede observar una gran si-

militud con la distribución original de los datos, el algoritmo es capaz de deter-

minar con gran exactitud los 15 grupos de este conjunto de datos. Para procesar

este conjunto se utilizaron los parámetros d=10 y max=100. El número de gru-

pos a fue 𝑘 = 15. En la figura también se incluye el valor de la función objetivo

(VFO) y el tiempo requerido para realizar el agrupamiento. En comparación con

la Figura 6.10, la variante (b) obtiene resultados muy parecidos a la variante (a)

con tan solo una diferencia de 0.531 en el valor de la función objetivo, sin em-

bargo, el tiempo que toma la variante (b) para procesar el conjunto de datos, es

considerablemente menor con respecto al requerido por la variante (a).

FGKFb – 0.1%

VFO – 48862.727

Segundos – 59.525

Page 107: Agrupamiento en grandes conjuntos de datos mezclados

6.4 COMPARACIÓN CONTRA EL MÉTODO PROPUESTO POR HAVENS EN ℝ𝟐 87

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

Figura 6.12. Resultados del agrupamiento por 𝑟𝑠𝑒𝐹𝐶𝑀

En la Figura 6.12 se muestran los resultados obtenidos por la variante rseFCM

del método de Havens. En la figura se puede observar que rseFCM realiza la

tarea de agrupamiento en un tiempo menor que la variante 𝐹𝐺𝐾𝑀𝑏 del método

propuesto, sin embargo, en la figura se puede apreciar que la calidad en el agru-

pamiento es inferior a la presentada por 𝐹𝐺𝐾𝑀𝑏. De igual manera, para procesar

este conjunto se agrupó una muestra del 0.l% de los datos del conjunto original.

El número de grupos fue 𝑘 = 15. En la figura también se incluye el valor de la

función objetivo (VFO), en este caso el valor de la función objetivo es minimi-

zado debido a que se utilizó la distancia Euclidiana. Esta variante es una alter-

nativa para los casos en los que se pueda sacrificar un poco la calidad de los

agrupamientos, con el fin de hallar una solución rápida al problema. Note que

esta variante del FCM, solamente es capaz de encontrar correctamente 10 de los

15 grupos, mientras que los 5 restantes presentan una gran confusión.

rseFCM – 0.1%

VFO – 2.690 × 109

Segundos – 11.58

Page 108: Agrupamiento en grandes conjuntos de datos mezclados

88 EXPERIMENTACIÓN

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

Figura 6.13. Resultados del agrupamiento por 𝑠𝑝𝐹𝐶𝑀

En la Figura 6.13 se muestran los resultados obtenidos por la variante spFCM

del método de Havens. En la figura se puede observar que spFCM obtiene me-

jores resultados de calidad en comparación a la variante más rápida 𝑟𝑠𝑒𝐹𝐶𝑀. A

rseFCM solamente le toma 11.6 segundos para agrupar, pero es la peor opción a

considerar para obtener buenos resultados de calidad. De igual manera, para pro-

cesar este conjunto se agrupó una muestra del 0.l% de los datos del conjunto

original. El número de grupos fue 𝑘 = 15. En la figura también se incluye el

valor de la función objetivo (VFO), que de igual manera que en rseFCM, se re-

quiere que el valor de la función objetivo sea minimizado, debido al uso de la

distancia Euclidiana. También se puede observar que spFCM agrupa en un

tiempo bastante cercano al requerido por la variante (b) del método propuesto,

sin embargo, spFCM a diferencia de 𝐹𝐺𝐾𝑀𝑏 presenta mayor confusión en 2 gru-

pos, los cuales no son determinados correctamente.

spFCM – 0.1%

VFO – 2.144 ×109

Segundos – 52.885

Page 109: Agrupamiento en grandes conjuntos de datos mezclados

6.4 COMPARACIÓN CONTRA EL MÉTODO PROPUESTO POR HAVENS EN ℝ𝟐 89

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

Figura 6.14. Resultados del agrupamiento por 𝑠𝑝𝐹𝐶𝑀

Finalmente, en la Figura 6.14 se muestran los resultados de obtenidos por la

variante oFCM del método de Havens. En la figura se puede observar que oFCM

al igual que las variantes 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏 obtiene un agrupamiento casi per-

fecto. Puede notarse que oFCM es la variante más tardada de las variantes de

Havens, pero es la que obtiene el menor valor de la función objetivo. De igual

manera, para procesar este conjunto se consideraron muestras del 0.l% de los

datos del conjunto original. El número de grupos fue 𝑘 = 15. Podemos observar

que oFCM obtiene resultados de calidad muy parecidos a 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏, sin

embargo la variante 𝐹𝐺𝐾𝑀𝑏 del método propuesto obtiene el agrupamiento más

rápido.

Este análisis nos permite determinar la eficacia y eficiencia de las variantes

del método propuesto en comparación con los trabajos de agrupamiento para

oFCM – 0.1%

VFO – 1.754×109

Segundos – 192.296

Page 110: Agrupamiento en grandes conjuntos de datos mezclados

90 EXPERIMENTACIÓN

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

grandes conjuntos de datos numéricos más recientemente reportados. Los resul-

tados indican que las variantes del método propuesto son competentes en la ca-

lidad en comparación a la mejor de las variantes de Havens, sin embargo, la

variante (b) del método propuesto es más rápida que la variante oFCM.

6.5 Pruebas de sensibilidad al orden de los datos

Una característica típica de los métodos basados en k-Means, es que los resul-

tados del agrupamiento pueden variar respecto al orden en que se procese el

conjunto de datos y respecto a las semillas iniciales que sean utilizadas. En esta

sección se compara la eficacia de las variantes del método propuesto contra la

eficacia de las variantes de Havens en el conjunto de datos 2D15-50,000 al rea-

lizar pruebas de sensibilidad al orden de los datos. En los experimentos de esta

sección se consideraron tamaños de muestra del 10%, 1% y 0.1% de los datos

(cabe mencionar que el parámetro d de la variante (b) del método propuesto fue

d=10). En las siguientes tablas se muestra el promedio de 50 repeticiones de las

variantes con 𝑘 = 15, el mínimo y máximo de las 50 repeticiones variando el

orden de los datos, así como la desviación estándar.

En la Tabla 6.5 se muestran los valores obtenidos para la función objetivo por

las variantes del método propuesto. Se puede observar que, en promedio, para

las 50 repeticiones el valor que alcanzan las variantes es muy parecido incluso

cuando se trabajan con muestras de datos del 0.1%. Otra característica impor-

tante a resaltar es que existe una variación muy pequeña en los resultados para

ambas variantes, aunque la variante 𝐹𝐺𝐾𝑀𝑎 es la que presenta menor desviación

estándar para los diferentes tamaños de muestra. En este caso no es posible rea-

lizar una comparativa con las variantes de Havens debido a que los valores de

función objetivo dependen de medidas de comparación de objetos y se usan me-

didas diferentes. Los mejores resultados son resaltados en negritas, y se puede

observar que en la mayoría de los casos, los mejores valores de función objetivo

los obtiene la variante 𝐹𝐺𝐾𝑀𝑎 del método propuesto.

En la Tabla 6.6 se muestran los valores de la función objetivo obtenidos por las

variantes rseFCM, spFCM y oFCM para tamaños de muestra 10%, 1% y 0.1%.

Cabe resaltar que existe una desviación estándar mucho mayor en comparación

de las variantes del método propuesto. Los mejores resultados se muestran re-

saltados en negritas, y los menores valores de función objetivo fueron obtenidos

Page 111: Agrupamiento en grandes conjuntos de datos mezclados

6.5 PRUEBAS DE SENSIBILIDAD AL ORDEN DE LOS DATOS 91

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

por spFCM para tamaños de muestra más grandes y los menores valores de fun-

ción objetivo para tamaños de muestra más pequeños por oFCM.

Tabla 6.5. Valores de función objetivo para las variantes del método propuesto

Algoritmo

Tamaño muestra FGKMa FGKMb

10%

prom. 48863.38 48863.40

dest. 0.15773 0.21079

mín. 48863.06 48862.93

máx. 48863.71 48863.754

1%

prom. 48863.40 48862.94

dest. 0.17127 0.24445

mín. 48862.98 48862.93

máx. 48863.66 48863.39

0.1%

prom. 48863.34 48862.51

dest. 0.17460 0.31384

mín. 48863.04 48861.66

máx. 48863.73 48863.02

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

Algoritmo

Tamaño muestra rseFCM spFCM oFCM

10%

prom. 19602×105 18220×105 19778×105 dest. 20053×104 14492×104 19217×104

mín. 17514×105 17500×105 17538×105

máx. 21898×105 21632×105 21653×105

1%

prom. 21219×105 18589×105 19706×105

dest. 22764×104 20191×104 19885×104

mín. 17698×105 17500×105 17554×105

máx. 26838×105 25463×105 22747×105

0.1%

prom. 28637×105 20023×105 19134×105

dest. 38663×104 21498×104 20306×104

mín. 20714×105 17500×105 17540×105

máx. 38772×105 25477×105 25159×105

Las Tablas 6.7 y 6.8 contienen los valores de Rand Index de 50 repeticiones

de las variantes del método propuesto y las variantes de Havens respectivamente.

En este caso los valores de Rand Index nos permiten comparar las variantes del

método propuesto y las variantes de Havens. Lo que se puede observar en ambas

tablas es que en todos los casos, las variantes del método propuesto obtienen el

mejor promedio de Rand Index, así como el mejor mínimo de Rand Index y la

menor desviación estándar. En especial es FGKMa la variante que obtiene los

mejores resultados en la mayoría de los casos, FGKMb obtiene resultados muy

similares.

Page 112: Agrupamiento en grandes conjuntos de datos mezclados

92 EXPERIMENTACIÓN

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

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

Algoritmo

Tamaño muestra FGKMa FGKMb

10%

prom. 0.99802 0.99803 dest. 1.65×10-5 1.34×10-5 mín. 0.99800 0.99799 máx. 0.99807 0.99806

1%

prom. 0.99803 0.99802 dest. 1.46×10-5 2.05×10-5 mín. 0.99800 0.99798 máx. 0.99806 0.99807

0.1%

prom. 0.99803 0.99802 dest. 1.61×10-5 2.42×10-5 mín. 0.99800 0.99798 máx. 0.99808 0.99809

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

Algoritmo

Tamaño muestra rseFCM spFCM oFCM

10%

prom. 0.99266 0.99651 0.99191 dest. 0.00546 0.00404 0.00552

mín. 0.98621 0.98635 0.98592

máx. 0.99832 0.99832 0.99832

1%

prom. 0.98927 0.99541 0.99247

dest. 0.00605 0.00539 0.00545

mín. 0.97452 0.97615 0.98565

máx. 0.99843 0.99831 0.99833

0.1%

prom. 0.97788 0.99181 0.99418

dest. 0.00982 0.00579 0.00565

mín. 0.94629 0.97500 0.97827

máx. 0.99708 0.99829 0.99832

En general, las variantes del método propuesto han demostrado ser robustas

respecto al orden en el que se presentan los datos al algoritmo, esto es, resulta

muy probable que incluso con diferentes ordenamientos de la muestra, se ob-

tenga un resultado muy parecido para diferentes ejecuciones de las variantes el

método. Esta característica es heredada del algoritmo base Fast Global k-Means.

En la Tabla 6.9 se muestran los tiempos requeridos para los experimentos an-

teriormente mencionados. En esta tabla puede observarse que rseFCM 0.1% es

la opción más rápida para agrupar, pero la de menor calidad. La segunda opción

más rápida es FGKMb con el 1% pero con resultados con buena calidad y poca

sensibilidad al orden de los datos.

Page 113: Agrupamiento en grandes conjuntos de datos mezclados

6.6 EXPERIMENTOS CON GRANDES CONJUNTOS DE DATOS (TIEMPO, CALIDAD Y ESCALABILIDAD) 93

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

Tabla 6.9 Tiempos de ejecución para las variantes del método propuesto y las varian-

tes de Havens

Algoritmo Milisegundos Algoritmo Milisegundos

FGKMa 10% 2,195,374 rseFCM 10% 34,465

FGKMa 1% 2,007,228 rseFCM 1% 20,229

FGKMa 0.1% 248,383 rseFCM 0.1% 18,434

FGKMb 10% 2,185,807 spFCM 10% 172,071

FGKMb 1% 239,980 spFCM 1% 115,059

FGKMb 0.1% 96,443 spFCM 0.1% 64,952

oFCM 10% 213,849 oFCM 0.1% 169,876

oFCM 1% 175,706

6.6 Experimentos con grandes conjuntos de datos (tiempo, cali-

dad y escalabilidad)

En esta sección se evalúa el comportamiento de las variantes del método pro-

puesto en grandes conjuntos de datos mezclados. Para los experimentos de esta

sección, se adaptaron las variantes rseFCM y spFCM de Havens como

rseFGKM y spFGKM, de esta manera podemos realizar una comparación en

tiempo y calidad con las variantes 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏 del metodo propuesto. Las

pruebas se realizaron con los conjunto de datos Cov-Type el cual tiene 581,012

objetos mezclados y Pócker Hand de 1,000,000 de objetos mezclados.

Las Figuras 6.15 y 6.17 muestran los valores de la función objetivo para valo-

res de 𝑘 = 2,3, … ,16 utilizado las diferentes variantes del método propuesto y

de los métodos adaptados rseFGKM y spFGKM. La Figuras 6.16 y 6.18 mues-

tran los tiempos de ejecución en minutos y horas respectivamente, para valores

de 𝑘 = 2,3, … , 16, de igual manera utilizado las diferentes variantes.

En la Figura 6.15 se observa que FGKMa obtiene siempre los valores más altos

de la función objetivo seguida de FGKMb, mientras que rseFGKM obtiene los

valores más bajos y spFGKM está entre FGKMb y rseFGKM. Por otro lado, en

la Figura 6.16 se aprecia que el tiempo de ejecución de FGKMa es el más elevado

y rseFGKM es el de menor tiempo, mientras que para spFGKM y FGKMb se

mantienen un comportamiento similar en tiempo.

En la Figura 6.17 se puede apreciar que FGKMa y FGKMb obtienen valores de

la función objetivo parecidos, mientras que rseFGKM y spFGKM obtienen nue-

vamente valores inferiores a las variantes del método propuesto. En la Figura

6.18 los tiempos de ejecución de FGKMb y spFGKM resultan muy similares,

mientras que FGKMa es la que más tardada.

Page 114: Agrupamiento en grandes conjuntos de datos mezclados

94 EXPERIMENTACIÓN

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

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

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

475000

480000

485000

490000

495000

500000

505000

510000

515000

520000

525000

2 4 6 8 1 0 1 2 1 4 1 6

FUN

CIÓ

N O

BJE

TIV

O

NÚMERO DE GRUPOS

COV-TYPE: 581,012 OBJETOS MEZCLADOS

rseFGKM

spFGKM

FGKM-Va

FGKM-Vb

0

50

100

150

200

250

2 4 6 8 1 0 1 2 1 4 1 6

TIEM

PO

(MIN

UTO

S)

NÚMERO DE GRUPOS

COV-TYPE: 54 ATRIBUTOS

Page 115: Agrupamiento en grandes conjuntos de datos mezclados

6.6 EXPERIMENTOS CON GRANDES CONJUNTOS DE DATOS (TIEMPO, CALIDAD Y ESCALABILIDAD) 95

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

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

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

550000

570000

590000

610000

630000

650000

670000

690000

710000

2 4 6 8 10 12 14 16

VA

LOR

DE

LA F

UN

CIÓ

N O

BJE

TIV

O

NÚMERO DE AGRUPAMIENTOS

PÓCKER HAND - 1,000,000 OBJETOS MEZCLADOS

FGKMVa

FGKMVb

spFGKM

rseFGKM

0

2

4

6

8

10

12

14

16

2 4 6 8 10 12 14 16

TIEM

PO

DE

EJEC

UC

IÓN

(HO

RA

S)

NÚMERO DE AGRUPAMIENTOS

PÓCKER HAND - 10 ATRIBUTOSFGKMVa

FGKMVb

spFGKM

rseFGKM

Page 116: Agrupamiento en grandes conjuntos de datos mezclados

96 EXPERIMENTACIÓN

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

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

Hand

En la Figura 6.19 se muestran los tiempos de ejecución de las variantes del

método propuesto al agrupar diferentes tamaños del conjunto de datos Pócker

Hand, con k=10. En esta figura se puede apreciar que el tamaño del conjunto de

datos afecta de mayor manera al tiempo requerido para agrupar de la variante

FGKMa, mientras que la variante FGKMb se muestra mucho más rápida.

Los experimentos realizados en esta sección nos permiten concluir que la me-

jor opción para agrupar grandes conjuntos de datos mezclados es la variante

FGKMb del método propuesto. FGKMb ha demostrado obtener buenos resulta-

dos de calidad en los agrupamientos, y ser una variante rápida.

0

2

4

6

8

10

12

14

50 150 250 350 450 550 650 750 850 950

TIEM

PO

DE

EJEC

UC

IÓN

(HO

RA

S)

TAMAÑO DEL CONJUNTO DE DATOS (EN MILES)

PÓCKER HAND

FGKMVa

FGKMVb

Page 117: Agrupamiento en grandes conjuntos de datos mezclados

97

Capítulo 7

Conclusiones y Trabajo futuro

En este capítulo se presentan las conclusiones de este trabajo de in-

vestigación. También, se presenta el trabajo futuro que se desprende del

desarrollo y experimentación de las variantes del método propuesto

para agrupar grandes conjuntos de datos mezclados.

7.1 Conclusiones

Los algoritmos de agrupamiento para conjuntos de datos mezclados, en espe-

cial los tipo k-Means, han mostrado ser algoritmos eficientes para realizar la

tarea de agrupamiento. También, se ha visto la necesidad de contar con agrupa-

dores que aborden adecuadamente la problemática para conjuntos de datos mez-

clados, esto es, considerar el uso de medidas de comparación para objetos mez-

clados, así como diferentes tipos de objetos representativos para los agrupamien-

tos (centroides). Estas características imponen restricciones en la forma de abor-

dar el problema y en especial hacen que los algoritmos de agrupamiento resulten

inaplicables en grandes conjuntos de datos mezclados.

En este trabajo de investigación hemos abordado la problemática de agrupar

de manera convexa grandes conjuntos de datos mezclados. La solución pro-

puesta sigue una estrategia de tipo divide y vencerás aplicando un algoritmo base

de agrupamiento para datos mezclados. Se estudió el uso de diferentes medidas

de comparación de objetos mezclados y de objetos representativos en el algo-

ritmo base. Los experimentos realizados han mostrado que el método propuesto

es capaz de agrupar grandes conjuntos de datos mezclados produciendo agrupa-

mientos convexos con buena calidad y en tiempos razonables.

Page 118: Agrupamiento en grandes conjuntos de datos mezclados

98 CONCLUSIONES Y TRABAJO FUTURO

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

La solución a la problemática plateada en este trabajo incluyó la selección de

un algoritmo base de agrupamiento de datos mezclados. A partir de las pruebas

realizadas en el capítulo 5 se puede concluir que el algoritmo base de agrupa-

miento adecuado es Fast Global k-Means, ya que es un algoritmo rápido, de

agrupamiento exclusivo, de partición, que permite hallar formas convexas, que

produce agrupamientos con una buena aproximación a un agrupamiento global.

Además, Fast Global k-Means es independiente del orden en que se procese el

conjunto de datos, por lo que dado un conjunto de datos, siempre produce el

mismo agrupamiento.

Seguir una estrategia divide y vencerás, para obtener un método de agrupa-

miento de grandes conjuntos de datos mezclados, nos llevó a considerar dos va-

riantes del método propuesto, 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏. Estas variantes abordan el pro-

blema de agrupar grandes conjuntos de datos mezclados al considerar subcon-

juntos de tamaño manejable haciendo factible la tarea.

El análisis de complejidad computacional nos permite concluir que las varian-

tes del método propuesto 𝐹𝐺𝐾𝑀𝑎 ∈ 𝑂(𝑛) y 𝐹𝐺𝐾𝑀𝑏 ∈ 𝑂(𝑛𝑙𝑜𝑔(𝑛)) son eficien-

tes para agrupar grandes conjuntos de datos mezclados y representan una mejora

respecto a su algoritmo base Fast Global k-Means cuya complejidad compu-

tacional es 𝑂(𝑛2).

Para la variante 𝐹𝐺𝐾𝑀𝑎 se requiere especificar el número de elementos por

subconjunto a procesar. Con base en los resultados experimentales se puede con-

cluir que un buen valor para este parámetro consiste en considerar subconjuntos

de alrededor de 200 elementos. Con este valor, 𝐹𝐺𝐾𝑀𝑎 obtiene los mejores

tiempos de ejecución y a su vez obtiene valores similares de la función objetivo

que valores mayores del parámetro, es decir, se obtienen agrupamientos en un

menor tiempo pero sin sacrificar considerablemente la calidad.

Por otra parte, la variante 𝐹𝐺𝐾𝑀𝑏 requiere que se especifique el número de

particiones a realizar del conjunto original en cada llamado recursivo, hasta al-

canzar el caso base que considera el número máximo de elementos de un sub-

conjunto para ser agrupado por el algoritmo base. Con base en los resultados

experimentales se puede concluir que dividir el problema de forma recursiva en

10 subconjuntos a la vez y que considerar subconjuntos de tamaño máximo de

alrededor de 100 elementos minimiza el tiempo requerido para realizar la tarea

Page 119: Agrupamiento en grandes conjuntos de datos mezclados

7.2 APORTACIONES 99

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

pero sin sacrificar considerablemente la calidad en comparación a otros valores

para los 2 parámetros.

Los resultados mostrados en el capítulo 6 permiten concluir que las variantes

del método propuesto 𝐹𝐺𝐾𝑀𝑎 y 𝐹𝐺𝐾𝑀𝑏 obtienen agrupamientos de mejor cali-

dad que las variantes rseFCM y spFCM propuestas por Havens, además las dos

variantes del método propuesto obtienen resultados de calidad tan buenos como

los obtenidos por oFCM de Havens, sin embargo la variante 𝐹𝐺𝐾𝑀𝑏 obtiene el

agrupamiento en un menor tiempo de ejecución en comparación a oFCM. Ade-

más, concluimos que las variantes del método propuesto son robustas al orden

que se procesa el conjunto de datos ya que obtienen agrupamientos con poca

sensibilidad, característica heredada del algoritmo base.

Finalmente podemos concluir que las dos variantes del método propuesto han

mostrado buenos resultados en la calidad de los agrupamientos, sin embargo, la

variante 𝐹𝐺𝐾𝑀𝑏 resulta la mejor opción ya que experimentalmente mostró ser

la variante más rápida al agrupar grandes conjuntos de datos mezclados. No obs-

tante, la variante 𝐹𝐺𝐾𝑀𝑎 es mejor que la variante 𝐹𝐺𝐾𝑀𝑏 cuando los conjuntos

a agrupar no son tan grandes.

7.2 Aportaciones

En este trabajo de investigación, se tienen como principal aportación dos va-

riantes de un método de agrupamiento para grandes conjuntos de datos mezcla-

dos basado en el algoritmo de agrupamiento Fast Global k-Means, cuyos agru-

pamientos son de partición, exclusivos y convexos.

7.3 Trabajo futuro

Como consecuencia de este trabajo, es deseable continuar en la línea de inves-

tigación de agrupamientos de conjuntos de datos mezclados. En esta sección se

muestra el trabajo futuro que se desprende de esta tesis:

El agrupamiento de muy grandes conjuntos de datos es una línea de in-

vestigación activa, existen problemas en donde se presenta el peor esce-

nario para la tarea de agrupar. Hoy en día, los conjuntos de datos muy

grandes son una realidad, por ejemplo, se reporta que tan sólo en Face-

book se producen conjuntos de datos de más 25 terabytes (TB) en un sólo

día. Contar con métodos de agrupamiento diseñados para abordar este

Page 120: Agrupamiento en grandes conjuntos de datos mezclados

100 CONCLUSIONES Y TRABAJO FUTURO

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

tipo de problemas es un reto, en especial cuando los conjuntos de datos

son mezclados. Por lo tanto, es deseable seguir desarrollando métodos de

agrupamiento para conjuntos “muy” grandes de datos mezclados, los cua-

les permita tener una respuesta en tiempos razonables.

También, hemos considerado llevar a cabo una implementación paralela

de las variantes del método propuesto y realizar un análisis del compor-

tamiento de esta implementación. Esta implementación resulta directa a

partir las variantes del método propuesto, porque al seguir una estrategia

divide y vencerás, se busca resolver pequeños problemas de forma inde-

pendiente, para después combinar las soluciones.

Divide y vencerás es una estrategia que permite abordar la problemática

de grandes conjuntos de datos respecto al número de objetos. Sin em-

bargo, un problema adicional en Reconocimiento de Patrones que es im-

portante para clasificación no supervisada está relacionado a la dimensio-

nalidad de los objetos. Es de especial interés realizar un estudio del im-

pacto de la dimensionalidad en métodos de agrupamiento para grandes

conjuntos de datos mezclados y abordar el problema desde una perspec-

tiva de selección de atributos.

La información y conjuntos de datos en diversas aplicaciones están en

constante cambio, esto origina que soluciones validas en un determinado

momento puedan dejar de ser soluciones adecuadas al problema en cues-

tión. Por esta razón, es necesario el estudio y propuestas de métodos de

agrupamiento que permitan incluir nueva información para adaptar la so-

lución del problema sin tener que analizar el problema completo.

Page 121: Agrupamiento en grandes conjuntos de datos mezclados

101

Referencias

Ahmad, A. & Dey, L., 2007. A k-mean clustering algorithm for mixed numeric

and categorical data. Data & Knowlegde Engineering , Volumen 63, pp.

503-527.

Aloysius , G., 2011. Efficent High Dimension Data Clustering using

Constraint-Partitionin K-Means Algoritm. The International Arab

Journal of Information Technology, pp. 1-12.

Andrews, N. O. & Fox, E. A., 2007. Clustering for data Reduction: A Divide

and conquer Approach. Tech. rep., Virginia Tech, pp. 1-10.

Bache, K. & Lichman, M., 2013. UCI Machine Learning Repository. Irvine,

CA: University of California, School of Information and Computer

Science, p. [http://archive.ics.uci.edu/ml].

Bidyut Kr., P., Sukumar, N. & Viswanath, P., 2011. A distance based

Clustering method for arbitrary shaped clusters in large datasets. Pattern

Recogniton 44, pp. 2862-2870.

Cormen , T. H., Leiserson, C. E., Rivest, R. L. & Stein, C., 2009. Introduction

to Algorithms. 3rd ed. ed. s.l.:MIT Press and McGraw-Hill.

D. Fisher. 1987. Knowledge acquisition via incremental conceptual clustering.

Machine Learning, Volumen 2, pp.139-172.

Frey, B. J. & Dueck, D., 2007. Clustering by Passing Messages Between Data

Points. Science Magazine, Volumen 315, pp. 951-976.

Page 122: Agrupamiento en grandes conjuntos de datos mezclados

102 REFERENCIAS

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

Fujiwara, Y., Irie, G. & Kitahara, T., 2010. Fast Algoritm for Affinity

Propagation. Proceedings of the Twenty-Second Interational Joint

Conference on Artificial Intelligence, pp. 2238-2243.

Fuyuan , C., Jiye, L. & Deyu, L., 2011. A dissimilarity measure for the k-

Modes clustering algorithm. Knowledge-Based Systems, pp. 120-127.

García Serrano, J. R. & Martínez Trinidad, J. F., 1999. Extension to C-meams

Algorithm fot the Use of Similarity Functions. Principles of Data

Mining and Knowledge Discovery, pp. 354-359.

Grosshans, W. & Chelimsky, E., 1992. Quantitative Data Analysis: An

Introduction. Report to Program Evaluation and Methodology Division,

USA General Accounting Office.

Guha, S., Rastogi, R. & Shim, K., 2001. CURE: an efficient clustering

algorithm for large databases. Information Systems, 26(1), pp. 35-58.

Hathaway , R. & Bezdek, J., 2006. Extending fuzzy and probablilistic

clustering to very large data sets. Computational Statistics and Data

Analysis , Volumen 51, pp. 215-234.

Havens, Timothy C., Bezdek, James C., Leckie, Christopher, Hall, Lawrence

O., Palaniswami, Marimuthu, 2012. Fuzzy c-Means Algorithms for

Very Large Data. IEEE Transactions on Fuzzy Systems, vol.20, no.6, pp.

1130-1146.

He, Z., Xu, X. & Deng, S., 2002. Squeezer: An Efficient Algorithm for

Clustering Categorical Data. J. Comput. Sci & Technol., 17(5), pp. 611-

624.

He, Z., Xu, X. & Deng, S., 2005. Scalable Algorithms for Clustering Large

Datasest with Mixed Type Attributes. International Journal of

Intelligent Systems , Volumen 20, pp. 1077-1089.

Huang, Z., 1997. A Fast Clustering Algorithm to Cluster Very Large

Categorical Data Sets in Data Mining. In Research Issues on Data

Mining and Knowledge Discovery, pp. 1-8.

Huang, Z., 1997. Clustering Large Data Sets with Mixed Numeric and

Categorical Values. In Proceedings of the First Pacific-Asia Conference

on Knowledge Discovery and Data Mining, Singapore, World Scientific,

pp. 21-34.

Page 123: Agrupamiento en grandes conjuntos de datos mezclados

REFERENCIAS 103

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

Huber, P., 1997. Massive Data Sets. National Academy Press. ch. Massive

Data Sets Workshop: The -morning After, pp. 169-184.

Jain, A. K., 2010. Data clustering: 50 years beyond K-means. Pattern

Recognition Letters, Volumen 31, p. 651–666.

Kaufman , L. & Rousseeuw, P., 2005. Finding Groups in Data: An

Introduction to Cluster Analysis. s.l.:Wiley Blackwell.

Khalilian , M., Boroijeni, F. Z., Mustapha, N. & Sulaiman, N., 2009. K-Means

Divide and Conquer Clustering. Intertational Conference on Computer

and Automation Engineering, Volumen 59, pp. 306-309.

Khalilian , M., Zamani, F. & Norwati, M., 2009. K-Means Divide and Conquer

Clustering. Intertational Conference on Computer and Automation

Engineering, pp. 306-309.

Kumar, J., Mills, R. T., Hoffman, F. M. & Hargrove, W. W., 2011. Parallel k-

Means Clustering for Quantitative Ecoregion Delineation Using Large

Data Sets. Procedia Computer Science , Volumen 4, pp. 1602-1611.

Liang, J., Zhao, X., Li, D., Caoe, F., Dang, C., 2012. Determining the number

of clusters using information entropy for mixed data. Pattern

Recognition, Volumen 45, pp. 2251-2265.

Li, M., Holmes, G. & Pfahringer, B., 2004. Clustering Large Datasets Using

Cobweb and K-Means in Tandem. 17th Australian Joint Conference on

Artificial Intelligence, pp. 368-279.

Li, T. & Chen, Y., 2008. A Weight Entropy k-means Algorithm for Clustering

Dataset with Mixed Numeric and Categorical Data. Fifth International

Conference on Fuzzy Systems and Knowledge Discovery , Volumen 32,

pp. 36-41.

Li, Y. & Chung, S. M., 2007. Parallel bisecting k-means with predicrion

clustering algorithm. J Supercomput, Volumen 39, pp. 19-37.

López Escobar, 2007. Algoritmos de Agrupamiento Global para Datos

Mezclados. Tesis para la obtencion del Título de Mtro. en Ciencias

Computacionales: CCC, INAOE.

López-Escobar, S., Carrasco-Ochoa, J. A. & Martínez-Trinidad, J. F., 2005.

Global k-Means with Similarity Functions. Progress in Pattern

Recognition, Image Analysis and Applications , pp. 392-399.

Page 124: Agrupamiento en grandes conjuntos de datos mezclados

104 REFERENCIAS

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

López-Escobar, S., Carrasco-Ochoa, J. A. & Martínez-Trinidad, J. F., 2006.

Fast Global k-Means with Similarity Functions Algorithm. Intelligent

Data Engineering and Automated Learning – IDEAL 2006, pp. 512-

521.

Mitra M., Buckley C., Singhal A., Cardie C., 1997. An analysis of statistical

and syntactic phrases. Proceedings of RIAO97, Computer-Assisted

Information Search on the Internet, pp. 200-214.

Ng, R. & Han, J., 2002. CLARANS: a method for clustering objects for spatial

data mining. IEEE Trans. Knowledge and Data Engineering, 14(5), pp.

1003-1016.

Sánchez Díaz, G., 2001. Desarrollo de Algoritmos para el agrupamientode

grandes volumenes de datos mezclados. Tesis para la obtencion del

Título de Dr. en Ciencias de la Computación: CIC, IPN.

Shiuen Bien , Y. & Yung Gi, W., 2011. Genetic algorithm for clustering

mixed-type data. Journal of Electronic Imaging, Volume 20, Issue 1, pp.

013003-01, 013003-6.

Tan, P. N., Steinbach, M. & Kumar, V., 2005. Introduction to Data Mining. ed.

l.:Addison Wesley.

Tantrum, J., Murua, A. & Werner , S., 2002. Hierarchical Model-Based

Clustering of Large Datasets Through Fraction and Refraction.

Proceedings of the Eighth ACM SIGKDD International Conference on

Knowledge Discovery and Data Mining, pp. 183-190.

Venkatesh, G., Gehrke, J. & Ramaktishnan, R., 1999. CACTUS - Clustering

Categorical Data Using Summaries. KDD '99 Proceedings of the fifth

ACM SIGKDD international conference on Knowledge discovery and

data mining, p. 73-83.

Wilson, D. R. & Martinez, T. R., 1997. Improved Heterogeneous Distance

Functions. Journal of Artificial Intelligence Research, Volumen 6, pp.

1-34.

Zhang, T., Ramakrishnan, R. & Livny, M., 1996. BIRCH: An Efficent Data

Clustering Method for Very Large Databases. Proc. de ACM-SIGMOD

Conf. en data management, Canada, pp. 103-114.

Page 125: Agrupamiento en grandes conjuntos de datos mezclados

REFERENCIAS 105

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

Zhang, T., Ramakrishnan, R. & Livny, M., 1997. BIRCH: A New Data

Clustering Algorithm and Its Applications. Data Mining and Knowledge

Discovery, Volumen 1, pp. 141-182.