kmeans clusters

Post on 04-Jan-2016

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Cluster de kmeans imágenes

TRANSCRIPT

K-Means

IntegrantesNatalia Merino (85828)

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

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.

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).

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 )

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.

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

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.

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.

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

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

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.

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

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.

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

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.

Resultado

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

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.

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.

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

densidad o no convexos.

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.

Ejemplo en WEKA

¿Preguntas?

Gracias

top related