• No se han encontrado resultados

Diseño e implementación de un algoritmo para determinar la mejor agrupación utilizando k – means y los índices de validación

N/A
N/A
Protected

Academic year: 2023

Share "Diseño e implementación de un algoritmo para determinar la mejor agrupación utilizando k – means y los índices de validación"

Copied!
99
0
0

Texto completo

(1)

Cuernavaca, Morelos, México. Agosto de 2019

“DISEÑO E IMPLEMENTACIÓN DE UN ALGORITMO PARA

DETERMINAR LA MEJOR AGRUPACIÓN UTILIZANDO K – MEANS Y LOS ÍNDICES DE VALIDACIÓN”

TESIS PARA OBTENER EL GRADO DE:

MAESTRÍA EN OPTIMIZACIÓN Y CÓMPUTO APLICADO

PRESENTA

TIC. ANA KAREN CASTAÑEDA ESCOBAR

ASESOR DE TESIS:

DR. JOSÉ CRISPÍN ZAVALA DÍAZ

CO-ASESOR DE TESIS:

DR. JOAQUÍN PÉREZ ORTEGA

(2)
(3)
(4)
(5)
(6)
(7)

Dedicatoria

“Este trabajo es dedicado a la mujer más especial de mi vida, que, con su incondicional amor, cuido de mí en las noches de desvelo, me inspiro a superarme

y quien combate conmigo todas las batallas.

Eres la luz que ilumina mi vida, aun en la noche más oscura, de ti vengo y a ti he de volver cuando mis ojos se cierren para nunca volverse a abrir

Contigo hasta el final y para siempre en la eternidad”

Te amo mamá

(8)

Agradecimientos

Agradezco al Consejo Nacional de Ciencia y Tecnología (CONACyT) por haberme otorgado la beca para realizar mis estudios de maestría.

Mi profundo agradecimiento a mi asesor el Dr. José Crispín Zavala Díaz por su dedicación, sugerencias, críticas y su amplio interés en el tema. Por haber compartido su conocimiento y su tiempo para el desarrollo de esta tesis.

Quiero agradecer a mi co-asesor el Dr. Joaquín Pérez Ortega y a los miembros de mi comité tutoral: Dr. Martín Gerardo Martínez Rangel, Dr. José Alberto Hernández Aguilar y Dr. Martín Heriberto Cruz Rosales, por sus observaciones y sugerencias.

A demás un agradecimiento muy especial a mis papás Silvia y Eleuterio, que con su gran amor y esfuerzo han forjado mi camino académico. A mi hermano Luis Enrique, mi cómplice y mejor amigo de vida, quien me ha enseñado las lecciones más importantes. A mi esposo Tonatihu Salazar por su inmenso amor y apoyo.

(9)

Resumen

La técnica del análisis de clúster o el análisis de agrupamiento, tiene como objetivo clasificar objetos en grupos llamados clúster, de tal manera que los objetos de cada grupo sean similares entre sí y a la vez sean diferentes a los objetos de otros clúster, esto con el fin de lograr la máxima homogeneidad en cada clúster y la mayor diferencia entre los clústeres.

El agrupamiento de datos es un tema vigente debido a la alta generación de datos provenientes de diferentes dominios del conocimiento. Uno de los algoritmos más utilizados es el algoritmo de agrupamiento k-means, esto debido a su eficiencia computacional. El agrupamiento final del algoritmo depende del criterio utilizado en el proceso. Por lo tanto, es necesario realizar una evaluación del resultado obtenido El objetivo de las técnicas de validación de clustering, es evaluar los resultados obtenidos después de aplicar un algoritmo de agrupamiento. Los índices de validación interna, se utilizan para determinar el número correcto de agrupaciones dentro de un conjunto de datos.

En esta investigación se analiza de manera experimental la mejor agrupación por medio de los índices de validación interna. De acuerdo a los experimentos realizados y a las instancias probadas en esta investigación se determina que el mejor índice para evaluar la calidad de los resultados al aplicar el algoritmo de partición k-means, corresponde al índice Davies Bouldin. Este índice es utilizado en el algoritmo “searching the best k”, el cual, tiene como propósito encontrar el mejor número de agrupamientos, así como la mejor distribución de los datos al ser agrupados.

Después de un análisis del algoritmo SK (searching the best k) se concluye que es posible determinar la mejor agrupación utilizando el índice de validación interna Davies Bouldin. El algoritmo SK cumple con su propósito al encontrar la mejor partición en las instancias probadas en este trabajo de investigación.

(10)

Abstract

The technique of cluster analysis or grouping analysis, it has aims to classify objects into groups called a cluster, such that the objects in each group are similar to each other and at the same time are different from the objects in other clusters, this in order to achieve maximum homogeneity in each cluster and the greatest difference among the clusters.

The grouping of data is a current issue due to the high generation of data from different domains of knowledge.One of the most used algorithms is the k-means clustering algorithm, this due to its computational efficiency.The final grouping of the algorithm be subject to on the criteria used in the process. Therefore, an evaluation of the result obtained is necessary.

The objective of clustering validation techniques is to evaluate the results obtained after applying a clustering algorithm. Internal validation indexes are used to determine the correct number of clusters within a data set.

In this investigation the best grouping is analyzed experimentally by means of internal validation rates. According to the experiments performed and the instances tested in this investigation, it is determined that the best index to evaluate the quality of the results when applying the k-means partition algorithm corresponds to the Davies Bouldin index. This index is used in the “searching the best k” algorithm, which targets to find the best number of clusters, as well as the best distribution of the data when grouped.

After an analysis of the SK algorithm (searching the best k) it is concluded that it is possible to determine the best grouping using the Davies Bouldin internal validation index. The SK algorithm fulfills its purpose of finding the best partition in the instances tested in this research paper.

(11)

CONTENIDO

LISTA DE FIGURAS ... I LISTA DE TABLAS ...III GLOSARIO ... V

CAPÍTULO 1. INTRODUCCIÓN ... 1

1.2PLANTEAMIENTO DEL PROBLEMA DE INVESTIGACIÓN ... 3

1.3HIPÓTESIS ... 4

1.4OBJETIVOS ... 4

1.4.1OBJETIVO GENERAL ... 4

1.4.2OBJETIVOS ESPECÍFICOS ... 4

1.5JUSTIFICACIÓN ... 4

1.6ALCANCES Y LIMITACIONES ... 5

1.6.1ALCANCES ... 5

1.6.2LIMITACIONES ... 5

1.7ORGANIZACIÓN DEL DOCUMENTO ... 6

CAPÍTULO 2. REVISIÓN DEL ESTADO DEL ARTE ... 7

2.1ALGORITMOS DE CLUSTERING ... 8

2.3 K-MEANS ... 9

2.4NÚMERO DE CLÚSTER ... 12

2.5VALIDACIÓN DE CLUSTERING ... 14

2.6.1CONCLUSIÓN DE LOS ÍNDICES DE VALIDACIÓN ... 26

CAPÍTULO 3. MODELO Y PROCESO DE SOLUCIÓN PRIMERA ETAPA ...27

3.1INTRODUCCIÓN ... 27

(12)

3.3CONSIDERACIONES PARA LOS ÍNDICES DE VALIDACIÓN ... 34

3.3PROCESO DE SOLUCIÓN ... 35

3.4EXPERIMENTACIÓN ... 36

3.4.1DISEÑO DE PRUEBAS ... 36

3.5RESULTADOS ... 38

CAPÍTULO 4. PROCESO DE SOLUCIÓN SEGUNDA ETAPA ...52

4.1INTRODUCCIÓN ... 52

4.2PROCESO DE SOLUCIÓN ... 53

4.2EXPERIMENTACIÓN ... 56

4.2.1DISEÑO DE PRUEBAS ... 56

4.3PRUEBAS Y RESULTADOS ... 57

