kmeans clusters

24
K-Means Integrantes Natalia Merino (85828) Gastón Sabatelli (85523) M. Florencia Pereira (88816)

Upload: estudiante-sin-vida

Post on 04-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Cluster de kmeans imágenes

TRANSCRIPT

Page 1: KMeans clusters

K-Means

IntegrantesNatalia Merino (85828)

Gastón Sabatelli (85523)M. Florencia Pereira (88816)

Page 2: KMeans clusters

Introducción al problemaK-Means resuelve un problema de clustering, que consisteen:

Se tiene un conjunto de datos u observaciones (x1, x2, …, xn) donde cada dato representa un vector de n variables.

Se desea particionar las observaciones en k grupos.Se elige para cada grupo un centro o “media” y se ubica

cada observación en el grupo cuya media sea más cercana.

Page 3: KMeans clusters

Introducción al problema (cont.)Para medir la cercanía se utiliza la norma euclídea y se busca

minimizar la siguiente función:

donde μi es la media de la partición Si (un grupo).

Page 4: KMeans clusters

Características del algoritmo Es un problema NP-hard aún para k=2.

Un problema es NP-hard si puede resolverse mediante un algoritmo que pueda ser traducido a otro que resuelve un problema NP.

Los problemas clasificados como NP son “por lo menos” tan complejos como los que pueden resolverse mediante una máquina de Turing en tiempo polinómico.

Complejidad n = numero de puntos, k = numero de clusters, I = numero iteraciones, d = numero de atributos

Si fijamos los parametros n, k, d, I, la complejidad es:

O( n * k * I * d )

Page 5: KMeans clusters

Características del algoritmo (cont.)Siempre se tienen K clusters.Siempre hay por lo menos un objeto en cada cluster.Método no supervisado de aprendizajeLos objetos deberán poder representarse mediante

atributos numéricos.Los clusters son mutuamente expluyentes. Los objetos

pertenecientes a un cluster están lo más cerca posible entre sí y lo más lejos posible de los elementos de otros clusters.

Page 6: KMeans clusters

1. Se eligen arbitrariamente k centros o medias, una por cada partición. En la práctica usualmente se eligen en forma aleatoria.

2. Paso de asignación: se asignan las observaciones a la partición cuyo centro sea más cercano.

3. Paso de actualización: se calculan cuales son los nuevos centros de cada partición. El centro representaría el “centro de masa” o “el promedio” de todas las observaciones que pertenecen a esa partición.

4. Se repiten los pasos 2 y 3 hasta que no haya más movimientos en las particiones (entonces se dice que el algoritmo converge).

Algoritmo

Page 7: KMeans clusters

Análisis gráfico

1) Se eligen k medias iniciales (en este caso k=3) en forma aleatoria .

2) Se crean k clusters asociando cada observación con la media que más se le acerca.

Page 8: KMeans clusters

Análisis gráfico (cont.)

3) Se recalculan las medias de cada cluster en función de las observaciones asociadas a cada uno.

4) Se repiten los pasos 2 y 3 hasta que no se produzcan movimientos de observaciones.

Page 9: KMeans clusters

Ejemplo numérico (I)Se tiene 4 tipos de remedios que se desean agrupar en k=2 clusters, considerando 2 atributos que son: peso y PH.

Remedio atributo 1 (X): peso Atributo 2 (Y): pH

Remedio A 1 1

Remedio B 2 1

Remedio C 4 3

Remedio D 5 4

Page 10: KMeans clusters

Ejemplo numérico (II)Iteración 0:Inicialmente elegimos como centros a los remedios A y B.

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

Iteración 0

Peso

pH

Page 11: KMeans clusters

Ejemplo numérico (III)Iteración 0:Calculamos la distancia de cada centro a cada remedio, usando la distancia Euclídea.

C1C2

A B C D

Asignamos a cada remedio un cluster. Para A el cluster 1, para B el cluster 2, para C el cluster 2 y para D el cluster 2.

Page 12: KMeans clusters

Ejemplo numérico (IV)Iteración 1:Obtenemos los nuevos centros.El cluster 1 solo tiene un miembro, el remedio A.El cluster 2 tiene 3 miembros, el nuevo centroide es el promedio de sus coordenadas.

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

Iteración 1

Peso

pH

Page 13: KMeans clusters

Ejemplo numérico (V)Iteración 1:Calculamos la distancia de cada centro a cada remedio, usando la distancia Euclídea.

C1C2

A B C D

Asignamos a cada remedio un cluster. Para A el cluster 1, para B el cluster 1, para C el cluster 2 y para D el cluster 2.

Page 14: KMeans clusters

Ejemplo numérico (VI)Iteración 2:Obtenemos los nuevos centros.

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.50

0.51

1.52

2.53

3.54

4.5

Iteración 2

Peso

PH

Page 15: KMeans clusters

Ejemplo numérico (VII)Iteración 2:Calculamos la distancia de cada centro a cada remedio, usando la distancia Euclídea.

C1C2

A B C D

Asignamos a cada remedio un cluster. Para A el cluster 1, para B el cluster 1, para C el cluster 2 y para D el cluster 2.Al no haber cambios ya no se necesitan más iteraciones.

Page 16: KMeans clusters

Resultado

Remedio Peso pH ClusterRemedio A 1 1 1 Remedio B 2 1 1 Remedio C 4 3 2 Remedio D 5 4 2

Page 17: KMeans clusters

VentajasEs un algoritmo sencillo y rápido.Fácil de implementar. Por esta razón, la mayoría de las

herramientas de Data Mining incluyen al algoritmo.Es práctico si no se tiene un gran número de

observaciones.La forma clásica de implementación de Kmeans es

usando la distancia Euclídea, sin embargo la misma metodología funciona bien con otro tipo de distancias.

Page 18: KMeans clusters

DesventajasEl resultado del algoritmo es muy sensible a la configuración

inicial de los agrupamientos, es decir cómo se asignaron los centros inicialmente.

La necesidad de definir la cantidad de particiones de antemano, ya que la elección de un k inadecuado puede derivar en un resultado lejano al óptimo.

Posibilidad de que se presenten óptimos locales al asignar los centros, es decir que la partición sea óptima en la forma que minimiza las distancias dentro de cada grupo pero no a nivel total (no tiende a obtener mínimos globales).

Imposibilidad de trabajar con datos categóricos.

Page 19: KMeans clusters

Desventajas (cont.)Muy sensible a datos anómalos.No funciona bien si los grupos son de distinto tamaño y

densidad o no convexos.

Page 20: KMeans clusters

Variaciones del algoritmoExisten varios algoritmos como por ejemplo GRASP

[Greedy Randomized Adaptive Search Procedure] que utilizan heurísticas tales como Ant Colony para evitar óptimos locales.

k-Modes (Huang’1998) utiliza modas en vez de medias (para poder trabajar con atributos de tipo categórico).

k-Medoids utiliza medianas en vez de medias para limitar la influencia de los observaciones distantes del resto.

Page 21: KMeans clusters

Ejemplo en WEKA

Page 23: KMeans clusters

¿Preguntas?

Page 24: KMeans clusters

Gracias