agrupamiento en grandes conjuntos de datos mezclados
TRANSCRIPT
©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
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
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.
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.
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.
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.
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.
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
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
Í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
X ÍNDICE GENERAL
COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA
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
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
Í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
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
Í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
XVI ÍNDICE DE FIGURAS
COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA
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
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
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
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,
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
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.
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
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.
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)
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)
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)
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 𝛼𝑚𝑗(𝑥𝑖)
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:
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)
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:
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
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
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
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.
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
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)
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)
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)
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.
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.
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
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
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.
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
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).
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
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
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
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
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.
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
)
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
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
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
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.
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
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
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
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),
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
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,
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
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
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-
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
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-
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
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
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
𝑂(𝑛𝑙𝑜𝑔𝑑(𝑛)).
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
68 ALGORITMO BASE PARA DATOS MEZCLADOS
COORDINACIÓN DE CIENCIAS COMPUTACIONALES INSTITUTO NACIONAL DE ASTROFÍSICA ÓPTICA Y ELECTRÓNICA
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
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.
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
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.
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.
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%
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%
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%
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%
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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
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
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.
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
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
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.
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.
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.
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.
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.
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.