4.4COMPARACIÓN CON OTROS MÉTODOS ... 62

4.4.1PRUEBAS DE COMPARACIÓN ... 63

4.4.2RESULTADOS Y DISCUSIÓN ... 63

CAPÍTULO 5. CONCLUSIONES Y TRABAJOS FUTUROS ...77

REFERENCIAS ...79

(13)

LISTA DE FIGURAS

Figura 1 Método del codo ... 13

Figura 2 Distancias internas y externas (Berzal, 2015) ... 15

Figura 3 Medida de cohesión ... 16

Figura 4 Medida de separación ... 16

Figura 5 Distancia inter-clúster ... 20

Figura 6 Distancia intra-clúster ... 21

Figura 7 Diámetro del clúster DaviesB. ... 22

Figura 8 Índice de Silhoutte ... 24

Figura 9 Distancia entre los clústeres ... 25

Figura 10 Distancia dentro de un clúster ... 26

Figura 11 Ejemplo convergencia ... 29

Figura 12 Resultado agrupamiento 1 con k-means ... 30

Figura 13 Resultado agrupamiento 2 con k-means ... 31

Figura 14 Resultado agrupamiento 3 con k-means ... 32

Figura 15 Algoritmo índices de validación ... 35

Figura 16 Diseño de Prueba 1 ... 39

Figura 17 Índice de Davies B. Prueba 1 ... 40

Figura 18 Agrupamiento Davies B. prueba... 41

Figura 19 Diseño de Prueba 2 ... 43

Figura 20 Índice de Davies B. Prueba 2 ... 44

(14)

Figura 21 Agrupamiento Davies B. Prueba 2 ... 44

Figura 22 Diseño de Prueba 3 ... 46

Figura 23 Índice de Davies B. Prueba 3 ... 47

Figura 24 Agrupamiento Davies B. Prueba 3 ... 47

Figura 25 Diseño de Prueba 4 ... 49

Figura 26 Índice de Davies B. Prueba 4 ... 50

Figura 27 Agrupamiento Davies B. Prueba 4 ... 50

Figura 28 Ejemplo de funcionamiento del algoritmo searching the best k ... 54

Figura 29 Algoritmo searching the best k ... 55

Figura 30 Pseudocódigo searching the best k... 55

Figura 31 Searching the best k prueba 1 ... 57

Figura 32 Searching the best k prueba 2 ... 58

Figura 33 Searching the best k prueba 3 ... 59

Figura 34 Searching the best k prueba 4 ... 60

Figura 35 Instancia 1,000 searching the best k ... 61

Figura 36 Intancia 10,000 searching the best k ... 62

Figura 37 Método del codo - Prueba 1 ... 65

Figura 38 Método del codo - Prueba 2 ... 67

Figura 39 Método del codo - Prueba 3 ... 69

Figura 40 Método del codo - Prueba 4 ... 71

Figura 41 Método del codo – instancia 1,000 ... 72

Figura 42 Método del codo – instancia 10,000 ... 74

(15)

LISTA DE TABLAS

Tabla 1 Fases del algoritmo k-means. ... 10

Tabla 2 Algoritmo k-means implementado ... 28

Tabla 3 Función objetivo ... 29

Tabla 4 Resultados agrupamiento 1 ... 30

Tabla 5 Resultados agrupamiento 2 ... 31

Tabla 6 Resultados agrupamiento 3 ... 32

Tabla 7 Mejor agrupamiento ... 33

Tabla 8 Comparación del valor de las convergencias ... 33

Tabla 9 Fases etapa 1 “Algoritmo índices de validación” ... 34

Tabla 10 Función objetivo / índices ... 37

Tabla 11 Prueba 1 ... 38

Tabla 12 Resultados Prueba 1 ... 39

Tabla 13 Prueba 2 ... 42

Tabla 14 Resultados Prueba 2 ... 43

Tabla 15 Prueba 3 ... 45

Tabla 16 Resultados Prueba 3 ... 46

Tabla 17 Prueba 4 ... 48

Tabla 18 Resultados Prueba 4 ... 49

Tabla 19 Fases etapa 2 “Algoritmo searching the best k” ... 53

Tabla 20 Valor de Bloque ... 53

(16)

Tabla 21 Análisis de resultados ... 61

Tabla 22 Resultados del método por regla general ... 64

Tabla 23 Resultados del método codo prueba 1 ... 65

Tabla 24 Resultados del método codo prueba 2 ... 66

Tabla 25 Resultados del método codo prueba 3 ... 68

Tabla 26 Resultados del método codo prueba 4 ... 70

Tabla 27 Resultados del método codo con 1,000 objetos ... 72

Tabla 28 Resultados del método codo con 10,000 objetos ... 73

Tabla 29 Comparación de métodos ... 75

Tabla 30 Clasificación de colores ... 75

(17)

GLOSARIO

Agrupamiento Acción de agrupar

Clúster Palabra adaptada al español en el ámbito informático para referirse a un grupo o conjunto

Clústering

Método para un amplio abanico de técnicas utilizadas para encontrar patrones o grupos dentro de un conjunto de observaciones

DB Siglas para el índice Davies Bouldin Función objetivo Ecuación que será optimizada

Grupo Conjunto de objetos que comparten características

Índice Valores que permiten comparar dos situaciones diferentes respecto a la calidad de una agrupación

Instancia

sintética Instancia creada con valores aleatorios

Objeto Elemento que es conformado por diferentes características Partición División de un conjunto de datos.

SF Siglas del índice de Score Function SI Siglas del índice de Silhoutte

SK Siglas del algoritmo searching the best k

Algoritmo k-means

d Valor que representa a un número de dimensiones k Valor que representa a un número de grupos n Valor que representa a un número de objetos SSE Siglas para la suma de los errores al cuadrado

(18)

CAPÍTULO 1.

INTRODUCCIÓN

El agrupamiento de datos en la actualidad es un tema vigente puesto que existe una alta generación de datos en diversas áreas de aplicación como, el reconocimiento de patrones, procesamiento de imágenes, etc. El objetivo del agrupamiento es dividir un conjunto de datos en grupos de objetos similares, maximizando la similitud de los objetos dentro de los grupos y minimizando la similitud entre los grupos (Lee et al, 2018).

Uno de los algoritmos más utilizados para el agrupamiento, es el algoritmo de partición k-means, el cual se caracteriza por su fácil implementación e interpretación. Este algoritmo requiere de parámetros que son especificados por el usuario los cuales son (Jain, 2010):

1. Número de clúster 2. Métrica de distancia 3. Criterio de convergencia

La determinación del número de clúster, conocido como el número 𝑘, es uno de los problemas más difíciles en el agrupamiento, debido a que no existe un criterio matemático general para la elección del número 𝑘 (Gonzalez, 2010). Los algoritmos de agrupamiento se ejecutan con diferentes valores de 𝑘, ya que cada valor arroja diferentes agrupaciones, para determinar el mejor valor de 𝑘 se considera el valor mínimo de una función objetivo que funciona como criterio de paro para el algoritmo k-means. Esta función puede ser determinada por:

(19)

1. Suma de los errores al cuadrado 2. Varianza

3. Inercia

Se sabe que todos los algoritmos de agrupamiento producirán particiones, algunos resultados pueden ser mejores que otros. De acuerdo al artículo 50 years beyond k-means por Anil K. Jain, se plantean las siguientes preguntas: ¿Cómo se evalúa la salida de una partición después de ser aplicado un algoritmo de agrupamiento?,

¿Qué características deben ser consideradas para determinar que una partición sea

“buena” y qué características determinan a una partición “deficiente”? (Jain, 2010).

