tesis rosy
TRANSCRIPT
-
8/3/2019 Tesis Rosy
1/66
S.E.P. S.E.S. D.G.E.S.T.
CENTRO NACIONAL DE INVESTIGACIN
Y DESARROLLO TECNOLGICO
cenidet
MEJORAMIENTO DE LA EFICIENCIA Y EFICACIA DEL ALGORITMO DEAGRUPAMIENTO K-MEANS MEDIANTE UNA NUEVA CONDICIN DE
CONVERGENCIA
T E S I SQUE PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS ENCIENCIAS DE LA COMPUTACION
PRESENTAROSY ILDA BASAVE TORRES
DIRECTOR DE TESISDR. JOAQUN PREZ ORTEGA
CODIRECTOR DE TESISDR. VCTOR JESS SOSA SOSA
CUERNAVACA, MORELOS AGOSTO2005
-
8/3/2019 Tesis Rosy
2/66
DEDICATORIA
Dedico esta tesis especialmente a mi Chenda (Roselena Arroyo Basave) por el
enorme amor que nos une slidamente.
A mis padres Sr. Carlos Basave Guadarrama y Sra. Imelda Torres Torres por su
apoyo y amor incondicional durante toda mi vida.
A mis hermanos Jos, Raful, Teresa, Dora Luz, Maria Elena, Maria Isabel, Antonio
y Eliud por el amor tan grande que siempre me han demostrado.
A Edwin Beutelspacher Santiago por ser un enorme apoyo al final de este camino.
A mis tos Guadalupe Banderas Torres y Roberto Banderas Torres, por su apoyo
moral y sus constantes esfuerzos de conservar slidos los lazos familiares.
-
8/3/2019 Tesis Rosy
3/66
ii
RECONOCIMIENTOS
Mi profundo agradecimiento a los miembros del comit tutorial de esta tesis:
Dr. Rodolfo A. Pazos Rangel, Dr. Guillermo Rodrguez Ortiz, Dr. Joaqun Prez
Ortega, Dr. Mario Guillen Rodrguez, y Dr. Vctor Jess Sosa Sosa.
En especial, mi sincero aprecio al Dr. Joaqun Prez Ortega y Dr. Vctor Jess
Sosa Sosa por haber dirigido esta tesis por sus valiosas sugerencias, crticas y
tiempo dedicado.
Al Centro Nacional de Investigacin y Desarrollo Tecnolgico (CENIDET) por la
oportunidad de realizar mis estudios de maestra.
Al Consejo del Sistema Nacional de Educacin Tecnolgica (CoSNET) por
brindarme el apoyo econmico durante los estudios de maestra.
Estoy en deuda con el Instituto Tecnolgico de Ciudad Madero (ITCM) que
proporcion las facilidades necesarias para esta investigacin.
A la Dra. Laura Cruz Reyes y el Dr. Hctor Joaqun Fraire Huacuja por su gran
apoyado y amistad.
Finalmente, doy gracias a mis compaeros del (CENIDET) y (ITCM) por su ayuda,
soporte moral y amistad. Para ellos mi estimacin.
-
8/3/2019 Tesis Rosy
4/66
iii
RESUMEN
En esta tesis se propone un mejoramiento al algoritmo K-means estndar. Se hanrealizado numerosos mejoramientos al algoritmo, la mayora relacionados con los
valores de los parmetros iniciales, en contraste, en este trabajo se hace una
aportacin a la condicin de convergencia.
Se implement computacionalmente el algoritmo K-means estndar y un
generador de casos de pruebas. Para validar la implementacin del algoritmo
K-means estndar se realizaron pruebas con datos sintticos generados en esta
tesis. Los resultados fueron contrastados con los resultados de los algoritmos
K-means que proporciona el paquete comercial SPSS y la herramienta Weka, los
cuales llegaron a la misma agrupacin.
Con el propsito de estudiar el algoritmo K-means estndar se le introdujo
cdigo para darle seguimiento al algoritmo al tiempo de ejecucin, se realiz una
experimentacin con la base de datos Diabetes y se observ que el algoritmo
estndar no converga en el ptimo local hasta en un 96% de las corridas, lo cual
mostr una posibilidad de mejorar el algoritmo en la condicin de convergencia. La
nueva condicin propuesta en esta tesis, consiste en parar el algoritmo cuando se
encuentra un mnimo local o bien cuando ya no hay intercambios de elementos
entre los grupos.
Para probar la mejora del algoritmo se resolvieron seis bases de datos
reales de aprendizaje mquina y una base de datos del problema Bin-packingusada y generada en la tesis doctoral [Cruz 2004]. Los resultados se contrastaron
con SPSS, Weka y el algoritmo K-means estndar. En todos los casos evaluados
el algoritmo propuesto obtuvo resultados mejores o iguales. El algoritmo
propuesto obtuvo una mejora en eficiencia hasta de un 82 % y en eficacia hasta
de un 33%
-
8/3/2019 Tesis Rosy
5/66
iv
TABLA DE CONTENIDO
Pgina
LISTAS DE FIGURAS........................................................................................
LISTAS DE TABLAS..........................................................................................
vii
viii
Captulo
1 INTRODUCCIN 1
1.1 MOTIVACIONES...................................................................................
1.2 DESCRIPCIN DEL PROBLEMA DE INVESTIGACIN..............
1.3 OBJETIVO DE LA TESIS......................................................................
1.4 CONTEXTO DE LA INVESTIGACIN..................................................
1.5 TRABAJOS RELACIONADOS....
1.5.1 [Su 2004]....
1.5.2 [Likas 2003]
1.5.3 [Hamerly 2002]..
1.5.4 [Su 2001]
1.5.5 [Pelleg 2000]..1.6 OTROS TRABAJOS..
1.6.1 [Ordonez 2004].
1.6.2 [Kanungo 2002].
1.7 ANLISIS COMPARATIVOS...
1.8 ORGANIZACIN DEL DOCUMENTO...
2
2
2
2
3
3
4
4
5
55
5
6
6
7
2 K-MEANS ESTNDAR E IMPLEMENTACIN..... 8
2.1 K-MEANS ESTNDAR..........................................................................
2.1.1 Definiciones y notacin............................
2.2 ALGORITMO K-MEANS ESTNDAR....................................................
2.2.1 Parmetros del algoritmo...
2.2.2 Pasos del algoritmo.....................................................................
2.2.3 Caractersticas del algoritmo K-means estndar
2.3 IMPLEMENTACIN Y ANLISIS EL ALGORITMO K-MEANS
ESTNDAR.
9
9
12
12
12
12
15
-
8/3/2019 Tesis Rosy
6/66
v
2.3.1 Implementacin del algoritmo K-means estndar...
2.3.2 Software comercial SPSS
2.3.3 Herramienta Weka2.3.4 Resultados experimentales del algoritmo implementado.............
2.3.4.1 Validacin experimental de la implementacin del
K-means estndar
2.3.4.2 Experimentacin con una base de datos..
16
16
1617
17
17
20
3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS................... 22
3.1 ANLISIS DETALLADO DEL ALGORITMO K-MEANS
ESTNDAR...........................................................................................
3.1.1 Anlisis del comportamiento para una corrida............................
3.1.2 Bsqueda de patrones en el comportamiento del algoritmo
K-means estndar con la base de datos
Diabetes......................................................................................
3.1.3 Comportamiento del algoritmo K-means estndar con siete
bases de datos .......
3.2 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
ESTNDAR..
3.3 ALGORITMO DEL ALGORITMO K-MEANS MEJORADO..
23
23
24
28
29
30
4 RESULTADOS EXPERIMENTALES......................................... 32
4.1 DESCRIPCIN DE LAS BASES DE DATOS QUE SE USARON EN
LA EXPERIMENTACIN..
4.1.1 Base de datos Bin-packing..........................................................
4.1.2 Base de datos Vehicle.................................................................4.1.3 Base de datos Glass.................
4.1.4 Base de datos Diabetes.
4.1.5 Base de datos Heart..............
4.1.6 Base de datos Wine
4.1.7 Base de datos Liver
4.2 RESULTADOS EXPERIMENTALES.....................................................
33
33
3333
33
34
34
34
35
-
8/3/2019 Tesis Rosy
7/66
vi
4.2.1 Resultados de eficiencia .......
4.2.1.1 Resultados para Bin-packing..
4.2.1.2 Resultados para Vehicle..4.2.1.3 Resultados para Glass.
4.2.1.4 Resultados para Diabetes
4.2.1.5 Resultados para Heart. ............................
4.2.1.6 Resultados para Wine..
4.2.1.7 Resultados para Liver......
4.2.2 Anlisis comparativo de eficiencia
4.2.3 Resultados de eficacia
4.2.3.1 Resultados para Bin-packing..
4.2.3.2 Resultados para Vehicle..
4.2.3.3 Resultados para Glass.....
4.2.3.4 Resultados para Diabetes...
4.2.3.5 Resultados para Heart................
4.2.3.6 Resultados para Wine..
4.2.3.7 Resultados para Liver......
4.2.4 Anlisis comparativo de la eficacia..
35
36
3636
37
37
38
38
38
40
40
40
41
41
41
42
42
42
5 CONCLUSIONES Y TRABAJOS FUTUROS.............................................. 45
5.1 Conclusiones.........................................................................................
5.2 Trabajos Futuros....................................................................................
45
47
REFERENCIAS.................................................................................................. 48
Anexo A. Agrupamiento............. 51
-
8/3/2019 Tesis Rosy
8/66
vii
LISTA DE FIGURAS
2.1 Pseudocdigo del algoritmo K-means estndar..... 142.2 Primera iteracin de K-means estndar... 18
2.3 Segunda iteracin de K-means estndar..... 19
3.1 K-means pasa por un mnimo local y pierde su valor ptimo..... . 25
3.2 K-means converge en un mnimo local.... 26
3.3 Pseudocdigo del algoritmo K-means mejorado.... 31
A.1 Pseudocdigo del generador de bases de datos sintticas.. 53
A.2 Calculando el primer grupo.... 55
A.3 Se genera una copia espejo en una dimensin.. 55
A.4 Copia los objetos para la segunda dimensin.... 56
A.5 Grupos sintticos generados.. 56
-
8/3/2019 Tesis Rosy
9/66
viii
LISTA DE TABLAS
1.1 Trabajos relacionados..... 72.1 Trminos y notacin..... 10
2.2 Comprobacin de la implementacin del algoritmo K-means... 19
2.3 Corridas K-means estndar con la base de datos Bin-packing.... 21
2.4 Resultados de la comparacin K-means estndar usando Bin-packing 22
3.1Salida de un mnimo y convergencia en una calidad menor con
Diabetes..... 24
3.2 Experimentacin de K-means estndar con Diabetes.... .. 27
3.3 Porcentaje de corridas que no paran en un ptimo local... 29
4.1 Detalle de las bases de datos usadas para experimentacin... 34
4.2 Resultados experimentales en eficiencia para Bin-packing.. 36
4.3 Resultados experimentales en eficiencia para Vehicle...... 36
4.4 Resultados experimentales en eficiencia para Glass........ 37
4.5 Resultados experimentales en eficiencia para Diabetes... 37
4.6 Resultados experimentales en eficiencia para Heart..... 37
4.7 Resultados experimentales en eficiencia para Wine.. 384.8 Resultados experimentales en eficiencia para Liver...... 38
4.9 Anlisis comparativo en eficiencia..... 39
4.10 Resultados experimentales en eficacia para Bin-packing..... 40
4.11 Resultados experimentales en eficacia para Vehicle..... 41
4.12 Resultados experimentales en eficacia para Glass.... 41
4.13 Resultados experimentales en eficacia para Diabetes.. 41
4.14 Resultados experimentales en eficacia para Heart.... 42
4.15 Resultados experimentales en eficacia para Wine........ 42
4.16 Resultados experimentales en eficacia para Liver..... 42
4.17 Anlisis comparativo en eficacia.... 44
A.1 Notacin y definiciones.... 52
A.2 Valores de entrada al generador de casos de pruebas..... 54
-
8/3/2019 Tesis Rosy
10/66
1
Captulo 1
INTRODUCCIN
En este trabajo se aborda el problema de agrupamiento de objetos con base a sus
atributos, el cual ha sido ampliamente estudiado debido a su aplicacin en reas
como: aprendizaje mquina [MacQueen 1967], minera de datos, descubrimiento
del conocimiento, comprensin de datos, reconocimiento de patrones y
clasificacin de patrones [Witten 1999, Mehmed 2003, Jain 1999]. El objetivo delagrupamiento es particionar un conjunto de objetos que tienen asociados vectores
multidimencionales de atributos, en grupos homogneos, tales que los patrones
dentro de cada grupo sean similares entre s [Berkhin 2002, Jain 1999, Halkidi
2001].
En las secciones de este captulo se presenta un panorama general de la
tesis, el cual se inicia con la descripcin de los motivos que llevaron a esta
investigacin y se contina con la definicin del problema de investigacin. Enseguida se explican los objetivos que se plantearon alcanzar. Se explica tambin
el contexto en el que se desarroll este trabajo, se abordan los principales trabajos
relacionados a esta tesis, y finalmente se termina dando una descripcin del
contenido de cada captulo.
-
8/3/2019 Tesis Rosy
11/66
Captulo 1 INTRODUCCIN
2
1.1 MOTIVACIONES
El agrupamiento de datos es la tarea de encontrar agrupamientos naturales en losdatos. sta es una tarea importante en varias reas del conocimiento, tales como:
aprendizaje mquina, minera de datos, estadstica y reconocimiento de patrones.
Tpicamente en agrupamiento no hay una solucin perfecta para el problema, pero
los algoritmos persiguen minimizar una funcin objetivo. Entre varios algoritmos de
agrupamiento K-means es uno de los ms usados.
1.2 DESCRIPCIN DEL PROBLEMA DE INVESTIGACIN
En este trabajo se plantea el problema del mejoramiento la eficiencia y eficacia del
algoritmo de agrupamiento K-means.
1.3 OBJETIVO DE LA TESIS
El objetivo principal de esta investigacin es estudiar a detalle el algoritmo de
agrupamiento K-means con el propsito de mejora en su eficiencia y eficacia, ya
que es un algoritmo de propsito general, ampliamente usado en reas como:
aprendizaje mquina, estadstica, minera de datos y reconocimiento de patrones.
1.4 CONTEXTO DE LA INVESTIGACIN
En el Centro Nacional de Investigacin y Desarrollo Tecnolgico (CENIDET), se
han venido desarrollando trabajos en el rea de diseo de la distribucin de basesde datos, y debido a su complejidad se present la necesidad de utilizar mtodos
heursticos para su solucin.
En la tesis doctoral Caracterizacin de algoritmos heursticos aplicados al
diseo de bases de datos distribuidas [Cruz 2004], se abord el problema de
seleccin de algoritmos proponiendo una metodologa basada en el aprendizaje
automtico y la estadstica, que permite identificar caractersticas crticas y sus
-
8/3/2019 Tesis Rosy
12/66
Captulo 1 INTRODUCCIN
3
interrelaciones, lo cual posibilita que para cada algoritmo se determine un patrn
de agrupamiento de los casos que ha resuelto mejor. Para un nuevo caso se
determina a qu patrn de agrupamiento es ms afn y se selecciona el algoritmo.La metodologa aborda el problema de agrupamiento para el problema de
distribucin de objetos en contenedores (Bin-packing) y usa el algoritmo K-means.
Fraire, en su tesis doctoral Una metodologa para el diseo de la
fragmentacin y ubicacin en grandes bases de datos distribuidas [Fraire 2005],
aborda el problema de la automatizacin del diseo lgico de una base de datos
distribuida. l propone un nuevo enfoque de solucin que considera que el
desempeo del proceso de automatizacin es un requisito crtico de la solucin
prctica del problema. Este enfoque consiste en seleccionar, para un ejemplar
dado, una transformacin de compresin. La hiptesis que sustenta es que, se
puede comprimir el ejemplar dado y usar la ejemplar resultante para obtener una
solucin de buena calidad del ejemplar original. Para realizar esta transformacin
se usaron tcnicas de agrupamiento; es decir, cuando un ejemplar del diseo de la
distribucin tiene operaciones repetidas, es posible transformarla en una con
menos operaciones.
En los dos trabajos anteriores se usaron tcnicas de agrupamiento, como
parte de la solucin de un problema ms general. Tambin se hizo evidente que
una contribucin al problema de agrupamiento podra incidir en el mejoramiento de
los mtodos de solucin de los trabajos anteriores.
1.5 TRABAJOS RELACIONADOS
En la siguiente seccin se describen los trabajos relacionados ms relevantes:
1.5.1 [Su 2004] A Deterministic Method for Initializing K-means Clustering. En
este trabajo proponen un mtodo para inicializar los parmetros del algoritmo
K-means, en particular los centroides iniciales. Dicho mtodo es jerrquico
divisible determinista y se denomina PCA-part. Se reportan resultados
-
8/3/2019 Tesis Rosy
13/66
Captulo 1 INTRODUCCIN
4
experimentales en donde el algoritmo obtiene calidad de solucin equivalente a
haber corrido el algoritmo K-means estndar cientos de veces.
1.5.2 [Likas 2003] The Global K-means Clustering Algorithm. La idea principal
subyacente en este trabajo es qu se puede calcular el agrupamiento para k
grupos de manera incremental. El algoritmo inicia con k= 1 y obtiene su centroide
C1 el cual quedar fijo. El siguiente centroide se obtiene calculando de manera
exhaustiva el error al cuadrado del nuevo centroide en cada una de las posiciones
de los objetos de la base de datos, esto es, se prueba el nuevo centroide en cada
una de las posiciones de los objetos y se selecciona como nuevo centroide aquella
posicin en la que se obtuvo el menor error al cuadrado.
1.5.3 [Hamerly 2002] Alternatives to the K-means Algorithm that Find Better
Clustering. En este trabajo se investiga el comportamiento de los siguientes
algoritmos: K-means, Gaussian Expectation-Maximization, Fuzzy K-means y dos
variantes de K-harmonic Means. Se desarrollaron un conjunto de pruebas
experimentales con bases de datos sintticas, las cuales mostraron que con baja
dimensionalidad dichos algoritmos tienen un comportamiento muy diferente. Con
base en los resultados se encontr que el algoritmo K-harmonic Means tiene un
desempeo superior. En base al comportamiento de los algoritmos, los autores
proponen dos nuevos algoritmos hbridos a los que denominan H1 y H2.
H1 usa la membresa dura de K-means, es decir, cada objeto pertenece al
centroide ms cercano. Usa la funcin de peso del algoritmo K-harmonic Means,
esto es, da ms peso a aquellos puntos que estn ms alejados del centroide. Elhbrido H2 usa la funcin de membresa suave del K-harmonic Means y la funcin
de peso constante de K-means.
Las variantes hbridas no muestran una superioridad sobre K-harmonic
means en bases de datos de baja dimensionalidad. Finalmente de manera general
los autores sugieren que para bases de datos de mediana y alta dimensionalidad
se use Fuzzy K-means, H2 y K-harmonic Means.
-
8/3/2019 Tesis Rosy
14/66
Captulo 1 INTRODUCCIN
5
1.5.4 [Su 2001] A Modified Version of the K-Means Algorithm with a Distance
Based on Cluster Symmetry. En este trabajo se propone un nuevo algoritmo quees una variante del K-means. En particular se propone una nueva medida de
distancia basada en simetra. El algoritmo fue probado con varias bases de datos
que contenan figuras geomtricas y rostros humanos con resultados alentadores.
Una desventaja importante del algoritmo es que incrementa la complejidad
computacional.
1.5.5 [Pelleg 2000] X-means: Extending K-means with Efficient Estimation of the
Number of Clusters.En este trabajo se extiende y se hace un mejoramiento del
algoritmo K-means, en particular el algoritmo obtiene de manera automatizada el
mejor nmero de grupos; es decir, se define de manera automatizada el valor de
k. Resultados experimentales sobre bases de datos reales y sintticas muestran
que el algoritmo es ms eficiente para obtener el valor de k comparado con
ejecutar un gran nmero de veces el algoritmo K-means estndar con diferentes
valores de k.
1.6 OTROS TRABAJOS
En esta seccin se muestran otros dos trabajos que estn marginalmente
relacionados con esta tesis. La aportacin principal est relacionada con la
implementacin computacional del algoritmo y no tanto con el algoritmo en s.
1.6.1 [Ordonez 2004] Programming the k-means Clustering Algorithm in SQL.En este trabajo se muestra que es factible implementar el algoritmo K-means
estndar en el lenguaje SQL estndar. En el lenguaje SQL estndar se muestra la
definicin de tablas ndices y consultas necesarias para la implementacin del
algoritmo. Se implementan dos algoritmos: uno es el algoritmo K-means estndar
y el otro es un algoritmo propuesto al que denominan K-means optimizado. El
algoritmo optimizado emplea funciones estadsticas y almacena el modelo de
agrupamiento en una tabla. Resultados experimentales con grandes bases de
-
8/3/2019 Tesis Rosy
15/66
Captulo 1 INTRODUCCIN
6
datos mostraron que el algoritmo K-means estndar tiene problemas de
escalabilidad; sin embargo, el algoritmo K-means optimizado mostr una
escalabilidad lineal y mayor eficiencia.
1.6.2 [Kanungo 2002] An Efficient k-Means Clustering Algorithm: Analysis and
Implementation. En este trabajo se hace una implementacin eficiente de una
variante de K-means denominada algoritmo Lloyds. ste define el conjunto de
puntos vecinos a un centroide Ci, cambia el centroide a la posicin de cada punto
evaluando el criterio de convergencia, y selecciona el punto donde se obtuvo el
menor valor del criterio de convergencia para ser el nuevo centroide. Parte de la
eficiencia de la implementacin se debe al uso de una estructura de datos kd-tree.
1.7 ANLISIS COMPARATIVO
Al algoritmo K-means estndar se le han hecho mejoramientos en varios aspectos
asociados con cada uno de los pasos del algoritmo. De manera general el
algoritmo consta de cuatro pasos:
1) Inicializacin.
2) Clasificacin.
3) Clculo de centroides.
4) Condicin de convergencia.
En cuanto a mejoramientos en los cuatro pasos, tal vez, el que ha recibido
ms atencin es el de inicializacin; en este sentido se pueden mencionar lostrabajos [Su 2004], [Likas 2003] y [Pelleg 2000]. Con relacin al paso dos del
algoritmo, se han definido varias medidas de afinidad de los elementos de los
grupos; en este sentido podemos mencionar las aportaciones de [Su 2001] y
[Hamerly 2002]. En relacin a los pasos tres y cuatro del algoritmo y de acuerdo a
la literatura especializada, no se reportan trabajos de mejora al algoritmo.
-
8/3/2019 Tesis Rosy
16/66
Captulo 1 INTRODUCCIN
7
En la Tabla 1.1, la primera columna muestra la referencia del trabajo, la
segunda, tercera y cuarta muestran respectivamente la inicializacin, clasificacin
y condicin de convergencia del algoritmo.
Tabla 1.1 Trabajos relacionados.
Proyecto Inicializacin Clasificacin Condicin de
convergencia
[Su 2001]
[Hamerly 2002]
[Likas 2003]
[Pelleg 2000]
[Su 2004]
K-means mejorado
Como podemos observar la mayora de los trabajos se centran en la
inicializacin y la clasificacin.
1.8 ORGANIZACIN DEL DOCUMENTO
La tesis est organizada de la siguiente manera:
En el captulo 2 se aborda el algoritmo K-means estndar, y se expone la
implementacin computacional y anlisis del algoritmo K-means estndar. En el
captulo 3 se presenta un anlisis detallado del algoritmo K-means y finalmente se
presenta el mejoramiento propuesto al algoritmo K-means. En el captulo 4 sedescriben las bases de datos que se usaron en la experimentacin y se muestran
los resultados experimentales. Finalmente en el captulo 5 se presentan las
conclusiones a las que se llegaron durante el desarrollo de esta investigacin y
sugerencias de trabajos futuros.
-
8/3/2019 Tesis Rosy
17/66
8
Captulo 2
K-MEANS ESTNDAR E IMPLEMENTACIN
El agrupamiento se puede ver como un problema de optimizacin, de naturaleza
combinatoria, lo cual justifica el uso de algoritmos heursticos para resolver casos
de tamao grande. Dichos algoritmos no garantizan obtener el ptimo global, sin
embargo, han mostrado obtener buenos resultados. K-means es uno de estos de
algoritmos, y tal vez es uno de los ms usados debido a que es relativamente
sencilla la implementacin del algoritmo estndar.
Este captulo est organizado de la siguiente manera: en la seccin 2.1 se
presenta el algoritmo K-means estndar y en la 2.2 se presentan la
implementacin y anlisis del algoritmo K-means estndar.
-
8/3/2019 Tesis Rosy
18/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
9
2.1 K-MEANS ESTNDAR
El algoritmo de agrupamiento K-means es uno de los algoritmos de agrupamientoms usado por su simplicidad computacional y eficiencia. Este algoritmo ha sido
usado en varias reas del conocimiento [Pham 2004, Fraire 2005, Cruz 2004],
siendo algunas de ellas las siguientes:
a) Diseo de bases de datos distribuidas.
b) Aprendizaje mquina.
c) Reconocimiento de patrones.
d) Compresin y segmentacin de imgenes.
e) Minera de datos.
f) Minera Web.
g) En los negocios para descubrir grupos significativos dentro de bases de
datos, por ejemplo, con base a parmetros de compras.
h) En biologa para definir taxonomas, caracterizar genes con funcionalidad
similar y aumentar la divisin dentro de estructuras inherentes en la
poblacin.
i) Agrupamiento de partes mecanizadas dentro de familias en diseo de
sistemas de manufactura de celulares.
2.1.1 Definiciones y notacin
Debido a que K-means es usado en varios tipos de aplicaciones, es comn que
dependiendo de la aplicacin se le den diferentes nombres a los elementos delalgoritmo. En esta seccin se describir para cada elemento su funcin, y se
mencionar el nombre con el que ser referenciado en este documento, y adems
se mencionarn algunos nombres con los cuales tambin son referenciados en la
literatura especializada.
-
8/3/2019 Tesis Rosy
19/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
10
En la Tabla 2.1 muestra los trminos y notacin que sern usados en las
siguientes partes de este documento.
Tabla 2.1. Trminos y notacin.
D Es el nmero de dimensiones de un espacio. El
elemento que define cada una de las dimensiones
en este documento ser referenciado como
dimensin. Algunos nombres con que es
referenciado en la literatura son: atributo, variable,
caracterstica, componente y campo.N Es el nmero de objetos en un espacio.
K Es el nmero de regiones en que se divide un
espacio, cada regin debe contener al menos un
objeto. En este documento la regin ser
referenciada como grupo, otros nombres con que
es referenciado en la literatura son clase y
particin.
nj Es el nmero de objetos del grupoj.
X = {X1, , Xn} Es un conjunto n objetos en un espacio de d
dimensiones. En este documento ser referenciado
como base de datos. Algunos nombres con que es
referenciado en la literatura son: matriz de objetos,
matriz de caractersticas, matriz de patrones,
matriz de componentes, matriz de atributos, base
de datos, conjunto de datos y datos de
entrenamiento.
Xn= (xn1, ,xnd) Es el n-simo objeto en X. Tiene estructura de
vector con delementos. Un elemento xnd contiene
el valor de la coordenada del objeto Xn en la
dimensin d. En este documento ser referenciado
como objeto. Algunos nombres con que es
-
8/3/2019 Tesis Rosy
20/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
11
referenciado en la literatura son: vector de
caractersticas, observacin, punto de dato, patrn,
ejemplar, caso, registro, transaccin, tupla yelementos.
W = {W1, , Wk} Es un conjunto de k grupos, donde cada k grupo
contiene los objetos ubicados en la regin k.
{ }= 1, ..., kk k knW W W Es el k-simo grupo en W. Contiene nkobjetos Wkj.
Wkj=(wkj1, , wkjd) Es elj-simo objeto del grupo k, tiene estructura de
vector con dcomponentes.
C = {C1, , Ck} Es un conjunto de los centros geomtricos o
centroides asociados a cada una de las kregiones
o grupos.
Ck= (ck1, , ckd) Es el k-simo centroide en C. Cada elemento ckd
contiene el valor medio del grupo Wk en la
dimensin d.
d(Xj, Ck)= 2
=1
(X - )d
jl kl
l
c Funcin de error al cuadrado. La funcin es un
ndice de similaridad que cuantifica la distanciaentre un objeto Xj del conjunto de datos X y el
centroide Ckdel grupo k.
( ), = 2=1
( - )d
kj k kjl kl
l
d w cW C Funcin de error al cuadrado. La funcin es un
ndice de similaridad que cuantifica la distancia
entre un objeto Wkj de un kgrupo y el centroide Ck
del grupo k.
( ) = , )kn
k k kj k
j=1g W , d C W C(
Funcin de error al cuadrado de un kgrupo. Es un
ndice de similaridad de los objetos del grupo k.
( ) = )k
i ii=1
h , g W ,(W C C Funcin de error al cuadrado de todos los kgrupos.
Esta funcin es un ndice de calidad de
agrupamiento.
aleatorio ( X ) Funcin que retorna un objeto aleatorio Xj del
conjunto de objetos X.
-
8/3/2019 Tesis Rosy
21/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
12
2.2 ALGORITMO K-MEANS ESTNDAR
El propsito de esta seccin es describir el algoritmo K-means estndar.
2.2.1 Parmetros del algoritmo
Parmetros de entrada para el algoritmo K-means:
a) Una base de datos X. Es el conjunto de objetos sobre los cuales trabajar
el algoritmo.
b) El nmero de grupos k. Es el nmero de grupos que formar el algoritmo.
Parmetros de salida para el algoritmo K-means:
a) Un conjunto de kgrupos formados W.
2.2.2 Pasos del algoritmo
De acuerdo a la literatura especializada [Su 2004, Su 2001, Pham 2004, Ordonez
2004, Kanungo 2000] se identifican cuatro pasos del algoritmo, los cuales se
describen a continuacin:
Paso 1. Inicializacin. Este paso consta de dos partes, en la primera parte
se identifica la base de datos X sobre la cual trabajar el algoritmo. En la segunda
se define para cada uno de los grupos un objeto que ser usado como referencia
en la seleccin de los objetos que pertenecern a cada uno de los grupos.
Usualmente a estas referencias se les llama centroides iniciales C. Dichos puntos
de referencia pueden ser generados de manera aleatoria para cada grupo o bien
pueden ser obtenidos en base a clculos. En el algoritmo K-means estndar
estos puntos se obtienen de manera aleatoria, como se muestra en el
pseudocdigo de la Figura 2.1 de la lnea 1 a la 3.
-
8/3/2019 Tesis Rosy
22/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
13
Paso 2. Clasificacin. En este paso se determina para cada objeto Xi el
grupo Wi cuyo centroide Ci est ms cercano o ms afn al objeto Xi. Usualmente
la medida de distancia o afinidad se determina con la funcin de error al cuadradoentre el objeto Xj y el centroide Ci de cada grupo Wi. Otras medidas de afinidad
pueden ser tambin las distancias Euclidiana, Manhattan y Minkowski por
mencionar algunas. En el algoritmo K-means estndar este paso se muestra en la
Figura 2.1 entre las lneas 8 y 18.
Paso 3. Clculo de los centroides. El centroide Ci de un grupo Wi es un
vector cuyos elementos contienen los valores medios del grupo Wjen cada una de
las dimensiones d. En el algoritmo K-means estndar este paso se realiza en la
Figura 2.1 entre las lneas 20 y 28, donde nk es igual al nmero de elementos del
conjunto Wj.
Paso 4. Verificacin de convergencia. En este paso se verifica si se ha
cumplido una o varias condiciones que indique que el algoritmo debe parar. A esta
condicin se le ha llamado criterio de paro, condicin de convergencia y condicin
de paro, nosotros le llamaremos condicin de convergencia. Las condiciones de
convergencia ms usadas son las siguientes:
a) El nmero de iteraciones.
b) Cuando los centroides obtenidos en dos iteraciones sucesivas no cambian
su valor. Esta es la condicin de convergencia del algoritmo K-means
estndar, y su pseudocdigo se muestra en la figura 2.1 en la lnea 29.
c) Cuando la diferencia entre los centroides de dos iteraciones sucesivas nosupera cierto umbral.
d) Cuando no hay transferencia de objetos entre grupos en dos iteraciones
sucesivas.
-
8/3/2019 Tesis Rosy
23/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
14
Algoritmo K-means_estndar( X, k, W)
EntradaX, k
SalidaW
1
2
3
4
5
6
7
8
910
11
12
13
14
15
16
17
1819
20
21
22
23
24
25
26
2728
29
30
Para ( m 1 hastak) hacer
Cm aleatorio ( X );
Fin Para;
Repite
Para ( i 1 hastak) hacer
Wi ;
Fin Para;
Para (j 1 hastan ) hacer
m 0;min + ;
Para ( i 1 hastak) hacer
Si (d( Xj, Ci) < min ) hacer
min d( Xj, Ci);
m i;
Fin Si;
Fin Para;
Wm Wm U { Xj};
Fin Para;C C;
Para ( i 1 hastak) hacer
Para ( l 1 hastad) hacer
media 0;
Para (j 1 hastani) hacer
media media + wijl;
Fin Para;
Cil ( media / ni);
Fin Para;Fin Para;
Hasta ( C = C);
Regresa ( W );
Figura 2.1. Pseudocdigo del algoritmo K-means estndar.
-
8/3/2019 Tesis Rosy
24/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
15
2.2.3 Caractersticas del algoritmo K-means estndar
Las principales caractersticas del algoritmo son las siguientes [Su 2004, Kanungo2002, Hamerly 2002]:
a) El algoritmo est clasificado como un algoritmo glotn.
b) Es un mtodo heurstico y, como tal, no garantiza el ptimo global.
c) Puede quedar atrapado en ptimos locales.
d) Un factor que incide directamente en el costo computacional del algoritmo
K-means es el nmero de iteraciones que requiere efectuar, ya que por
cada iteracin calcula para cada uno de los objetos de la base de datos la
distancia a los centroides de los grupos.
Se han identificado las siguientes ventajas para el algoritmo:
a) Algoritmo sencillo con clculos simples.
b) Funciona bien para grupos con geometra globular.
Como desventajas se pueden mencionar las siguientes:
a) Es necesario saber el nmero de kgrupos.
b) La agrupacin final depende de los centroides iniciales.
c) No garantiza una convergencia en el ptimo global.
d) En el caso de ejemplares grandes de problemas, puede requerir un gran
nmero de iteraciones para convergir.e) Se usa slo con datos numricos.
f) No funciona bien si hay ruido.
g) No es adecuado para grupos con geometra no globular.
-
8/3/2019 Tesis Rosy
25/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
16
2.3 IMPLEMENTACIN Y ANLISIS DEL ALGORITMO K-MEANS ESTNDAR
Para los fines de anlisis se implement computacionalmente el algoritmoK-means estndar sin lmites de dimensin, nmero de grupos y nmero de
objetos, teniendo como restriccin nicamente la capacidad de la mquina. Las
mtricas usadas para medir la eficiencia y eficacia son el nmero de iteraciones y
el error al cuadrado respectivamente.
2.3.1 Implementacin del algoritmo K-means estndar
Se implement computacionalmente el algoritmo K-means estndar, y se le
introdujo cdigo al programa para que en cada iteracin mostrara el error al
cuadrado g(Wk, Ck) y la suma del error al cuadrado de cada grupo h(W, C), esto
con la finalidad de monitorear la eficacia del agrupamiento en cada iteracin. El
algoritmo estndar de K-means fue implementado en el lenguaje C++ Builder, y
las pruebas se realizaron en una computadora Pentium 4 a 2.4 GHz con 512 MB
de memoria RAM. El pseudocdigo del algoritmo se muestra en la Figura 2.1.
2.3.2 Software comercial SPSS
SPSS es una herramienta comercial usada en negocios e investigacin, la cual
incluye mdulos para la identificacin de grupos, medidas de similaridad y
clasificacin entre otras. Dentro del mdulo clasificacin tiene una implementacin
del algoritmo K-means [SPSS]. Este algoritmo K-means realiza un
preprocesamiento de los datos y obtiene sus centroides iniciales de manera quesiempre son los mismos, posteriormente realiza la clasificacin y el clculo de
centroides, y finalmente proporciona dos condiciones de convergencia: cuando
llega a un nmero de iteraciones y cuando la diferencia entre los centroides de dos
iteraciones sucesivas no supera cierto umbral.
-
8/3/2019 Tesis Rosy
26/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
17
2.3.3 Herramienta Weka
Weka es una coleccin de algoritmos para tareas de aprendizaje mquina yminera de datos. Weka es una biblioteca de Java y su cdigo es abierto bajo
GNU. Entre los algoritmos de agrupamiento que contiene Weka se encuentra
K-means [Witten 1999]. Este algoritmo K-means realiza un preprocesamiento de
los datos y obtiene sus centroides iniciales de manera que siempre son los
mismos, posteriormente realiza la clasificacin y el clculo de centroides, y
finalmente converge cuando los centroides obtenidos en dos iteraciones sucesivas
no cambian su valor.
2.3.4 Resultados experimentales del algoritmo implementado
Con el propsito de validar experimentalmente la implementacin del algoritmo
K-means estndar, se disearon dos experimentos: uno con una base de datos
generada artificialmente para la cual se conoca el nmero de grupos y sus
centroides ptimos, y otra base de datos sinttica asociada con el problema de
Bin-packing. Los resultados de ambos experimentos se contrastaron con el
resultado del paquete comercial SPSS y la biblioteca Weka de Java. En las
siguientes secciones se muestran a detalle dichos experimentos.
2.3.4.1 Validacin experimental de la implementacin del K-means estndar
Objetivo
Comprobar la correcta implementacin computacional de K-means estndar ycontrastar los resultados con SPSS y Weka.
Procedimiento
Para esta experimentacin se us como datos de entrada una base de datos
sinttica generada por el generador de bases de datos sintticas implementado en
esta tesis. De esta base de datos se conoce el error al cuadrado h(W, C)= 77.46
de la agrupacin ptima. La base de datos consta de 40 objetos, dos grupos y dos
-
8/3/2019 Tesis Rosy
27/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
18
dimensiones. El siguiente paso es ejecutar cada uno de los algoritmos de
agrupamiento, obtener el error al cuadrado h(W, C) de los grupos generados por
cada algoritmo, y comprobar su igualdad.
Se presenta en detalle el procedimiento que llev a cabo el algoritmo
K-means estndar al ser ejecutado. Primero se calcularon los centroides iniciales
C1 = (2.99, 2.42) y C2 = (-2.68, -0.09) de forma aleatoria, posteriormente reparti
los objetos usando como medida de similaridad la funcin error al cuadrado
d(Xj, Ck) y obteniendo el agrupamiento mostrado en la Figura 2.2. En el siguiente
paso se recalcularon los centroides C1
= (3, 2) y C2
= (-4, 2), y nuevamente se
repartieron los objetos obteniendo el agrupamiento mostrado en la Figura 3.3.
Posteriormente se recalcularon los centroides y se contrastaron con los centroides
obtenidos en la iteracin anterior, y como stos fueron iguales el algoritmo
convergi en la segunda iteracin.
Iteracin 1
-2
-1
0
1
2
3
4
5
6
-8 -6 -4 -2 0 2 4 6
Grupo1 Z1 Grupo2 Z2
Figura 2.2. Primera iteracin de K-means estndar.
-
8/3/2019 Tesis Rosy
28/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
19
Iteracin2
-2
-1
0
1
2
3
4
5
6
-8 -6 -4 -2 0 2 4 6
Gr upo Z1 Gr upo2 Z2
Figura 2.3. Segunda iteracin de K-means estndar.
Resultados
En la Tabla 2.2 se muestran los resultados obtenidos por cada algoritmo durante
esta experimentacin. En la primera columna se muestra el Error al cuadrado
h(W, C) de K-means estndar; en la segunda columna se muestra el nmero de
iteracin en la que converge K-means estndar, en la tercera columna se muestra
el error al cuadrado h(W, C) de SPSS, en la cuarta columna se muestra el nmero
de iteracin en la que converge SPSS, en la quinta columna se muestra el error al
cuadrado h(W, C) de Weka, y en la sexta columna se muestra el nmero de
iteracin en la que converge Weka.
Tabla 2.2. Comprobacin de la implementacin del algoritmo K-means.
K-means estndar SPSS Weka
Error al
cuadrado
h(W, C)
Iteracin Error al
cuadrado
h(W, C)
Iteracin Error al
cuadrado
h(W, C)
Iteracin
77.46 2 77.46 2 77.46 4
Anlisis de resultados
De acuerdo con los resultados obtenidos en la Tabla 2.1, todos los algoritmos
convergen en la misma agrupacin, donde sus errores al cuadrado h(W, C) son
-
8/3/2019 Tesis Rosy
29/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
20
iguales al conocido con antelacin. Por lo tanto, podemos concluir que el algoritmo
K-means estndar est perfectamente implementado computacionalmente. Por
otra parte analizando el nmero de iteraciones, podemos observar que K-meansestndar y SPSS convergieron en el mismo nmero de iteraciones y Weka en un
nmero mayor.
2.3.4.2 Experimentacin con una base de datos
Objetivo
Conocer el error al cuadrado h(W, C) y la iteracin promedio en la que convergen
cada uno de los algoritmos.
Procedimiento
A cada algoritmo se le dio como datos de entraba la base de datos Bin-packing
descrita en la seccin 4.1.1. Para el algoritmo K-means estndar se hicieron 30
corridas, ya que este algoritmo obtiene los centroides iniciales de manera
aleatoria, siendo cada uno de stos un objeto de la base de datos. Para SPSS y
Weka se realiz slo una corrida, ya que estos algoritmos hacen un
preprocesamiento de los datos y sus centroides iniciales siempre son los mismos.
Para comparar la calidad de los algoritmos se us la funcin error al cuadrado
h(W, C). Cabe mencionar que, entre menor sea este error, mayor es la eficacia del
agrupamiento.
Resultados
En la Tabla 2.3 se muestran los resultados en eficacia y eficienciacorrespondientes al punto de convergencia de cada una de las 30 corridas. En la
primera columna se muestra el nmero de corrida; en la segunda, el nmero de
iteracin; y en la tercera columna se muestra el error al cuadrado h(W, C) para
cada corrida.
En la Tabla 2.4, en el primer rengln se muestra el nmero de iteraciones
en el que converge cada algoritmo, y en el ltimo rengln se muestra el error al
-
8/3/2019 Tesis Rosy
30/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
21
cuadrado h(W, C) de los algoritmos de agrupamiento k-means estndar, SPSS y
Weka.
Tabla 2.3 Corridas K-means estndar con la base de datos Bin-packing.
No. Corrida Iteracin Error al cuadrado h(W, C)
1 19 580.27
2 27 580.32
3 23 580.32
4 22 580.27
5 32 580.27
6 23 580.327 35 580.27
8 32 580.27
9 16 580.33
10 26 580.27
11 31 580.32
12 39 580.32
13 28 580.27
14 17 580.27
15 18 580.29
16 22 580.27
17 18 580.27
18 15 580.27
19 34 580.27
20 25 580.27
21 31 580.27
22 21 580.32
23 18 580.2724 17 580.32
25 16 580.33
26 25 580.27
27 23 580.27
28 26 580.27
29 11 580.32
30 14 580.33
-
8/3/2019 Tesis Rosy
31/66
Captulo 2 K-MEANS ESTNDAR E IMPLEMENTACIN
22
Tabla 2.4 Resultados de la comparacin K-means estndar usando Bin-packing.
k-means estndar
promedio
SPSS Weka
Iteracin 23 31 21
Error al cuadrado h(W, C) 580.29 580.27 669.30
Anlisis de resultados
En promedio de iteraciones y calidad, K-means estndar converge en 23
iteraciones con un error al cuadrado h(W, C) de 580.29, SPSS converge en 31iteraciones y un error al cuadrado h(W, C) de 580.27, y Weka converge en la
iteracin 21 y con un error al cuadrado h(W, C) de 669.30, ver Tabla 2.4.
-
8/3/2019 Tesis Rosy
32/66
-
8/3/2019 Tesis Rosy
33/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
23
3.1 ANLISIS DETALLADO DEL ALGORITMO K-MEANS ESTNDAR
Con la finalidad de hacer una mejora al algoritmo K-means, se analizdetalladamente cada una de las corridas de K-means estndar en cada una de las
iteraciones, comparando el error al cuadrado h(W, C) de cada una de las corridas
en cada una de las iteraciones.
3.1.1 Anlisis del comportamiento para una corrida
Objetivo
Realizar un anlisis detallado del algoritmo K-means estndar con la finalidad de
encontrar una posible mejora.
Procedimiento
Analizar el comportamiento del error al cuadrado h(W, C) de cada una de las
iteraciones con la base de datos Diabetes descrita en la seccin 4.1.4.
Resultados
En la Tabla 3.1 se muestran detalles de la corrida del algoritmo. En la primera
columna se muestra el nmero de iteracin, en la dos y tres respectivamente se
muestra el error al cuadrado g(Wk, Ck) de cada grupo. Finalmente la columna
cuatro muestra el error al cuadrado h(W, C) de la agrupacin.
Anlisis de resultados
Al analizar los resultados tabulares del error al cuadrado de cada iteracin, seobserv que el algoritmo pasaba por un ptimo local y, sin embargo, continuaba
realizando iteraciones incrementando el error al cuadrado h(W, C).
-
8/3/2019 Tesis Rosy
34/66
-
8/3/2019 Tesis Rosy
35/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
25
Procedimiento
Se realizaron 30 corridas del algoritmo K-means estndar usando la base de datos
Diabetes descrita en la seccin 4.1.4, obteniendo el error al cuadrado h(W, C) decada una de las iteraciones.
Resultados
Durante la experimentacin se obtuvo una secuencia de la corrida por iteracin
igual que la presentada en la Tabla 3.1 y se observaron dos patrones:
a) Patrn donde el algoritmo pasa por un ptimo local y degrada su valor
convergiendo en una calidad menor ver Figura 3.1.
b) Patrn donde el algoritmo converge en el ptimo local ver Figura.3.2.
Como se puede apreciar en la Figura 3.1, en la iteracin nmero dos se
encuentra un valor mnimo del error cuadrado h(W, C); sin embargo, el algoritmo
K-means estndar converge en un valor final del error cuadrado h(W, C) y en una
iteracin posterior.
Figura 3.1. K-means pasa por un mnimo local y pierde su valor ptimo.
Por otra parte, en varios de los experimentos se observ que el algoritmo
converga en un ptimo local como se muestra en la Figura 3.2. En estos casos el
No. Iteracin
15.5E+8
15.0E+8
14.5E+8
14.0E+8
13.5E+8
13.0E+8
12.5E+8
12.0E+81 2 3 4 65 7 8 9 10 11 12 13 14
Valor inicialValor de
convergencia
ptimo localErroralcuadradoh(W,
C)
-
8/3/2019 Tesis Rosy
36/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
26
error cuadrado h(W, C) segua un patrn de decremento con cada nueva
iteracin.
Figura 3.2. K-means converge en un mnimo local.
En la Tabla 3.2 se muestran en forma sombreada las corridas que
presentan el patrn donde pasa por un mnimo y converge en un error al cuadrado
h(W, C) mayor. En las filas no sombreadas se presenta el patrn donde converge
en un mnimo. En la columna uno se muestra el nmero de la corrida, en la dos y
tres se muestra respectivamente el nmero de iteraciones y el error al cuadrado
h(W, C) en el cual converge el algoritmo K-means estndar. En las columnas
cuatro y cinco se muestran respectivamente el nmero de iteracin y el error al
cuadrado h(W, C) cuando se encuentra el ptimo local.
Anlisis de resultadosEn el 96% de las corridas se repeta el comportamiento del algoritmo donde no
paraba en el ptimo local y en el 4% de los casos el algoritmo s converga en el
ptimo local.
Erroralcuadradoh(W,C)
No. Iteracin
40E+8
30E+8
20E+8
10E+81 2 3 4 65 7 8 9 10
Valor inicial
ptimo local
Valor deconvergencia
-
8/3/2019 Tesis Rosy
37/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
27
Tabla 3.2 Experimentacin de K-means estndar con Diabetes.
K-means estndar ptimo local
Corrida Iteracin Error al cuadrado W Iteracin Error al cuadrado W1 17 52072 4 47744
2 14 52072 2 48966
3 13 52072 3 50235
4 16 52072 3 47830
5 15 52072 3 48785
6 14 52072 3 48282
7 14 52072 2 48775
8 15 52072 3 48149
9 15 52072 3 47815
10 15 52072 2 47826
11 14 52072 2 48284
12 14 52072 2 48228
13 16 52072 3 48099
14 16 52072 3 47965
15 15 52072 2 47863
16 15 52072 3 48089
17 14 52072 2 48289
18 13 52072 2 49221
19 15 52072 2 47954
20 15 52072 2 47808
21 16 52072 3 47805
22 16 52072 3 47780
23 10 52072 10 52072
24 13 52072 2 49363
25 15 52072 2 48130
26 14 52072 2 48212
27 15 52072 3 48051
28 16 52072 3 47918
29 14 52072 2 48634
30 16 52072 3 47810
-
8/3/2019 Tesis Rosy
38/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
28
3.1.3 Comportamiento del algoritmo K-means estndar con siete bases de
datos
Objetivo
Realizar por cada corrida un anlisis de cada iteracin de las siete bases de datos
mostradas en la Tabla 4.1 usando el algoritmo K-means estndar, con el objetivo
de detectar el nmero de corridas donde pasa por un mnimo y pierde su valor
convergiendo en un error al cuadrado h(W, C) mayor y en consecuencia menor
eficacia.
Procedimiento
Se realizaron 30 corridas del algoritmo K-means estndar para cada una de las
bases de datos de la Tabla 4.1.
Resultados
Se obtuvieron 30 corridas de cada una de las bases de datos, donde para cada
corrida se registr el error cuadrado h(W, C) de cada una de las iteraciones
realizadas por el algoritmo.
Anlisis de resultados
Durante esta experimentacin se observ que el algoritmo no converga en un
ptimo local como se muestra en la Figura 3.1. En estos casos se llegaba a un
mnimo local y el algoritmo continuaba haciendo operaciones incrementando su
error cuadrado h(W, C) y, por consiguiente, decrementando su eficacia. Los
resultados obtenidos en esta experimentacin son resumidos en la Tabla 3.3.
En la Tabla 3.3 se muestra el porcentaje de las corridas en las cuales se
observo el patrn de la Figura 3.1 para cada base de datos. En la primera columna
se muestra el nombre de la base de datos; y en la segunda y tercera columnas
respectivamente, el nmero de corridas y el porcentaje de corridas en las cuales
ocurre el patrn de la Figura 3.1. De las bases de datos analizadas, Diabetes fue
en la que ms corridas se encontr este patrn (96%). Despus sigue Bin-Packing
-
8/3/2019 Tesis Rosy
39/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
29
con un 77%, Livercon 70%, Vehicle con 50%, Wine con 43%, Heartcon 33% y
Glass fue la que en menos corridas se observ este patrn (20%).
Tabla 3.3. Porcentaje de corridas que no paran en un ptimo local.
Base de
datos
Nmero de iteraciones con el
patrn de la Figura 3.1
% de corridas que no paran
en un ptimo local
Diabetes 29 96
Bin-packing 23 77
Liver 21 70
Vehicle 15 50Wine 13 43
Heart 10 33
Glass 6 20
Con base en los resultado anteriores, se determin que sera de utilidad el
definir una nueva condicin de convergencia, para mejorar desempeo del
algoritmo en aquellos casos en los cuales el algoritmo no para en el ptimo local.Una mejora de este tipo puede proporcionar dos beneficios: una reduccin en el
nmero de iteraciones y una mejora en la calidad.
3.2 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS ESTNDAR
Tradicionalmente se ha considerado que el algoritmo K-means es un algoritmo
goloso; es decir, que puede quedar atrapado en un ptimo local; sin embargo,
analizando las condiciones de convergencia y la experimentacin realizada, se
observ que no existe un criterio de convergencia asociado al valor de la funcin
del error al cuadrado h(W, C), siendo sta la razn por la cual el algoritmo
estndar no puede garantizar una convergencia a un ptimo local (ver Figura. 3.3).
En este sentido, la principal aportacin de este trabajo consiste en asociar un
criterio de convergencia con los valores de la funcin error al cuadrado h(W, C), de
-
8/3/2019 Tesis Rosy
40/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
30
manera que sea posible que el algoritmo pare cuando se identifique un ptimo
local. La nueva condicin de convergencia est compuesta de dos condiciones:
a) Cuando en dos iteraciones sucesivas el valor del error al cuadrado h(W, C)
de la ltima iteracin es mayor que el valor del error al cuadrado h(W, C)de
la iteracin anterior.
b) Cuando los centroides en dos iteraciones sucesivas no cambian.
3.3 ALGORITMO DEL ALGORITMO K-MEANS MEJORADO
En la siguiente figura se muestra el pseudocodigo del algoritmo K-means
mejorado, donde la condicin de convergencia propuesta se encuentra en la lnea
32 de la Figura 3.3.
Algoritmo K-means_mejorado( X, k, W)
EntradaX, k
SalidaW
1
2
3
4
5
6
7
89
10
11
12
13
14
Para ( m 1 hastak) hacer
Cm aleatorio ( X );
Fin Para;
z + ;
Repetir
z' z;
Para ( i 1 hastak) hacer
Wi ;Fin Para;
Para (j 1 hastan ) hacer
min + ;
Para ( i 1 hatak) hacer
Si (d( Xj, Ci) < min ) hacer
min d( Xj, Ci);
-
8/3/2019 Tesis Rosy
41/66
Captulo 3 MEJORAMIENTO PROPUESTO AL ALGORITMO K-MEANS
31
16
17
1819
20
21
22
23
24
25
26
27
28
29
30
31
32
33
m i;
Fin Si;
Fin Para;Wm Wm U { Xj};
Fin Para;
C C;
Para ( i 1 hastak) hacer
Para ( l 1 hastad) hacer
media 0;
Para (j 1 hastank
) Hacer
media media + wijl;
Fin Para;
Cil ( media / nk);
Fin Para;
Fin Para;
z h( W, C );
Hasta ( ( C = C ) o ( z < z ));
Regresa ( W );
Figura 3.3 Pseudocdigo del algoritmo K-means mejorado.
-
8/3/2019 Tesis Rosy
42/66
32
Captulo 4
RESULTADOS EXPERIMENTALES
En este captulo se describe la experimentacin realizada para validar el nuevo
criterio de convergencia del algoritmo K-means mejorado en este trabajo. El
algoritmo K-means mejorado se contrasta con los algoritmos: K-means estndar,
el paquete comercial SPSS y la herramienta Weka de Java.
En este captulo se muestra la experimentacin realizada para validar el
algoritmo K-means mejorado en el captulo 3. En particular se muestran los
experimentos realizados con seis bases de datos reales y una base de datos del
problema Bin-packing. En la seccin 4.1 se describen las bases de datos que se
usaron en la experimentacin, en la seccin 4.2 se muestra la experimentacin
realizada y el anlisis de los resultados.
-
8/3/2019 Tesis Rosy
43/66
Captulo 4 RESULTADOS EXPERIMENTALES
33
4.1 DESCRIPCIN DE LAS BASES DE DATOS QUE SE USARON EN LA
EXPERIMENTACIN
Para realizar la experimentacin se usaron seis bases de datos reales del
repositorio aprendizaje mquina [Hettich 1998] y una base de datos de
Bin-packingobtenida de la tesis doctoral [CRUZ 2004].
4.1.1 Base de datos Bin-packing
Bin-packinges una base de datos sinttica, la cual contiene un conjunto de 2,430
objetos aleatorios con cuatro grupos y cinco dimensiones.
4.1.2 Base de datos Vehicle
La base de datos Vehicle se usa para clasificar una silueta dada que pertenece a
uno de cuatro tipos de vehculos, usando un conjunto de rangos extrados de la
silueta. El vehculo puede verse desde muchos ngulos diferentes. Vehicle
contiene 846 objetos, cuatro grupos y 18 dimensiones.
4.1.3 Base de datos Glass
La base de datos Glass se usa para la clasificacin de tipos de cristales. El acopio
de estos datos fue motivado por la investigacin de criminologa. Glass contiene
214 objetos, siete grupos y nueve dimensiones.
4.1.4 Base de datos Diabetes
La base de datos Diabetes contiene el diagnstico de pacientes de diabetes segn
la Organizacin Mundial de Salud. Diabetes contiene 768 objetos, dos grupos y
ocho dimensiones.
-
8/3/2019 Tesis Rosy
44/66
Captulo 4 RESULTADOS EXPERIMENTALES
34
4.1.5 Base de datos Heart
Esta base de datos contiene el diagnstico de enfermedades del corazn. Heartcontiene 270 objetos, dos grupos y 13 dimensiones.
4.1.6 Base de datos Wine
Estos datos son los resultados de un anlisis qumico de cepas cultivadas en una
regin de Italia y deriv de tres cultivos diferentes. El anlisis determin las
cantidades de 13 componentes encontrados en cada uno de los tres tipos de
vinos. Wine contiene 178 objetos, tres grupos y 13 dimensiones.
4.1.7 Base de datos Liver
Estos datos son resultado de una investigacin mdica de pacientes que pueden
ser sensibles a desrdenes del hgado, los cuales podran originarse por el
consumo excesivo de alcohol. Liver contiene 345 objetos, dos grupos y 6
dimensiones.
Tabla 4.1. Detalle de las bases de datos usadas para experimentacin.
Base de datos Nmero de
grupos
Nmero de
dimensiones
Nmero de
objetos
Bin-Packing 4 5 2430
Vehicle 4 18 846
Glass 7 9 214Diabetes 2 8 768
Heart 2 13 270
Wine 3 13 178
Liver 2 6 345
-
8/3/2019 Tesis Rosy
45/66
Captulo 4 RESULTADOS EXPERIMENTALES
35
En la Tabla 4.1 se muestran los atributos generales de las bases de datos. En la
primera columna se encuentran los nombres de las bases de datos; en la
segunda, el nmero de grupos; en la tercera, el nmero de dimensiones; y en lacuarta, el nmero de objetos.
4.2 RESULTADOS EXPERIMENTALES
Con la finalidad de comprobar la eficiencia y eficacia del algoritmo K-means
mejorado, se realizaron dos experimentos: uno para comprobar la eficiencia
usando como mtrica el nmero de iteraciones y otro para comprobar la eficiencia
usando como mtrica la suma del error al cuadrado h(W, C)de los grupos.
Objetivo
El objetivo es comparar la eficiencia y eficacia del algoritmo K-means mejorado
con K-means estndar, SPSS y Weka.
Procedimiento
Se usaron las siete bases de datos mencionadas en la Tabla 4.1, y cada una se
proces usando Weka, SPSS, K-means estndar y K-means mejorado. Las bases
de datos se procesaron una vez con Weka y con SPSS, debido a que estas
herramientas hacen un preprocesamiento de los datos y definen unos centroides
iniciales, los cuales no varan para cada corrida. Para el caso K-means estndar y
K-means mejorado, se efectuaron 30 corridas generando al azar los centroides
iniciales para cada corrida.
4.2.1 Resultados de eficiencia
Se obtuvo el nmero de iteraciones en el que convergi cada algoritmo con las
bases de datos. Los resultados son expresados en una tabla comparativa para
cada una de las bases de datos, la cual expresa el nmero de iteracin en que
converge cada algoritmo. Para los algoritmos K-means estndar y K-means
mejorado, se muestran la iteracin mnima, promedio y mxima en la columna dos
-
8/3/2019 Tesis Rosy
46/66
Captulo 4 RESULTADOS EXPERIMENTALES
36
y tres respectivamente; y en la columna cuatro y cinco, el nmero de iteracin en
la que converge SPSS y Weka respectivamente.
4.2.1.1 Resultados para Bin-packing. En la Tabla 4.2 se ve que en promedio el
algoritmo mejorado converge en 17 iteraciones, siendo ste el ms rpido;
despus Weka, en 21; K-means estndar, en 25; y por ltimo SPSS, en 31
iteraciones.
Tabla 4.2 Resultados experimentales en eficiencia para Bin-packing.
Bin-packingK-means mejorado K-means estndar SPSS Weka
Mnimo 10 11
Promedio 17 23
Mximo 36 39
31 21
4.2.1.2 Resultados para Vehicle. En la Tabla 4.3 se ve que en promedio el
algoritmo mejorado converge en la misma iteracin que Weka con 10 iteraciones,
despus le sigue K-means estndar con 13 iteraciones y por ltimo SPSS con 19
iteraciones.
Tabla 4.3 Resultados experimentales en eficiencia para Vehicle.
Vehicle
K-means mejorado K-means estndar SPSS Weka
Mnimo 2 2
Promedio 10 13
Mximo 26 26
19 10
4.2.1.3 Resultados para Glass. En la Tabla 4.4 se ve que en promedio el
algoritmo mejorado converge en el menor nmero de iteraciones, en la 8; despus
le sigue K-means estndar y SPSS con 9 iteraciones y finalmente Weka con 14
iteraciones.
-
8/3/2019 Tesis Rosy
47/66
Captulo 4 RESULTADOS EXPERIMENTALES
37
Tabla 4.4 Resultados experimentales en eficiencia para Glass.
Glass
K-means mejorado K-means estndar SPSS Weka
Mnimo 4 4
Promedio 8 9
Mximo 18 18
9 14
4.2.1.4 Resultados para Diabetes. En la Tabla 4.5 se ve que en promedio el
algoritmo mejorado converge mucho ms rpido, en 3 iteraciones; despus le
sigue Weka con 9, K-means estndar con 15 y finalmente SPSS con 17iteraciones.
Tabla 4.5 Resultados experimentales en eficiencia para Diabetes.
Diabetes
K-means mejorado K-means estndar SPSS Weka
Mnimo 2 10
Promedio 3 15Mximo 10 17
17 9
4.2.1.5 Resultados para Heart. En la Tabla 4.6 se ve que Weka es el que obtuvo
mejores resultados terminando en 6 iteraciones, despus le sigue el algoritmo
K-means mejorado con 7, K-means estndar con 10 y finalmente SPSS con 13
iteraciones.
Tabla 4.6 Resultados experimentales en eficiencia para Heart.
Heart
K-means mejorado K-means estndar SPSS Weka
Mnimo 2 2
Promedio 7 10
Mximo 14 14
13 6
-
8/3/2019 Tesis Rosy
48/66
Captulo 4 RESULTADOS EXPERIMENTALES
38
4.2.1.6 Resultados para Wine. En la Tabla 4.7 se ve que en promedio el
algoritmo mejorado converge ms rpido, con 5 iteraciones; despus le sigue
K-means estndar con 6 y finalmente SPSS y Weka con 8 iteraciones.
Tabla 4.7 Resultados experimentales en eficiencia para Wine.
Wine
K-means mejorado K-means estndar SPSS Weka
Mnimo 2 2
Promedio 5 6
Mximo 13 13
8 8
4.2.1.7 Resultados para Liver. En la Tabla 4.8 se ve que en promedio el
algoritmo mejorado converge ms rpido, en 4 iteraciones; despus le sigue SPSS
con 6, Weka con 7 y finalmente el algoritmo K-means estndar con 9 iteraciones.
Tabla 4.8 Resultados experimentales en eficiencia para Liver.
Liver
K-means mejorado K-means estndar SPSS Weka
Mnimo 2 3
Promedio 4 9
Mximo 8 14
6 7
4.2.2 Anlisis comparativo de eficiencia
En esta seccin se realiza un anlisis comparativo del nmero de iteraciones en el
que convergen los algoritmos con las bases de datos que se estn manejando. En
particular se contrastan los resultados obtenidos por el algoritmo K-means
mejorado contra los resultados obtenidos por los dems algoritmos en porcentaje.
En la Tabla 4.9 se muestra dicho anlisis comparativo. En la primera
columna se muestra el nombre de la base de datos; en la segunda y tercera, la
-
8/3/2019 Tesis Rosy
49/66
Captulo 4 RESULTADOS EXPERIMENTALES
39
iteracin promedio en que converge el algoritmo K-means mejorado y K-means
estndar respectivamente. En la cuarta columna se muestra la superioridad del
algoritmo K-means mejorado en porcentaje. En la columna cinco se indica elnmero de iteracin en la que converge el paquete comercial SPSS; y en la sexta,
el porcentaje de mejora del algoritmo K-means mejorado. En la columna siete se
muestra la iteracin en la que converge Weka; y en la octava columna, la
superioridad del algoritmo K-means mejorado en porcentaje.
Tabla 4.9 Anlisis comparativo en eficiencia.
K-meansmejorado
K-meansestndar SPSS WEKA
Base de
datosIteracin
promedio
Iteracin
promedio % Iteracin % Iteracin %
Bin-packing 17 23 26.09 31 45.16 21 19.05
Vehicle 10 13 23.08 19 47.37 10 0.00
Glass 8 8 0.00 9 11.11 14 42.86
Diabetes3 14 78.57 17 82.35 9 66.70
Heart 7 10 30.00 13 46.15 6 -16.67
Wine 5 6 16.67 8 37.50 8 37.50
Liver 4 9 55.56 6 33.33 7 42.86
Como se observa en la Tabla 4.9, en el mejor de los casos el algoritmo
mejorado vs. K-means estndar gan con 78% en la base de datos Bin-packing, el
algoritmo mejorado vs. SPSS gan con 82% en la base de datos Diabetes y el
algoritmo mejorado vs. Weka gan con 66% en la base de datos Diabetes. En el
peor de los casos el algoritmo mejorado vs. K-means estndar obtuvo el mismo
resultado con la base de datos Glass, el algoritmo mejorado vs. SPSS gan con
11% en la base de datos Glass y el algoritmo mejorado vs. Weka perdi con 16%
en la base de datos Heart.
-
8/3/2019 Tesis Rosy
50/66
Captulo 4 RESULTADOS EXPERIMENTALES
40
4.2.3 Resultados de eficacia
Se obtuvo el error al cuadrado h(W, C)en el cual convergi cada algoritmo paracada una de las bases de datos. Los resultados son expresados en una tabla
comparativa para cada una de las bases de datos. En dicha tabla se indica el error
al cuadrado h(W, C) con el que convergi cada algoritmo. Adems, en la tabla se
indica el error al cuadrado h(W, C) mnimo, promedio y mximo para los
algoritmos K-means estndar y mejorado en las columnas dos y tres
respectivamente. Es conveniente mencionar que estos resultados se obtuvieron
con un conjunto de 30 corridas. Finalmente, en las columnas cuatro y cinco se
indica el error al cuadrado h(W, C) con el que convergion SPSS y Weka
respectivamente.
4.2.3.1 Resultados para Bin-packing. La Tabla 4.10 muestra que K-means
mejorado en promedio es mejor que K-means estndar, SPSS y Weka.
Tabla 4.10 Resultados experimentales en eficacia para Bin-packing.
Bin-packing
K-means mejorado K-means estndar SPSS Weka
Mnimo 579.96 580.27
Promedio 580.17 580.29
Mximo 580.33 580.33
580.27 669.30
4.2.3.2 Resultados para Vehicle. En la Tabla 4.11, se ve que K-means mejorado
en promedio es mejor que K-means estndar, SPSS y Weka.
-
8/3/2019 Tesis Rosy
51/66
Captulo 4 RESULTADOS EXPERIMENTALES
41
Tabla 4.11 Resultados experimentales en eficacia para Vehicle.
Vehicle
K-means mejorado K-means estndar SPSS Weka
Mnimo 45105.17 45144.24
Promedio 46989.71 47122.65
Mximo 56915.15 56915.15
50001.83 55949.20
4.2.3.3 Resultados para Glass. En la Tabla 4.12, se ve que K-means mejorado
en promedio es mejor que el promedio de K-means estndar, SPSS y Weka.
Tabla 4.12 Resultados experimentales en eficacia para Glass.
Glass
K-means mejorado K-means estndar SPSS Weka
Mnimo 203.37 203.37
Promedio 210.54 210.58
Mximo 223.80 223.78
211.50 235.82
4.2.3.4 Resultados para Diabetes. En la Tabla 4.13, se ve que K-means
mejorado en promedio es mejor que el promedio de K-means estndar, SPSS y
Weka.
Tabla 4.13 Resultados experimentales en eficacia para Diabetes.
Diabetes
K-means mejorado K-means estndar SPSS Weka
Mnimo 47744.54 52072.20
Promedio 48399.88 52072.20
Mximo 52072.20 52072.20
52072.24 73193.07
4.2.3.5 Resultados para Heart. En la Tabla 4.14, se ve que K-means mejorado
en promedio es mejor que el promedio de K-means estndar, SPSS y Weka.
-
8/3/2019 Tesis Rosy
52/66
Captulo 4 RESULTADOS EXPERIMENTALES
42
Tabla 4.14 Resultados experimentales en eficacia para Heart.
Heart
K-means mejorado K-means estndar SPSS Weka
Mnimo 10680.87 10695.79
Promedio 10692.55 10698.47
Mximo 10700.83 10700.83
10700.83 13692.84
4.2.3.6 Resultados para Wine. En la Tabla 4.15, se ve que K-means mejorado
en promedio es mejor que el promedio de K-means estndar, SPSS y Weka.
Tabla 4.15 Resultados experimentales en eficacia para Wine.
Wine
K-means mejorado K-means estndar SPSS Weka
Mnimo 16384.57 16529.84
Promedio 17776.31 17812.16
Mximo 24905.08 24905.08
18436.95 24590.53
4.2.3.7 Resultados para Liver. En la Tabla 4.16, se ve que K-means mejorado
en promedio es mejor que el promedio de K-means estndar, SPSS y Weka.
Tabla 4.16 Resultados experimentales en eficacia para Liver.
Liver
K-means mejorado K-means estndar SPSS Weka
Mnimo 9865.34 10212.54
Promedio 9961.43 10212.54
Mximo 10231.43 10212.54
10231.43 10921.56
4.2.4 Anlisis comparativo de la eficacia
En esta seccin se realiza un anlisis comparativo del error al cuadrado h(W, C)
en la que convergen los algoritmos con las bases de datos que se estn
-
8/3/2019 Tesis Rosy
53/66
Captulo 4 RESULTADOS EXPERIMENTALES
43
manejando. En particular se contrastan los resultados obtenidos por el algoritmo
K-means mejorado contra los resultados obtenidos por los dems algoritmos en
porcentaje.
En la Tabla 4.17 se muestra dicho anlisis comparativo. En la primera
columna se muestra el nombre de la base de datos; en la segunda y tercera, el
error al cuadrado h(W, C) promedio en que converge el algoritmo K-means
mejorado y K-means estndar respectivamente. En la cuarta columna se muestra
la superioridad del algoritmo K-means mejorado en porcentaje. En la columna
cinco se indica el error al cuadrado h(W, C) con el que converge el paquete
comercial SPSS; y en la sexta, el porcentaje en el que es mejor el algoritmo
K-means mejorado. En la columna siete se muestra el error al cuadrado h(W, C)
con el que converge Weka; y en la octava columna, la superioridad del algoritmo
K-means mejorado en porcentaje.
Como se observa en la Tabla 4.17, en el mejor de los casos el algoritmo
mejorado vs. K-means estndar gan con 7% en la base de datos Diabetes, el
algoritmo mejorado vs. SPSS gan con 7% en la base de datos Diabetes y el
algoritmo mejorado vs. Weka gan con 33% en la base de datos Diabetes. En el
peor de los casos el algoritmo mejorado vs. K-means estndar obtuvo 0.02% en la
base de datos Bin-packing, el algoritmo mejorado vs. SPSS gan con 0.02% en la
base de datos Bin-packingy el algoritmo mejorado vs. Weka gan con 8.79% en la
base de datos Liver.
-
8/3/2019 Tesis Rosy
54/66
Captulo 4 RESULTADOS EXPERIMENTALES
44
Tabla 4.17 Anlisis comparativo en eficacia.
K-means
mejorado
K-means
estndar SPSS WEKABase de
datos
Error al
cuadrado
h(W, C)
promedio
Error al
cuadrado
h(W, C)
promedio
%
Error al
cuadrado
h(W, C) %
Error al
cuadrado
h(W, C) %
Bin-packing 580.17 580.29 0.02 580.27 0.02 669.30 13.32
Vehicle 46989.72 47122.65 0.28 50001.83 6.02 55949.21 16.01
Glass 210.54 210.58 0.02 211.51 0.46 235.82 10.72Diabetes 48399.88 52072.20 7.05 52072.24 7.05 73193.07 33.87
Heart 10692.66 10698.48 0.05 10700.84 0.08 13692.85 21.91
Wine 17776.32 17812.16 0.20 18436.95 3.58 24590.54 27.71
Liver 9961.43 10212.55 2.46 10231.44 2.64 10921.56 8.79
-
8/3/2019 Tesis Rosy
55/66
45
Captulo 5
CONCLUSIONES Y TRABAJOS FUTUROS
En este captulo se presentan las aportaciones de esta investigacin, y se
sugieren direcciones para trabajos futuros.
5.1 CONCLUSIONES
Un buen nmero de mejoras del algoritmo K-means han estado enfocadas a la
inicializacin del algoritmo [Su 2004, Pelleg 2000, Likas 2003]; sin embargo, uno
de los factores que ms inciden en el costo computacional es el nmero de
iteraciones que se realizan para que el algoritmo converja.
En este trabajo, se muestra que es factible mejorar el algoritmo K-means
estndar mediante un nuevo criterio de convergencia. Durante el monitoreo de unaimplementacin del algoritmo estndar, y en particular observando el valor del
error cuadrado para cada iteracin, se observ que el algoritmo no paraba en un
ptimo local; es decir, a pesar de haber obtenido un mnimo local, el algoritmo
continuaba realizando iteraciones. Este patrn de comportamiento en el algoritmo
se repiti en aproximadamente el 96% de los casos en que se corri con la base
de datos Diabetes.
-
8/3/2019 Tesis Rosy
56/66
Captulo 5 CONCLUSIONES Y TRABAJOS FUTUROS
46
Un anlisis detallado del algoritmo nos permiti identificar que el algoritmo
no paraba debido a que su condicin de convergencia no incorporaba el error alcuadrado.
En contraste, en este trabajo se aporta una nueva condicin de
convergencia que incorpora el error al cuadrado, lo cual permite garantizar que el
algoritmo pare en ptimos locales, reduciendo el nmero de iteraciones y
mejorando la calidad en la solucin.
Para validar la mejora propuesta se us un conjunto de bases datos reales
obtenidas del repositorio de aprendizaje mquina [Hettich 1998], las cuales se
procesaron con el algoritmo K-means mejorado, K-means estndar, la librera
Weka de Java y el paquete comercial SPSS. Los resultados experimentales fueron
alentadores; por ejemplo, en la base de datos Diabetes la solucin se obtuvo en 3
iteraciones con el algoritmo mejorado, mientras que con K-means estndar se
obtuvo en 15; con SPSS, en 17; y con Weka, en 9. Con relacin a la calidad el
algoritmo mejorado fue superior en 7.05% con respecto al K-means estndar,
7.05% con respecto a SPSS y 33.87% mejor que Weka.
Finalmente consideramos que la mejora propuesta puede ser incorporada
en algunas otras variantes del algoritmo K-means contribuyendo a mejorar su
desempeo.
-
8/3/2019 Tesis Rosy
57/66
Captulo 5 CONCLUSIONES Y TRABAJOS FUTUROS
47
5.2 TRABAJOS FUTUROS
En el desarrollo de este trabajo de tesis surgieron varias propuestas de trabajos
futuros:
Implementacin optimizada del algoritmo K-means con la condicin de
convergencia propuesta en esta tesis, ya que en sta tesis se implement
con propsito de estudio; es decir, se introdujo cdigo con la finalidad de
monitorear su comportamiento.
Incorporacin de la condicin de convergencia propuesta en esta tesis en
otras variantes del algoritmo K-means.
-
8/3/2019 Tesis Rosy
58/66
48
REFERENCIAS
[Berkhin 2002] Berkhin, P.: Survey of Clustering Data Mining Techniques. In
Accrue . San Jose, CA. (2002)
[Cruz 2004] Cruz, L.: Clasificacin de Algoritmos Heursticos para la Solucin de
Problemas de Bin Packing. Tesis doctoral. Centro Nacional de Investigacin y
Desarrollo Tecnolgico (CENIDET) Cuernavaca, Mxico (2004)
[Fraire 2005] Fraire, H.: Una Metodologa para el Diseo de la Fragmentacin y
Ubicacin en Grandes Bases de Datos Distribuidas. Tesis doctoral. Centro
Nacional de Investigacin y Desarrollo Tecnolgico (CENIDET) Cuernavaca,
Mxico (2005)
[Halkidi 2001] Halkidi, M., Batistakis, Y., Vazirgiannis, Michalis.: On Clustering
Validation Techniques. In Journal of Intelligent Information Systems. PublishersKluwer Academic. (2001) 107-145
[Hamerly 2002] Hamerly, G., Elkan, C.: Alternatives to the K-means Algorithm that
Find Better Clusterings. In Proceedings of the Eleventh International Conference
on Information and Knowledge Management. ACM Press. New York (2002) 600-
607
[Hettich 1998] Hettich, S., Blake, C.L., Merz, C.J: UCI Repository of Machine
Learning Databases. Department of Information and Computer Science,
University of California. Irvine, CA (1998)
http://www.ics.uci.edu/~mlearn/MLRepository.html.
[Jain 1999] Jain, A.K, Murty, M.N., Flynn, P.J.: Data Clustering: A Review. ACM
Computing Survey. Vol. 31, No. 3 (1999) 264-323
-
8/3/2019 Tesis Rosy
59/66
-
8/3/2019 Tesis Rosy
60/66
50
[Pham 2004] Pham, D T., Nguyen, C D.: An Incremental K-means Algorithm. In
Journals ProQuest Science. Proceedings of the Institution of Mechanical
Engineers., 2004, Vol. 218, Part. C7, 783-795
[SPSS] SPSS Inc. SPSS Ver. 10.0. On product Information. Chicago, Illinois.
[Su 2001] Su, M.C., Chou, C.H.: A Modified Version of the K-Means Algorithm with
a Distance Based on Cluster Symmetry. Pattern Analysis and Machine
Intelligence, IEEE Transactions on Pattern Analysis and Machine Intelligence.
Vol. 23, No. 6 (2001) 674-680
[Su 2004] Su, T., Dy, J.: A Deterministic Method for Initializing K-means Clustering.
Proceeding of the 16th IEEE International Conference on Tools with Artificial
Intelligence (ICTAI 2004), 2004, 784-786
[Witten 1999] Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning
Tools and Techniques with Java Implementations. Morgan Kaufmann
Publishers. San Diego, CA (1999)
-
8/3/2019 Tesis Rosy
61/66
51
Anexo A
GENERADOR DE BASES DE DATOS SINTTICAS
A.1 Implementacin del generador de bases de datos sintticas
Con la finalidad de validar el algoritmo K-means implementado, fue necesario
saber con antelacin la agrupacin ptima para poder comparar el agrupamiento
generado por dicho algoritmo. Para esto se desarroll un mdulo generador de
bases de datos sintticas. Cabe hacer notar que en la literatura especializada no
se menciona este tipo de herramientas.
La base de datos sinttica que se produce, tiene la propiedad de simetra
entre los elementos de un grupo con respecto a los hiperplanos que cortan el
centroide de cada grupo. Debido a que uno de los datos de entrada es el conjunto
de centroides, es posible obtener los agrupamientos ptimos. En la Tabla A.1 yTabla 2.1 se muestran las definiciones y notacin usada en el pseudocdigo.
-
8/3/2019 Tesis Rosy
62/66
Anexo A
52
Tabla A.1 Notacin y definiciones.
d(Xij, Ci)=
2
=1
( - )d
ijl il
l
x c
Funcin de error al cuadrado. La funcin es un
ndice de similaridad que cuantifica la distancia entre
un objeto Xij del conjunto de datos Xi y el centroide Ci
del grupo k.
rk Es el radio de un crculo imaginario dentro del cual
estarn los objetos generados aleatoriamente para el
k-simo grupo.
nk= (2d) (mk) Con esta funcin se calcula el nmero de objetos.
mk Es el nmero de objetos semilla.D Es el nmero de dimensiones para todos los
objetos.
Na Es un nmero real generado aleatoriamente dentro
del intervalo [0,1].
si Es la cardinalidad del grupo Wk.
Los parmetros de entrada para el generador de bases de datos sintticasson: k, Ck, rk, mk, d.
Los parmetros de salida para el generador de bases de datos sintticas
son: la base de datos X, el conjunto de grupos W y la suma del error al cuadrado
de cada grupo Wk.
A.2 Algoritmo del generador de casos
Paso 1. Genera mkobjetos semilla. En este paso se generan de forma aleatoria
mk objetos dentro de un cuadrado imaginario cuya esquina superior derecha es el
objeto centroide Ck. Tomando en cuenta que el algoritmo K-means descubre
figuras globulares, se agreg una condicin que elimina los objetos Xij cuya
distancia con respecto al centroide Ck se encuentra fuera del radio rk. Este
-
8/3/2019 Tesis Rosy
63/66
Anexo A
53
procedimiento se encuentra entre las lneas 1 a la 13 del pseudocdigo de la
Figura A.1.
ALGORITMO Generador( X, k, rk, mk, d, Ck)ENTRADAk, rk, mk, d, Ck
SALIDAX
1
2
3
4
5
6
78
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Para ( i 1 hastak) hacer
Wi ;
Para (j 1 hastamk) hacer
Para (l 1 hastad) hacer
xijl ( cil- ri) + ( Na - ri);Fin Para;
Si (d( Xij, Ci)
-
8/3/2019 Tesis Rosy
64/66
Anexo A
54
Paso 2. Genera kgrupos con nk elementos. Con la finalidad de conocer
la agrupacin ptima, este paso realiza una copia espejo en cada una de las
dimensiones y finalmente integra los kgrupos dentro de la base de datos X. Esteprocedimiento se encuentra entre las lneas 14 a la 31.
A.3 Generacin de datos sintticos con el generador de bases de datos.
En esta seccin se muestra el procedimiento para generar una base de datos
sinttica con el generador implementado. Los valores de entrada se muestran en
la Tabla A.2. En la primera columna se muestra el parmetro; y en la segunda
columna, el valor del mismo.
Tabla A.2 Valores de entrada al generador de casos de pruebas.
Parmetro Valor
k 2
C1 (-4, 2)
C2 (3, 2)
r1 3
r2 3
m1 5
m2 5
d 2
Paso 1. Genera mkobjetos semilla. En este paso se generan m1 objetos
dentro de un radio 1r . En la Figura A.2 se muestran grficamente los objetos
generados. De la misma forma se generan m2objetos.
-
8/3/2019 Tesis Rosy
65/66
Anexo A
55
-1
-0,5
0
0,5
1
1,5
2
2,5
0
Centroide Puntos aleatorios
Figura A.2. Calculando el primer grupo.
Paso 2. Genera kgrupos con nk elementos. En este paso se copian los
objetos para cada una de las dimensiones. En la Figura A.3 se muestra cmo el
algoritmo genera una copia en la primera dimensin, y en la Figura A.4 se muestra
cmo el algoritmo copia los objetos para la siguiente dimensin. Finalmente
integra los grupos generados como se muestra en a Figura A.5.
-1
-0,5
0
0,5
1
1,5
2
2,5
-6 -4 -2 0
Centroide Puntos aleatorios Copia en x
Figura A.3 Se genera una copia espejo en una dimensin.
-
8/3/2019 Tesis Rosy
66/66