Post on 26-Jan-2015
K-Means
IntegrantesNatalia Merino (85828)
Gastón Sabatelli (85523)M. Florencia Pereira (88816)
El algoritmo en el contexto
Supervisado
Técnicas de Data Mining
No Supervisado
ClusteringReglas de asociación
Jerárquico Particionado
K-Means SOM
Agrupación en conjuntos
con propiedades
comunes Es necesario especificar el
número Inicial de clusters
No existen clases
predefinidas
Utiliza como medida de similitud la
distancia de los objetos a cada
centroide (media)
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 algoritmoSiempre se tienen K clusters predefinidos.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.
Método particionado
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
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
A B
C
D
C1 C2
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 C1, para B el C2, para C el C2 y para D el C2.
Ejemplo numérico (IV)Iteración 1:Obtenemos los nuevos centros.El C1 solo tiene un miembro, el remedio A.El C2 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 A B
C
D
C1
C2
Ejemplo numérico (V)Iteración 1:Calculamos la distancia de cada centro a cada remedio, usando la distancia Euclídea.
Asignamos a cada remedio un cluster. Para A el C1, para B el C1, para C el C2 y para D el C2.
C1C2
A B C D
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
A
C1
B
D
C
C2
Ejemplo numérico (VII)Iteración 2:Calculamos la distancia de cada centro a cada remedio, usando la distancia Euclídea.
Asignamos a cada remedio un cluster. Para A el C1, para B el C1, para C el C2 y para D el C2.Al no haber cambios ya no se necesitan más iteraciones.
C1C2
A B C D
Resultado
Remedio Peso pH Cluster N°Remedio A 1 1 1 Remedio B 2 1 1 Remedio C 4 3 2 Remedio D 5 4 2
VentajasEs un algoritmo sencillo y computacionalmente 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. En cada ejecución podría generar resultados muy variados dependiendo de esta elección inicial.
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).
Muchas veces es necesario realizar sucesivas ocasiones para obtener un resultado mas óptimo.
Desventajas (cont.)Es susceptible a valores extremos porque distorsionan la
distribución de los datos. 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
Bibliografíahttp://elvex.ugr.es/decsai/intelligent/slides/dm/D3%20Cl
ustering.pdfhttp://home.dei.polimi.it/matteucc/Clustering/tutorial_h
tml/kmeans.htmlhttp://maya.cs.depaul.edu/classes/ect584/weka/k-mean
s.html
¿Preguntas?
Gracias