Los índices de validación de clustering se utilizan como una herramienta para encontrar una respuesta a dichas preguntas. Los índices son indicadores que proporcionan una forma de validar la calidad de la solución obtenida después de aplicar un algoritmo de agrupamiento, utilizan el conocimiento matemático para evaluar a un agrupamiento, obteniendo valores diferentes por cada agrupamiento resultante, ya que cada agrupamiento es diferente. Esta evaluación permite determinar el número correcto de clústeres según los criterios de los índices de validación (Lee et al, 2018) (Zhu & Ruhui, 2018).

La validación de clustering se clasifica principalmente en:

1. validación externa.

2. validación interna

La validación interna se basa en el comportamiento de los datos al ser agrupados, la validación externa compara los diferentes resultados de agrupamientos obtenidos de los datos experimentales y puede requerir de conocer previamente la partición correcta de los datos, por lo cual sólo se utiliza en un contexto experimental.

La finalidad de validar los resultados de un agrupamiento es encontrar la mayor similitud de los objetos dentro de un mismo clúster y la mayor diferencia con los objetos otros clusteres, las medidas de validación interna utilizan la compacidad y separación presente en un agrupamiento (Zhao & Fränti, 2014).

(20)

 Compacidad: Mide cuan relacionados están los objetos en un clúster.

 Separación: Mide cuan distinto y separado esta un clúster de otros clústeres.

Sin embargo, determinar el número correcto de agrupaciones no es una tarea fácil y para abordar esta problemática, en este trabajo de investigación se desarrollaron dos algoritmos que aportan soluciones innovadoras.

1.2 P

LANTEAMIENTO DEL PROBLEMA DE INVESTIGACIÓN

La elección del mejor número de agrupaciones es uno de los problemas más complejos en el agrupamiento de datos, este número de agrupaciones (𝑘) es un parámetro de entrada básico en la mayoría de los algoritmos de partición (Zhu &

Ruhui, 2018). Debido a que generalmente se desconoce el número de grupos adecuado, generalmente para remediar esta deficiencia se recurre a la ejecución del algoritmo varias veces con un valor de (𝑘) diferente y se evalúan sus diferentes salidas.

El algoritmo de agrupamiento k-means es sensible al valor que se asigne a los parámetros iniciales, entre ellos se encuentra el valor de 𝑘, siento otro factor a considerar, la selección aleatoria de los centros iniciales del conjunto de datos (Lee et al, 2018). Después de evaluar un rango de posibles parámetros de 𝑘, se selecciona la mejor partición con base en los índices de validación, éstos, son indicadores que aportan una manera de validar la calidad de los algoritmos de agrupamiento y determinar el número adecuado de partición de un conjunto de datos (Lee et al, 2018).

La validación de los resultados obtenidos por los algoritmos de agrupamiento es una parte fundamental del proceso de agrupamiento, los enfoques más utilizados para la validación de clustering se basan en los índices de validación interna (Arbelaitz et al, 2013).

(21)

Por lo anterior expuesto, es que se justifica la presentación de este proyecto de investigación con una propuesta para determinar la mejor partición utilizando los índices de validación interna.

1.3 H

IPÓTESIS

H0: Por medio de un algoritmo diseñado con índices de validación interna se puede determinar la mejor partición utilizando k-means

H1: Por medio de un algoritmo diseñado con índices de validación interna no se puede determinar la mejor partición utilizando k-means.

1.4 O

BJETIVOS

1.4.1OBJETIVO GENERAL

Diseñar e implementar un algoritmo utilizando los índices de validación interna para determinar el mejor agrupamiento utilizando k-means.

1.4.2OBJETIVOS ESPECÍFICOS

 Analizar los diferentes índices para la validación de clústering

 Seleccionar los índices de validación de clustering.

 Obtener la mejor partición

1.5 J

USTIFICACIÓN

Los conjuntos de datos generados día a día no incluyen para su mejor comprensión del conocimiento el número de clúster adecuados que representa a ese conjunto,

(22)

cosas, debido al volumen de los datos y la complejidad para agruparlos. Por lo tanto, la estimación del número correcto de clústeres se considera una de las tareas más importantes en el agrupamiento de datos (Hancer & Karaboga, 2016).

La validación de clustering evalúa los resultados de un agrupamiento y ha sido reconocida durante mucho tiempo como una técnica esencial para el éxito de las aplicaciones de agrupamiento. La validación de clustering externa y la validación de clustering interna son las dos categorías principales de validación de clustering.

La validación interna utiliza índices de validación que permiten obtener el número adecuado de clústeres para un conjunto de datos evaluando la compacidad y separabilidad de un agrupamiento (Yanchi et al, 2010).

1.6 A

LCANCES Y LIMITACIONES 1.6.1ALCANCES

Al término de esta investigación se obtendrá un algoritmo que será capaz de determinar el mejor agrupamiento, de acuerdo a los indicadores de validación interna, y se determinará el número correcto de grupos para diferentes instancias sintéticas.

1.6.2LIMITACIONES

1) El estudio de la determinación del mejor número de grupos será aplicado exclusivamente usando la técnica de agrupamiento de k-means.

2) Se utilizarán instancias de datos sintéticas para el diseño de experimentos 3) La validación de los resultados será de manera experimental.

(23)

1.7 O

RGANIZACIÓN DEL DOCUMENTO

El contenido del documento de investigación se organiza de la siguiente forma: En el capítulo 2 se presenta la revisión al estado del arte relacionado con el tema de investigación, presentando un amplio análisis de los índices de validación más citados en la literatura; en el capítulo 3 como primera etapa para el desarrollo de la tesis, se implementan los índices de validación interna y se integran a un algoritmo diseñado para obtener un índice confiable, esto quiere decir que se encuentra el mejor índice, capaz de predecir el mejor agrupamiento adecuado para una instancia de datos; en el capítulo 4 como segunda etapa del desarrollo de esta tesis, se valida la experimentación del algoritmo searching the best k (SK) y se presentan los resultados obtenidos al ser aplicado en diferentes pruebas experimentales, también se presenta un análisis comparado con otros métodos tradicionales para obtener el número de agrupaciones. Finalmente, en el capítulo 5 se presentan las conclusiones de la investigación, así como las propuestas para continuar con futuras investigaciones.

(24)

CAPÍTULO 2. REVISIÓN DEL ESTADO DEL ARTE

El análisis de clustering es una técnica que permite analizar un conjunto de datos para realizar particiones formando grupos homogéneos, cada uno de estos grupos es conocido con el nombre de clúster.

El objetivo del análisis de clustering es dividir un conjunto de datos en dos o más grupos, formados por objetos que sean lo más posible parecidos entre si y sean diferentes a los objetos de otro grupo de acuerdo con una medida de similitud (Cáceres, 1965).

Un objeto es un elemento representado por un conjunto de atributos, dimensiones o características. Se puede observar en la expresión (2.1), que cada elemento del vector representa una característica o dimensión diferente, las cuales pueden ir desde 1 a 𝑑 (Benítez, 2005).

𝑥 = [𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑑] (2.1) Las bases de datos contienen objetos que se pueden agrupar de forma matricial, cada uno de los objetos contiene el mismo número de características o dimensiones, véase en la expresión (2.2)

𝑥 = [𝑥1, 𝑥2, … , 𝑥𝑛] = (

𝑥11 𝑥12 … 𝑥21 𝑥22 … 𝑥𝑛1 𝑥𝑛2

𝑥1𝑑 𝑥2𝑑

𝑥𝑛𝑑) (2.2)

(25)

2.1 A

LGORITMOS DE

C

LUSTERING

Existen diferentes algoritmos de agrupamiento y se clasifican de acuerdo a la métrica que implementan para el agrupamiento de los objetos. Las dos principales categorías de los algoritmos de agrupamiento son los jerárquicos y los particionales A continuación, en la Figura 1, se muestra una breve descripción de la clasificación de los algoritmos de acuerdo con (Xu & Wunsch, 2005) (Berkhin, 2006).

