tesis rosy

Upload: jesus-leon

Post on 06-Apr-2018

234 views

Category:

Documents


0 download

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