Figura 1 Clasificación de los algoritmos de agrupamiento

Los métodos de agrupamiento jerárquicos se clasifican en aglomerativos y divisivos.

El agrupamiento aglomerativo inicia tomando todas las observaciones como grupos independientes y recursivamente une dos o más grupos. El agrupamiento divisivo inicia tomando a todas las observaciones como un solo clúster y recursivamente divide el clúster para obtener clústeres apropiados.

Los métodos de agrupamiento particionales asumen un conocimiento previo del número de clúster en el que debe ser dividido el conjunto de datos y obtienen un agrupamiento que satisface un criterio o una función objetivo (Pascual et al., 2007).

Estos algoritmos se basan en la reubicación de iterativa de datos entre los clústeres.

El objetivo es crear grupos de datos tales que contengan un alto grado de similitud dentro de cada grupo y un bajo grado de similitud entre los grupos (Morissette &

Chartier, 2013).

(26)

En el proceso de agrupamiento se emplean los términos de similitud y disimilitud, cuanto más se parecen dos objetos, mayor es su similitud, por lo tanto la disimilitud es menor (Jain & Dubes, 2010) y para el cálculo de la similitud y disimilitud se pueden utilizar diferentes métricas.

El algoritmo de agrupamiento k-means utiliza la distancia euclidiana para medir las similitudes entre los objetos (Singh, Yadav, & Rana, 2013).

Distancia euclidiana

Es la métrica más utilizada en la práctica, mide la distancia entre dos objetos (Zubeldia & Roman, 2018).

Se expresa de la siguiente forma (2.3)

‖𝑥 − 𝑦‖ = √∑ (𝑥𝑑𝑖=1 𝑖− 𝑦𝑖)2 (2.3) Donde 𝑥 y 𝑦 son los objetos de los cuales se tomará la distancia, 𝑖 es la dimensión del objeto 𝑥 o 𝑦, y 𝑑 es el número total de dimensiones.

2.3

K

-

MEANS

El algoritmo de agrupamiento k-means o k-medias fue propuesto por McQueen en 1967 citado en (Larrañaga & Inza, 2013). Este algoritmo lleva como nombre k- means debido a sus k números de clúster, este número es fijado con anticipación.

Cada uno de los clústeres están representados por un centroide y el centroide es representado por la media de los objetos definidos en cada clúster.

Debido a su facilidad de implementación y de interpretación de los resultados, el algoritmo k-means se ha mantenido como uno de los más populares y utilizados (Laurence Morissette, 2013). Es un algoritmo heurístico de mejora local que asigna un objeto a su centroide más cercano, hace el recalculo de centroides y resigna o mantiene a los objetos con el centroide más cercano, mejorando el agrupamiento de manera iterativa. El algoritmo converge cuando no se presenta intercambio de

(27)

objetos entre los grupos, pero una de las preguntas más importantes es ¿qué tan buena será la solución cuando el algoritmo se detenga?

Las fases del algoritmo se definen en la siguiente tabla.

Tabla 1 Fases del algoritmo k-means.

Fase 0:

Inicialización

Se eligen 𝑘 objetos como los centroides iniciales de los 𝑘 grupos. La selección de centroides aleatoria es la más utilizada.

Fase 1:

Clasificación

Los objetos son asignados al centroide más cercano utilizando una métrica de similitud.

Fase 2:

Actualización de centroides

En cada iteración el centroide es calculado con el valor de la media de todos los objetos pertenecientes a cada grupo con base en la partición actual

Fase 3:

Convergencia

La fase 1 y 2 se repiten sucesivamente hasta que:

 Se alcanza un número determinado de iteraciones

 Se minimiza una función objetivo, como por ejemplo las sumas de los errores al cuadrado, la varianza o la inercia

 No existe intercambio entre grupos

 Se mantienen os mismos centroides en 2 iteraciones sucesivas.

El objetivo de k-means es particionar 𝑛 número de objetos con 𝑑 número de dimensiones 𝑑 = 𝑖1, 𝑖2, … , 𝑖𝑛 formando 𝑘 número de grupos (𝑐1, 𝑐2, … , 𝑐𝑘), en dónde 𝑘 ≥ 2, cada objeto es asignado al centroide más cercano de acuerdo a una métrica de similitud.

La complejidad de este algoritmo k-means se define como 𝑂(𝑛𝑘𝑑𝑖) donde 𝑛 representa el número de objetos, 𝑘 el número de grupos, 𝑑 número de dimensiones

(28)

de los objetos e 𝑖 el número de iteraciones que necesita para converger (Elfadel, 2018).

A continuación, se describen las fases del algoritmo k-means (Zhang, 2013).

Inicialización

La primera fase del algoritmo k-means es la inicialización, en esta fase se define el valor de 𝑘 clústeres a formar por el algoritmo, se establece como el número de centroides que serán los representantes de cada grupo. El método aleatorio para la elección de los centroides iniciales es el más utilizado (Gonzalez, 2010).

Clasificación

En la fase de clasificación se asigna a cada objeto al centroide más cercano utilizando una métrica de similitud. En la práctica la métrica más utilizada es la distancia euclidiana.

Actualización de centroides

Una vez asignados los objetos al centroide más cercano, se calcula la nueva posición del centroide utilizando el valor de la media, como se observa en la siguiente expresión 2.4.

𝑛𝑒𝑤𝑞

=

𝑛𝑖=1𝑛 𝑐𝑖

(2.4)

Donde 𝑞 ∗ representa el nuevo centroide de un clúster, 𝑐𝑖 representa a un objeto perteneciente al clúster, 𝑛 es el número total de objetos en un clúster.

Convergencia

Para la fase de convergencia del algoritmo k-means, pueden ser implementados diferentes criterios de paro, por ejemplo, detener el algoritmo cuando se alcance un

(29)

cierto número de iteraciones, cuando los centroides no cambian después de 2 iteraciones consecutivas o cuando se cumpla la minimización de una función objetivo.

De acuerdo a la literatura especializada, en (Murtagh & Legendre, 2014) se definen 3 expresiones utilizadas como función objetivo, las cuales son:

a) Suma de los errores al cuadrado ∑𝑖𝜖𝑐𝑑2(𝑖, 𝑞) b) Varianza 1

|𝑐| ∑ 𝑑𝑖𝜖𝑐 2(𝑖, 𝑞) c) Inercia ∑𝑖𝜖𝑐𝑝(𝑖)𝑑2(𝑖, 𝑞)

Se denota a 𝑐 como clúster, 𝑞 como el centroide del clúster, 𝑖 como un objeto perteneciente a un clúster y 𝑑2 se refiere a la distancia euclidiana.

2.4 N

ÚMERO DE CLÚSTER

Determinar automáticamente el número de clúster, ha sido una de las tareas más difíciles del agrupamiento de datos, usualmente los algoritmos de agrupamiento son ejecutados con diferentes valores de 𝑘; el mejor valor de 𝑘 es seleccionado con base a diferentes criterios o funciones objetivo (Jain A. , 2010).

En la literatura se han propuesto diferentes métodos para determinar el número de clúster en el algoritmo de k-means (Kodinariya & Makwana, 2013).

A continuación, se describen métodos utilizados para la selección del número de clúster.

Por “regla general”

Es un método simple que puede aplicarse a todo tipo de datos (Salvador & Chan, 2004). Su expresión es la siguiente:

𝑘 = √𝑛 2 (2.5)

(30)

Donde 𝑛 representa al número total de objetos.

Método del codo

El método más antiguo para determinar el número de clúster es el método del codo, el cual utiliza una función objetivo para determinar el número de grupos. Este método pueda utilizar diferentes funciones objetivo (Kodinariya & Makwana, 2013), sin embargo, la más utilizada es la varianza. El objetivo es comenzar con un número de 𝑘 = 2 y continua incrementando su valor en 1.

En un rango probado de 𝑘 = 2 … 𝑛, se obtiene una gráfica en la cual se puede apreciar un cambio drástico en el valor de la varianza, obteniendo la forma de un codo (Bholowalia & Kumar, 2014).

Figura 2 Método del codo

Por ejemplo en la Figura 2 Método del codo, el valor de la varianza disminuye drásticamente cuando el número de clúster aumenta de 2 a 3 y de 3 a 4, después el valor de la varianza disminuye lentamente, por la tanto se puede concluir que la cantidad de clúster necesaria es 𝑘 = 3.

Un inconveniente de este método es que no siempre se puede identificar el valor de 𝑘

(31)

Método jerárquico

El método aglomerativo de varianza mínima de Ward, identifica la partición de los objetos en 𝑘 grupos en un dendograma, para utilizar este número de partición como la aproximación inicial para la partición de k-means (Murtagh & Legendre, 2014).

Validación de clustering

La validación de clustering es una técnica para encontrar el mejor agrupamiento en un grupo de objetos, utilizando índices de validación interna que bajo ciertos criterios con función a la distancia del agrupamiento, evalúan los resultados para determinar el mejor agrupamiento (Minho Kim, 2005).

2.5 V

ALIDACIÓN DE CLUSTERING

La validación de los resultados obtenidos por los algoritmos de agrupamiento es parte fundamental del proceso de agrupamiento. La validación de clústering tiene como objetivo medir la calidad del resultado de un algoritmo de agrupamiento, se usa frecuentemente para indicar la mejor selección posible de los parámetros del algoritmo como por ejemplo el número de clústeres.

Un buen agrupamiento es el que minimiza la distancia intra-clúster (cohesión) de un grupo y maximiza la distancia inter-clúster (separación) de un determinado número de grupos, de tal forma que los objetos de un mismo clúster sean lo más similares entre sí, así como éstos sean lo más diferentes posibles a los objetos de otro clúster (Chiang, Tsai, & Yang, 2011) (Berzal, 2015).

Para una mejor comprensión se muestra un ejemplo grafico en la Figura 3 Distancias inter e intra clúster.

(32)

Figura 3 Distancias inter e intra clúster.

Existen dos tipos de validación de clústering (Jain, 2010):

 Validación externa: Evalúa el agrupamiento basado en información previa de los datos, es decir, se debe conocer la partición correcta de los datos por lo cual, esta validación se utiliza en un contexto experimental.

 Validación interna: No requiere conocimiento previo de la partición correcta, consiste en estudiar los datos y la manera en la que se agrupan.

Existen dos criterios para la evaluación y la selección del mejor agrupamiento, que emplean los índices de validación interna (Rendón et al, 2011).

 Cohesión: Los miembros de cada grupo deben ser lo más cercanos entre sí.

 Separación: Los grupos deben estar ampliamente espaciados.

Para medir la cohesión y la separación de una agrupación, se describen dos enfoques diferentes. En la Figura 4 Medida de cohesión, se muestran dos maneras de obtener la distancia de los objetos pertenecientes a un mismo clúster:

 Sin uso de centroides: En el clúster A se observa que la distancia se calcula tomando en cuenta todos los objetos, sin tomar en cuenta el centroide del clúster.

(33)

 Usando centroides: En el clúster B se observa que la distancia se cálcula del centroide del clúster a cada uno de los objetos del mismo.

Ambos métodos tienen como objetivo medir la cohesión existente en un clúster, sin embargo, se obtendrán diferentes resultados de medida, a causa del enfoque utilizado.

Figura 4 Medida de cohesión

En la Figura 5,Figura 4 (Castañeda, 2019), se muestran diferentes formas de obtener la distancia entre dos clústeres diferentes

 Cuadro A se observa que la distancia de separación de los clústeres A y B es tomando en cuenta los objetos que conforman a cada clúster.

 Cuadro B se observa que la distancia de separación de los clústeres es tomada desde el centroide del clúster A al centroide del clúster B.

Ambos enfoques tienen como objetivo medir la separación existente entre diferentes clústeres, en consecuencia, se obtendrán diferentes resultados de medida, a causa del enfoque utilizado.

(34)

La validación de clustering emplea índices internos que se definen mediante la combinación de los criterios de cohesión y separación de un agrupamiento, estos índices obtienen un valor diferente para cada 𝑘 número de clúster.

Por otra parte, también considera dos tipos de proximidades:

1. Disimilitud: Evalúa la diferencia entre dos objetos.

2. Similitud: Evalúa la semejanza entre dos objetos.

A continuación, se describen algunos índices de validación encontrados en la literatura (Yanchi et al, 2010) (Arbelaitz et al, 2013):

 Root-means-square estándar deviation: Mide la homogeneidad de los clústeres formados utilizando la raíz cuadrada de la varianza muestral.

 R-squared: Mide el grado de diferencia entre los grupos utilizando la relación entre la suma de los errores al cuadrado entre los grupos y la suma total de cuadrados de todo el conjunto de datos.

 Calinski-Harabasz: La cohesión se estima en función de las distancias de los objetos en un grupo hasta su centroide. La separación se basa en la distancia de los centroides de un clúster a un centroide global.

 CS index: Estima la cohesión por los diámetros de un clúster y estima la separación utilizando la distancia del vecino más cercano.

 COP index: La cohesión se estima por la distancia desde los puntos en un grupo hasta su centroide y la separación se basa en la distancia vecina más lejana.

 SV-Index: Estima la separación por la distancia del vecino más cercano y la cohesión se basa en la distancia desde los puntos de borde en un grupo hasta su centroide.

 I-index: Mide la separación en función de la distancia máxima entre los centros de un agrupamiento y mide la cohesión en función de la suma de las

(35)

 Dunn-index: Combina las disimilitudes entre sus clústeres (distancia inter- clúster) y su diámetro (distancia intra-clúster) para estimar el número de clústeres más viable

 Davies-Bouldin: El concepto de dispersión de un clúster y la disimilaridad entre sus clústeres. Identifica grupos que están separados entre sí y son compactos.

 Silhoutte-index: El índice de Silhouette utiliza la diferencia de medias entre puntos para identificar la estructura de los datos y resaltar posibles agrupaciones.

 Score-Function: Se basa en la distancia inter-clúster e intra-clúster, combinando los términos

 Distancia dentro de la clase

 Distancia entre clase

Existe una gran cantidad de índices para la validación de clústering, sin embargo, los índices internos principales obtenidos por la literatura son los índices de Dunn, Davies Bouldin, Silhoutte index y Score Function (Saitta et al, 2007). Estos índices son los más citados y utilizados en la literatura especializada con enfoque en la validación de clustering. Son detallados en la siguiente sección.

Índice de Dunn

El objetivo es identificar si existen o no, clústeres compactos bien separados, esto quiere decir que la distancia entre los objetos de un mismo clúster debe ser la mínima posible y la distancia entre los clústeres debe ser la máxima posible. El índice de Dunn tiene un valor entre cero e infinito y debe ser lo más alto posible. Se define matemáticamente como se muestra en la expresión (2.6) (Dunn, 1973).

𝐷𝑢𝑛𝑛 =

𝑚𝑖𝑛 𝑖=1…𝑘

{min{𝑑𝑖𝑠𝑡(𝑐𝑖,𝑐𝑗)}}

𝑗=1…𝑘 𝑖≠𝑗

max 𝑑𝑖𝑎𝑚 (𝑐𝑚) (2.6)

(36)

Donde 𝑑𝑖𝑠𝑡(𝑐𝑖, 𝑐𝑗) es la función de disimilitud entre dos grupos y se define como se muestra en la expresión (2.7).

𝑑𝑖𝑠𝑡(𝑐

𝑖

, 𝑐

𝑗

) = 𝑚𝑖𝑛

𝑥∈𝑐𝑖,𝑦∈𝑐𝑗 (2.7) Donde 𝑥 representa un objeto perteneciente al clúster 𝑐𝑖, por otra parte, 𝑦 representa al objeto perteneciente al clúster 𝑐𝑗.

𝑑𝑖𝑎𝑚 (𝑐𝑚) es el diámetro de un grupo que puede considerarse como una medida de dispersión de los grupos y se define como se muestra en la expresión (2.8).

𝑑𝑖𝑎𝑚(𝑐

𝑚

) = 𝑚𝑎𝑥

𝑥,𝑦∈𝑐

(2.8) Si un agrupamiento contiene grupos compactos y bien separados, se espera que el valor de la distancia entre los grupos sea grande y valor del diámetro de los grupos sea pequeño, por lo tanto, el valor máximo encontrado para este índice, indica la presencia de grupos compactos bien separados.

En la Figura 6, se presenta un ejemplo de 3 clústeres para obtener la ecuación (2.7) del índice de Dunn. Cada clúster está conformado por 3 objetos.

(37)

Figura 6 Distancia inter-clúster

Para obtener la función de disimilitud entre dos grupos se aplica la siguiente secuencia:

1. Se obtiene la distancia mínima de todos los objetos 𝑥 del clúster 𝑐𝑖 a todos los objetos 𝑦 del clúster 𝑐𝑗, como se muestra en el Cuadro A.

2. Se repite el paso 1 obteniendo la distancia mínima del clúster ci al clúster ck como se muestra en el cuadro B.

3. Se repite el proceso de obtención de la mínima distancia del clúster cj al clúster ck como se muestra en el Cuadro C.

4. Una vez obtenidas las distancias mínimas de los objetos de los clústeres, se obtiene una sola distancia mínima de las mínimas distancias obtenidas anteriormente.

(38)

En la Figura 7 Distancia intra-clúster, se presenta un ejemplo para obtener la ecuación (2.8) del índice de Dunn

Figura 7 Distancia intra-clúster

Para obtener el diámetro de un grupo

1. Se obtiene la distancia máxima entre los objetos de un mismo clúster, para cada clúster 𝑐𝑖, 𝑐𝑗, 𝑐𝑘, se obtendrán 3 diferentes distancias máximas.

2. Una vez obtenidas todas las distancias máximas de los objetos de los clústeres (𝑐𝑖, 𝑐𝑗, 𝑐𝑘), se obtiene una sola distancia con el mayor valor de las distancias máximas obtenidas de los diferentes clústeres.

Índice de Davies-Bouldin

El objetivo de este índice es identificar clústeres que sean lejanos entre ellos y sean compactos, utilizando el concepto de dispersión de un clúster y la disimilaridad entre sus clústeres.

(39)

El valor de 𝑘 que minimice el valor del índice de Davies-Bouldin se considera el adecuado, ya que el objetivo es obtener clústeres con la mínima distancia intra- clúster (Davies & Bouldin, 1979).

La métrica usada para medir la similitud de los puntos será la distancia euclidiana definida como ‖𝑥 − 𝑦‖. El índice de Davies-Bouldin se define matemáticamente como (2.9).

𝐷𝐵 =

1𝑘

𝑗=1,…,𝑘 𝑖≠𝑗𝑚𝑎𝑥

{

𝑑𝑖𝑎𝑚(𝑐‖𝐶𝑖)+𝑑𝑖𝑎𝑚 (𝑐𝑗)

𝑖−𝐶𝑗

}

𝑘𝑖=1 (2.9)

Donde ‖𝐶𝑖 − 𝐶𝑗‖ es a la distancia de los centros de un clúster 𝑐𝑖 a un clúster 𝑐𝑗. El diámetro del clúster es definido como se muestra en la expresión (2.10).

𝑑𝑖𝑎𝑚 (𝐶

𝑖

) = (

1

𝑛𝑖

𝑥∈𝑐𝑖

‖𝑥 − 𝑍

𝑖

2

)

12 (2.10) Donde 𝑛𝑖 es el total de objetos en el clúster y 𝑍𝑖 es el centroide del clúster 𝐶𝑖

Para cálcular el diámetro del clúster DaviesB (ecuación 2.10), se sigue la secuencia que se muestra de la Figura 8 Diámetro del clúster DaviesB., en donde se muestran 3 clústeres los cuales están conformados cada uno con 3 objetos.

Figura 8 Diámetro del clúster DaviesB.

(40)

1. Se obtiene el valor de la distancia de los objetos 𝑥 a su centroide 𝑧𝑖 del clúster 𝑐𝑖.

2. Se obtiene el valor de la distancia de los objetos 𝑥 a su centroide 𝑧𝑖 del clúster 𝑐𝑗 y el clúster 𝑐𝑘.

3. La función ‖𝐶𝑖 − 𝐶𝑗‖ es la distancia euclidiana de los centros de los clústeres 𝑐𝑖 y 𝑐𝑗.

Índice de silhoutte

El índice de silhoutte es muy conocido en la estimación del número de clúster correcto para una partición. Este índice utiliza la diferencia de medias entre puntos para identificar la estructura de los datos y resaltar posibles agrupaciones.

El número de clúster 𝑘 que maximiza el valor de este índice se considera la partición valida (Rousseeuw, 1987).

El índice de silhoutte se define matemáticamente como se muestra en la expresión (2.11).

𝑆𝐼 =

1𝑛

max( 𝑎(𝑏𝑖 − 𝑎𝑖)

𝑖,𝑏𝑖)

𝑛𝑖=1 (2.11)

Donde

𝑎𝑖 = La distancia promedio de 𝑖 a todos los demás objetos del mismo clúster 𝐴.

𝑏𝑖 = 𝑚í𝑛𝑖𝑚𝑜

𝐶 ≠ 𝐴 𝑑(𝑖, 𝐶).

𝑑(𝑖, 𝐶) = La distancia promedio de 𝑖 a todos los objetos del clúster 𝐴.

𝑛 = Número de objetos.

En la Figura 9 Índice de Silhoutte, se muestra un ejemplo con la secuencia para obtener este índice.

(41)

Figura 9 Índice de Silhoutte

1. Se obtiene la distancia promedio de todos los objetos 𝑥 del clúster 𝐴 al objeto 𝑖.

2. Se obtiene la distancia promedio mínima del objeto 𝑖 a todos los objetos 𝑦 de otro clúster (𝐵, 𝐶).

3. Se obtiene la distancia máxima obtenida de las dos distancias anteriores.

Índice de Score Function

Este índice se basa en la distancia inter-clúster e intra-clúster, combinando ambos términos (Saitta, Benny , & Smith, 2007):

1. La distancia entre los clústeres: Between class distances (bcd):

2. La distancia dentro de un clúster: Within class distances (wcd)

El número de agrupaciones que maximice al valor del índice Score function se considera la correcta. Este índice está definido como la ecuación (2.12)

𝑆𝐹 = 1 −

1

𝑒𝑒𝑏𝑐𝑑−𝑤𝑐𝑑

(2.12)

(42)

𝑏𝑐𝑑 =

𝑘𝑖=1‖𝑧𝑖 − 𝑧𝑡𝑜𝑡‖ ∙ 𝑛𝑖

𝑛 ∙𝑘 (2.13)

Donde 𝑘 es el número de clústeres, 𝑍𝑖 el centroide del clúster, 𝑍𝑡𝑜𝑡 el centroide de todos los clústeres y 𝑛 como el número total de objetos dentro del clúster 𝑘.

En la Figura 10 Distancia entre los clústeres, se presenta un ejemplo para obtener la ecuación (2.13) del índice de Score Function

Figura 10 Distancia entre los clústeres

Para calcular la ecuación (2.13) se sigue la siguiente secuencia:

1. Se obtiene el valor de la media de todos los centroides para obtener un centroide total.

2. Una vez obtenido el centroide total, se toma la distancia existente entre el centro de un clúster al centroide total.

La distancia dentro de un clúster es definida como la ecuación (2.14).

𝑤𝑐𝑑 = ∑ (

1

𝑛𝑖

) ∑

𝑥 𝜖𝑐𝑖

‖𝑥 − 𝑧

𝑖

𝑘𝑖=1 (2.14)

(43)

Donde 𝑥 representa un objeto en el clúster 𝑐𝑖 y 𝑧𝑖 es el centroide, 𝑛𝑖 representa el número de objetos total por cada clúster 𝑐𝑖.

En la Figura 11 Distancia dentro de un clúster, se presenta un ejemplo para obtener la ecuación (2.14) del índice de Score Function

Figura 11 Distancia dentro de un clúster

1. Se obtiene la distancia de todos los objetos 𝑥 de un mismo clúster 𝑐𝑖 a su centroide 𝑧𝑖.

2.6.1CONCLUSIÓN DE LOS ÍNDICES DE VALIDACIÓN

En este capítulo se analizaron los índices de validación principales propuestos en la literatura, es importante saber que, cada índice de validación cuenta con diferentes enfoques para determinar el número apropiado de clúster.

Se detallan los principales índices propuestos en la literatura con los cuales, se realizará un análisis para determinar un índice confiable para evaluar la calidad de un agrupamiento.

(44)

CAPÍTULO 3 . MODELO Y

PROCESO DE SOLUCIÓN PRIMERA ETAPA

3.1 I

NTRODUCCIÓN

Debido a que el trabajo de investigación está enfocado en los índices de validación interna, el proceso inicia con el análisis de los índices más utilizados y las diferentes funciones objetivo con las que k-means converge. Este análisis permite seleccionar las mejores consideraciones para la primera etapa de esta investigación y poder cumplir con el objetivo propuesto.

La primera etapa de este trabajo consiste en diseñar e implementar un algoritmo para encontrar el índice de validación que mejor evalué la calidad de los resultados de agrupación. Los índices comparados en este algoritmo son los principales encontrados en la literatura:

1. Índice de Dunn

2. Índice de Davies Bouldin 3. Índice de Score Function 4. Índice de Silhoutte

(45)

3.2 C

ONSIDERACIONES PARA EL ALGORITMO K

-

MEANS

Para las fases del algoritmo k-means se toman en cuenta las fases descritas en la Tabla 2 (Zavala, 2018).

Tabla 2 Algoritmo k-means implementado

Fase 0:

Inicialización

Se eligen 𝑘 número de objetos aleatoriamente, estos objetos representan los centroides iniciales de cada grupo.

Fase 1:

Clasificación

Los objetos son asignados al centroide más cercano utilizando la distancia euclidiana.

Fase 2:

Actualización de centroides

En cada iteración el centroide es recalculado con el valor de la media de todos los objetos pertenecientes al grupo.

Fase 3:

Convergencia

La convergencia se basa en la función objetivo de inercia

∑ 𝑝(𝑖)𝑑𝑖𝜖𝑐 2(𝑖, 𝑞) (2.9). en donde la probabilidad es dada por:

𝑝(𝑖) = 𝑛𝑖 𝑁

Donde 𝑛𝑖 es el número de objetos que conforman el clúster i y 𝑁 es el número total de objetos del problema

Repitiendo las fases 1 y 2 hasta que no cambie el valor de inercia.

Se realizó una experimentación basada en las funciones objetivo para converger:

inercia, varianza y suma de los errores al cuadrado. Esta experimentación se diseñó con el objetivo de identificar la función objetivo que sea más sensible a los cambios de una agrupación.

Supongamos que se tiene un total de 20 objetos y se requieren 4 clúster, entonces 𝑘 = 4 y 𝑁 = 20.

(46)

Figura 12 Distribución de datos

En la Figura 12 Distribución de datos, se muestran 20 objetos distribuidos aleatoriamente en un plano de dos dimensiones. De manera experimental, el conjunto de datos se resolvió con 3 conjuntos de centroides iniciales distintos y por cada uno fueron calculadas las funciones objetivo que se muestran en la Tabla 3.

Tabla 3 Función objetivo

Convergencia

Sumas de los

errores Varianza Inercia

∑ ∑ 𝑑2(𝑖, 𝑞)

𝑖∈𝑞 𝑘

𝑖=1

1/|𝑞| ∑ 𝑑2(𝑖, 𝑞)

𝑖∈𝑞 ∑ 𝑝(𝑖)𝑑2(𝑖, 𝑞)

𝑖∈𝑞

Donde 𝑝(𝑖) = 𝑛𝑁𝑖

(47)

Figura 13 Resultado del conjunto de centroides 1 con k-means

En la Figura 13 Resultado del conjunto de centroides 1 con k-means, se muestra el agrupamiento final con el primero conjunto de centroides iniciales. En la Tabla 4 se muestran los valores de las funciones objetivo.

Tabla 4 Resultados agrupamiento 1 Clúster 1 Clúster 2 Clúster 3 Clúster 4

SSE 8.232231716 6.18600337 7.52303352 6.66385075 28.60511935

Varianza 1.64644634 1.23720067 1.5046067 1.33277015 5.721023869

Inercia 2.05805793 1.54650084 1.88075838 1.66596269 7.151279837

(48)

Figura 14 Resultado del conjunto de centroides 2 con k-means

En la Figura 14, se muestra el agrupamiento final con el segundo conjunto de centroides iniciales. En la Tabla 5, se muestran los valores de las funciones objetivo.

Tabla 5 Resultados agrupamiento 2

Clúster 1 Clúster 2 Clúster 3 Clúster 4

SSE 26.38197 2.236068 7.033242 4.32969 39.98097241 Varianza 2.638197 1.118034 1.75831 1.082422 6.596964146 Inercia 13.19099 0.223607 1.406648 0.865938 16.58160678

(49)

Figura 15 Resultado del conjunto de centroides 3 con k-means

En la Figura 15 Resultado del conjunto de centroides 3 con k-means, se muestra el agrupamiento final con el tercer conjunto de centroides iniciales. En la Tabla 6, se muestran los valores de las funciones objetivo.

Tabla 6 Resultados agrupamiento 3

Clúster 1 Clúster 2 Clúster 3 Clúster 4

SSE 26.38197 2.236068 3.819481 6.663851 39.10137283 Varianza 2.638197 1.118034 1.27316 1.33277 6.362161804 Inercia 13.19099 0.223607 0.572922 1.665963 15.65347815

Una vez obtenido los resultados de las convergencias en los tres diferentes agrupamientos, se analizan para determinar qué agrupamiento es el mejor recordando que el valor de las sumas de los errores, la varianza y la inercia debe ser lo menor posible.

(50)

Tabla 7 Mejor agrupamiento Función

objetivo

Agrupamiento

1 2 3

SSE 28.6051193 39.9809724 39.1013728

Varianza 5.72102387 6.59696415 6.3621618

Inercia 7.15127984 16.5816068 15.6534782

En la Tabla 7 Mejor agrupamiento, se observa que los valores mínimos de la suma de los errores, varianza e inercia, pertenecen a el agrupamiento número 1.

El criterio utilizado para seleccionar la inercia como convergencia en este proyecto de investigación se presenta en la Tabla 8 Comparación del valor de las convergencias.

Tabla 8 Comparación del valor de las convergencias Agrupamiento 1 Agrupamiento 2 Agrupamiento 3 Mejor agrupamiento Porcentaje de

Diferencia 1 - 2

Porcentaje de Diferencia 1 - 3

SSE 28% 27%

Varianza 13% 10%

Inercia 57% 54%

Porcentaje de Diferencia 2 -3

SSE 2%

Varianza 4%

Inercia 6%

En la Tabla 8 Comparación del valor de las convergencias, se presenta el valor de porcentaje de diferencia de los valores presentados en las tablas 4-6. Como se sabe que el mejor agrupamiento resultante es el número 1, se comparan sus resultados con los agrupamientos 2 y 3 calculando el porcentaje de diferencia por cada función objetivo, de manera que la inercia muestra el valor de porcentaje mayor con relación a la varianza y la suma de los errores. Con estos resultados se puede concluir que la inercia es más sensible a los cambios que presenta un agrupamiento. Por tanto,

(51)

la experimentación en este proyecto de tesis se realizó con base a esta función objetivo para el algoritmo k-means.

3.3 C

ONSIDERACIONES PARA LOS ÍNDICES DE VALIDACIÓN

Los índices de validación utilizan diferentes elementos para determinar el mejor agrupamiento de acuerdo a la cohesión y separación de los grupos, lo cual da como resultado que cada índice para un mismo agrupamiento dado pueda tener diferentes valores del número de agrupamiento.

Para elegir el mejor índice de validación y cumplir el objetivo propuesto en esta investigación se siguieron las fases que se presentan en la Tabla 9 Fases etapa 1

“Algoritmo índices de validación”.

Tabla 9 Fases etapa 1 “Algoritmo índices de validación”

Fase 0 Identificar y seleccionar los principales índices de validación

Fase 1 Diseñar e implementar el algoritmo para determinar el índice para la selección del mejor agrupamiento

Fase 2 Diseñar la experimentación Fase 3 Validar resultados

Fase 4 Seleccionar el índice de validación

(52)

3.3 P

ROCESO DE SOLUCIÓN

Una vez establecidas las consideraciones anteriores se llevó a cabo el proceso de solución diseñando e implementado un algoritmo, se muestra el diseño de alto nivel del algoritmo realizado en la Figura 16 Algoritmo índices de validación. Este diseño es una simple manera de representar el comportamiento de un sistema (Humphrey, 1995).

Figura 16 Algoritmo índices de validación

En la Figura 16, se muestra el diseño del proceso del algoritmo índices de validación, con este algoritmo se espera obtener un índice confiable para la elección del mejor agrupamiento adecuado.

(53)

En la Figura 17, se presente el pseudocódigo utilizado para la realización del algoritmo índices de validación.

Figura 17 Pseudocódigo índices de validación

 Comienza con un valor de 𝑘, seleccionado por el usuario

 Realiza un ciclo de 30 iteraciones del algoritmo k-means

 En cada iteración se calculan los índices de validación

3.4 E

XPERIMENTACIÓN 3.4.1DISEÑO DE PRUEBAS

La experimentación se realizó con base al artículo “A Bounded Index for Cluster Validity” (Saitta et al, 2007) en el cual se diseña una serie de instancias que presentan estructuras de clústeres distintas, estas instancias son presentadas en el apartado 3.5 Resultados.

Para la experimentación, se crearon instancias con 1,000 objetos aleatorios en dos dimensiones.

(54)

El algoritmo índices de validación es ejecutado 30 veces por cada valor de 𝑘, donde 𝑘 ≥ 2.

Es decir:

𝑘 = 2

30 ejecuciones del algoritmo k-means 𝑘 = 3

𝑘 = 4

Esto con la finalidad de explorar el espacio de solución ya que los centroides iniciales son seleccionados aleatoriamente.

Se comienza con una 𝑘 = 2 la cual aumenta en uno hasta 𝑘 = 15 con base al artículo “A Bounded Index for Cluster Validity” (Saitta et al, 2007), con la finalidad de observar el comportamiento de los índices de validación. Los índices de validación seleccionados son los principales propuestos en la literatura:

1. Índice de Dunn

2. Índice de Davies Bouldin 3. Índice de Score Function 4. Índice de Silhoutte

Una vez que el algoritmo converge con la inercia como se estableció en las consideraciones del algoritmo k-means, se prueban los índices de validación interna, recordando que, para cada uno el valor de la partición correcta es diferente.

A continuación, en la tabla 10 se muestran los valores óptimos de los índices principales, así como el valor de la inercia.

Tabla 10 Función objetivo / índices

Función objetivo Valor

Inercia Valor mínimo obtenido

Índice Valor

(55)

Índice de Davies Bouldin Valor mínimo obtenido Índice de Score Function Valor máximo obtenido Índice de Silhoutte Valor máximo obtenido

3.5 R

ESULTADOS

De acuerdo con el diseño experimental y el proceso de solución planteado para encontrar el índice de validación que mejor determine el número correcto de clúster se realizaron las pruebas descritas en las Tablas 11, 13, 15 y 17 y en lo que sigue del documento se explican los resultados obtenidos.

Instancia Prueba 1 Tabla 11 Prueba 1

Consideraciones

𝑛 = 1,000 1,000 objetos generados con valores aleatorios entre 0 y 100

𝑑 = 2 Con valores aleatorios entre 0 y 100

2 ≤ 𝑘 ≤ 15 Comienza con un valor de 𝑘 = 2 y aumenta en 1 hasta 𝑘 = 15

𝐸𝑗𝑒𝑐𝑢𝑐𝑖𝑜𝑛𝑒𝑠 = 30 Para cada valor de 𝑘 el algoritmo se ejecuta 30 y se selecciona la mejor partición de los 30 resultados obtenidos.

Número óptimo 𝒌 = 𝟓 Rango de valores Número de

clúster

Número de objetos

Valor de 𝒙 Valor de 𝒚

1 200 0 – 33.3 0 – 33.3

2 200 66.6 – 100 0 – 33.3

(56)

3 200 33.3 – 66.6 33.3 – 66.6

4 200 0 – 33.3 66.6 – 100

5 200 66.6 – 100 66.6 – 100

En la Figura 18 Diseño de Prueba 1, se muestra el bosquejo de la prueba 1

Figura 18 Diseño de Prueba 1

Resultados Prueba 1

Tabla 12 Resultados Prueba 1

Valor de k Davies

Bouldin Dunn Score

Function Silhoutte

2 1.19698 0.03926 0.45168 0.47864

3 0.78869 0.04927 0.45368 0.34821

4 0.68574 0.08402 0.43057 0.40437

5 0.60107 0.12577 0.43054 0.45423

6 0.81588 0.13428 0.40607 0.54831

7 0.86715 0.1456 0.39345 0.56941

8 0.94736 0.15107 0.37092 0.58836

9 0.85474 0.16018 0.35606 0.64108

10 0.86281 0.16451 0.34804 0.60758

(57)

11 0.92649 0.07233 0.32855 0.63519 12 0.92347 0.07522 0.31887 0.62821 13 0.93624 0.07177 0.30607 0.67497 14 0.91273 0.17435 0.29897 0.65742 15 0.93534 0.06326 0.28673 0.65995

En la Tabla 12 Resultados Prueba 1, se presentan los resultados obtenidos por el algoritmo índices de validación, el valor mejor valor de cada índice de acuerdo a la Tabla 10, es subrayado en color amarillo. Como se observa el número de partición es diferente para cada índice de validación, en la Figura 19 se muestra el comportamiento del índice DB.

Figura 19 Índice de Davies B. Prueba 1

Como se observa en la tabla 12 y figura 18, el índice de Davies Bouldin obtiene la partición correcta cuando 𝑘 = 5, dando el resultado de la mejor partición para la instancia prueba 1.

(58)

En la Figura 20 se muestra la agrupación resultante del índice de Davies Bouldin

Figura 20 Agrupamiento Davies B. prueba

De acuerdo con los resultados obtenidos se puede concluir que el índice de Davies Bouldin obtiene el número de agrupaciones correcto.

Referencias

Documento similar

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la