You are on page 1of 63

Clustering

Fernando Berzal, berzal@acm.org

Clustering
Introduccin Medidas de similitud
Para atributos continuos: Mtricas de distancia. Para atributos no continuos, p.ej. distancia de edicin.

Mtodos de agrupamiento K-Means DBSCAN Clustering jerrquico Evaluacin de resultados Validacin de resultados Apndice: El problema de la dimensionalidad
1

Introduccin
Sinnimos segn el contexto Clustering (IA) Aprendizaje no supervisado (IA) Ordenacin (Psicologa) Segmentacin (Marketing)
2

Introduccin
Objetivo Encontrar agrupamientos de tal forma que los objetos de un grupo sean similares entre s y diferentes de los objetos de otros grupos [clusters].
Minimizar distancia intra-cluster Maximizar distancia inter-cluster

Introduccin
Aprendizaje no supervisado: No existen clases predefinidas. Los resultados obtenidos dependern de: El algoritmo de agrupamiento seleccionado. El conjunto de datos disponible. La medida de similitud utilizada para comparar objetos (usualmente, definida como medida de distancia).
4

Introduccin

Cuntos agrupamientos?

Dos?

Seis?

Cuatro?
5

Introduccin
Aplicaciones Reconocimiento de formas. Mapas temticos (GIS) Marketing: Segmentacin de clientes Clasificacin de documentos Anlisis de web logs (patrones de acceso similares) Tambin se usa como paso previo a otras tcnicas de Minera de Datos: Exploracin de datos (segmentacin & outliers) outliers) Preprocesamiento (p.ej. reduccin de datos)

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

Mujeres vs. Hombres


7

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

Simpsons vs. Empleados de la escuela de Springfield

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

El clustering es subjetivo !!!


9

Medidas de similitud

Peter

Pedro

0.23 3

342.7

10

Medidas de similitud
id 121 122 sexo Mujer Mujer Mujer Mujer Hombre Hombre Hombre Mujer Hombre Hombre Hombre Hombre Hombre fechnac 6-ago-1936 26-sep-1965 24-abr-1949 29-may-1963 6-ago-1956 21-ene-1951 1-sep-1950 25-jul-1946 18-jul-1959 6-sep-1958 8-feb-1962 17-may-1953 12-sep-1959 educ 15 15 12 16 12 15 12 12 17 20 15 12 15 catlab Administrativo Administrativo Administrativo Administrativo Administrativo Seguridad Seguridad Administrativo Directivo Directivo Administrativo Administrativo Administrativo salario $18.750 $32.550 $33.300 $38.550 $27.450 $24.300 $30.750 $19.650 $68.750 $59.375 $31.500 $27.300 $27.000 salini $10.500 $13.500 $15.000 $16.500 $15.000 $15.000 $15.000 $9.750 $27.510 $30.000 $15.750 $17.250 $15.750 T.emp 90 90 90 90 90 90 90 90 89 89 89 89 89 expprev 54 22 3 Ausente 173 191 209 229 38 6 22 175 87 minora No No No No S S S S No No No No No

Grupo 1

123 124 125

Grupo 2

126 127 128

Grupo 3

129 130 131 132 133

NOTA: No ser posible que todas las variables tengan valores similares en un mismo grupo, por lo que habr que usar una medida global de semejanza entre los elementos de un mismo grupo.

11

Medidas de similitud
id 121 122 123 124 125 126 sexo Mujer Mujer Mujer Mujer Hombre Hombre fechnac 6-ago-1936 26-sep-1965 24-abr-1949 29-may-1963 6-ago-1956 21-ene-1951 educ 15 15 12 16 12 15 catlab Administrativo Administrativo Administrativo Administrativo Administrativo Seguridad salario $18.750 $32.550 $33.300 $38.550 $27.450 $24.300 salini $10.500 $13.500 $15.000 $16.500 $15.000 $15.000 T.emp 90 90 90 90 90 90 expprev 54 22 3 Ausente 173 191 minora No No No No S S S S No No No No No

A la hora de calcular la entre dos 90 objetos: 127 Hombre 1-sep-1950 12 similitud Seguridad $30.750 $15.000 209
128 129 130 Mujer Hombre Hombre 25-jul-1946 18-jul-1959 6-sep-1958 12 17 20 Administrativo Directivo Directivo $19.650 $68.750 $59.375 $9.750 $27.510 $30.000 90 89 89 229 38 6

No tienen por qu utilizarse todos los atributos 131 Hombre 8-feb-1962 15 Administrativo $31.500 $15.750 89 22 disponibles en nuestro conjunto de datos. 132 Hombre 17-may-1953 12 Administrativo $27.300 $17.250 89 175
133 Hombre 12-sep-1959 15 Administrativo $27.000 $15.750 89 87

Hay que tener cuidado con las magnitudes de cada variable.

12

Medidas de similitud
Atributos continuos Para evitar que unas variables dominen sobre otras, los valores de los atributos se normalizan a priori: Desviacin absoluta media:

sf = 1 n (| x1 f m f | + | x2 f m f | +...+ | xnf m f |)

mf = 1 n (x1 f + x2 f

+ ... +

xnf )

z-score (medida estandarizada):

xif m f zif = sf

13

Medidas de similitud
Usualmente, se expresan en trminos de distancias: d(i,j d(i,j) ) > d(i,k d(i,k) ) nos indica que el objeto i es ms parecido a k que a j

La definicin de la mtrica de similitud/distancia ser distinta en funcin del tipo de dato y de la interpretacin semntica que nosotros hagamos.
14

Medidas de similitud
Se suelen usar medidas de distancia porque verifican las siguientes propiedades: Propiedad reflexiva Propiedad simtrica d( d(i,j i,j) ) = 0 si y slo si i=j d( d(i,j i,j) ) = d(j,i d(j,i) )

Desigualdad triangular d(i,j d(i,j) ) d(i,k d(i,k)+d( )+d(k,j k,j) )

15

Medidas de similitud
Mtricas de distancia: Distancia de Minkowski

Distancia de Manhattan (r=1) / city block / taxicab

Distancia eucldea (r=2):

Distancia de Chebyshev (r) / dominio / chessboard


16

Medidas de similitud
Mtricas de distancia: Distancia de Minkowski

Distancia de Manhattan = 12 Distancia eucldea 8.5 Distancia de Chebyshev = 6

(roja, azul o amarilla) (verde - continua) (verde - discreta) 17

Medidas de similitud
Mtricas de distancia: Distancia de Chebyshev

Tambin conocida como distancia de tablero de ajedrez (chessboard distance distance): ): Nmero de movimientos que el rey ha de hacer para llegar de una casilla a otra en un tablero de ajedrez.

18

Medidas de similitud
Mtricas de distancia: Distancia de Mahalanobis

Considera las correlaciones entre variables. No depende de la escala de medida.


19

Medidas de similitud
Mtricas de distancia para atributos no continuos: Distancia de edicin = Distancia de Levenshtein
Nmero de operaciones necesario para transformar una cadena en otra. d(data mining, mining, data minino) = 1 d(efecto, defecto) = 1 d(poda, boda) = 1 d( d(night,natch night,natch) ) = d(natch,noche d(natch,noche) ) = 3 Aplicaciones: Correctores ortogrficos, reconocimiento de voz, deteccin de plagios, anlisis de ADN

Para datos binarios: Distancia de Hamming

20

Medidas de similitud
Mtricas de similitud para atributos no continuos: Modelos basados en Teora de Conjuntos Modelo de Tversky

Modelo de Restle

Interseccin
21

Medidas de similitud
Mtricas de similitud para atributos no continuos: Modelos basados en Teora de Conjuntos Modelo proporcional

Modelo de Gregson = Coeficiente de Jaccard

Distancia de Tanimoto
22

Medidas de similitud
Otras medidas de similitud: Vecinos compartidos

Mutual Neighbor Distance Distance

donde NN(x NN(xi,xj) es el nmero de vecino de xj con respecto a xi


23

Medidas de similitud
Otras medidas de similitud: Medidas de correlacin Producto escalar

Cosine similarity similarity

Coeficiente de Tanimoto
24

Mtodos de agrupamiento
Tipos de algoritmos de clustering: clustering: Agrupamiento por particiones k-Means Means, , CLARANS Mtodos basados en densidad DBSCAN Clustering jerrquico BIRCH, ROCK, CHAMELEON
25

Mtodos de agrupamiento
Clustering por particiones (suele fijarse k) k=2

Clustering jerrquico (no se fija k) ...

Se obtiene como resultado final un conjunto de agrupamientos.

26

k-Means
Algoritmo de agrupamiento por particiones. Nmero de clusters conocido (k). Cada cluster tiene asociado un centroide (centro geomtrico del cluster cluster). ). Los puntos se asignan al cluster cuyo centroide est ms cerca (utilizando cualquier mtrica de distancia). Iterativamente, se van actualizando los centroides en funcin de las asignaciones de puntos a clusters, clusters, hasta que los centroides dejen de cambiar.

27

k-Means
Iteration 6 1 2 3 4 5
3 2.5

1.5

y
1 0.5 0 -2

-1.5

-1

-0.5

0.5

1.5

28

k-Means
Iteration 1
3 3 2.5 2.5

Iteration 2
3 2.5

Iteration 3

1.5

1.5

1.5

y
1 0.5 0 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

0.5 0

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

Iteration 4
3 3 2.5 2.5

Iteration 5
3 2.5

Iteration 6

1.5

1.5

1.5

y
1 0.5 0 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

0.5 0

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

29

k-Means
Inicializacin Escoger k centroides aleatoriamente (hay mtodos ms sofisticados). Formar k grupos, asignando cada punto al centroide ms cercano Proceso iterativo Mientras que los centroides cambien: Calcular las distancias de todos los puntos a los k centroides. centroides. Formar k grupos, asignando cada punto al centroide ms cercano. Recalcular los nuevos centroides. centroides.

30

k-Means
Complejidad n k I d = = = = nmero nmero nmero nmero de puntos, de clusters, clusters, iteraciones, de atributos

Problema NP si k no se fija. Ahora bien, si fijamos los parmetros n, k, d, I: O( n * k * I * d )

31

k-Means
Cmo se recalculan los centroides? centroides? Partiendo de k grupos de puntos, cada grupo determinar un nuevo centroide mi. Se elige una medida global (funcin objetivo)
K

SSE = d 2 (mi , x)
i =1 xCi

m2 m1 C2 C1
32

Se escogen los valores de mi que minimizan dicha funcin.

k-Means
Cmo se recalculan los centroides? centroides?
K

SSE = d 2 (mi , x)
i =1 xCi

Cuando se utiliza la distancia eucldea, eucldea, SSE se minimiza usando la media aritmtica (por cada atributo o variable)
xa xb xc m1 = = = = (0.4, (0.3, (0.3, (0.33, 0.6, 0.2, 0.2, 0.33, 0.6, 0.1, 0.2, 0.3, 0.7) 0.4) 0.4) 0.5)

Cuando se emplea la distancia de Manhattan, SSE se minimiza usando la mediana. La media funciona bien con muchas distancias (por ejemplo, cualquier divergencia de Bregman). Bregman).

33

k-Means
Estrategia de control en la bsqueda: Ascensin de colinas por la mxima pendiente Despus de cada iteracin, no se recuerda el estado para volver atrs y probar otros posibles centroides. centroides.
Grafo implcito
(slo se guarda el ltimo nodo) Conjunto de clusters obtenido tras la iteracin 1

Otros posibles conjuntos de clusters no explorados

Conjunto de clusters obtenido tras la iteracin t

La funcin objetivo no se mejora FIN

34

k-Means
Ejercicio
Agrupar los 8 puntos de la figura en 3 clusters usando el algoritmo de las K medias. Centroides iniciales: A1, A7 y A8 Mtricas de distancia: Distancia eucldea. eucldea. Distancia de Manhattan. Distancia de Chebyshev. Chebyshev.
35

k-Means
Ejercicio resuelto Distancia eucldea

36

k-Means
Ejercicio resuelto Distancia eucldea

Primera iteracin

Segunda iteracin
37

k-Means
Ejercicio resuelto Distancia eucldea

Tercera iteracin

Configuracin final
38

k-Means

DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html 39

Evaluacin de resultados
Maximizar distancia inter-cluster (separacin)

Minimizar distancia intra-cluster (cohesin)

40

Evaluacin de resultados
Formas de medir cohesin y separacin: Sin usar centroides: centroides:

Usando centroides: centroides:

41

Evaluacin de resultados
Cuando la distancia utilizada es la distancia eucldea: eucldea:
1.

El uso de centroides no influye al medir la cohesin:

dist 2 (mi , x) =
xCi

1 2(# Ci ) xCi
K i =1

dist
yCi

( x, y )
2

K
2

SSE = dist (mi , x) =


i =1 xCi

1 2(# Ci ) xCi

dist
yCi

( x, y )

2.

Minimizar cohesin y maximizar separacin son equivalentes.


42

Evaluacin de resultados
As pues, cuando se usa la distancia eucldea, eucldea, SSE es una buena medida del grado de ajuste (cohesin y separacin) de los centroides hallados.
K

SSE = d 2 (mi , x)
i =1 xCi

Por otro lado, ya sabamos que, en cada iteracin del algoritmo de las kk-medias, se maximizaba SSE al calcular los centroides usando la media aritmtica. Garantiza lo anterior que los centroides finales sean los que minimicen SSE globalmente? NO
43

Evaluacin de resultados
Cuando usamos la distancia eucldea, eucldea, el centroide determinado en cada iteracin por el vector de medias garantiza la mejor solucin con respecto a SSE, pero considerando: un valor de k fijo, y los centroides dados por la iteracin anterior. La solucin final no ser la ptima: El algoritmo de las k medias no garantiza que los centroides finales obtenidos sean los que minimizan globalmente la funcin objetivo SSE.
44

Evaluacin de resultados

2.5

2.5

1.5

1.5

y
1
1

0.5 0

0.5 0

-2

- 1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

Solucin ptima

Posible resultado proporcionado por k-means ptimo local

45

Evaluacin de resultados
Iteration 5 1 2 3 4
3 2.5

1.5

y
1 0.5 0 -2

-1.5

-1

-0.5

0.5

1.5

46

Evaluacin de resultados
Iteration 1
3 3 2.5 2.5

Iteration 2

1.5

1.5

y
1 0.5 0 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

-1.5

-1

-0.5

0.5

1.5

Iteration 3
3 3 2.5 2.5

Iteration 4
3 2.5

Iteration 5

1.5

1.5

1.5

y
1 0.5 0 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

0.5 0

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

47

Evaluacin de resultados
Matriz de similitud Ordenamos los datos en la matriz de similitud con respecto a los clusters en los que quedan los datos e inspeccionamos visualmente
1 0.9 0.8 0.7

C1

10

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100Similarity

C1
Points

20 30 40

0.6 0.5 0.4 0.3 0.2 0.1 0 0

C2 C2
0.2 0.4 0.6

50 60 70

C3
0.8 1

C3

80 90 100

Points

C1

C2

C3

48

Evaluacin de resultados
Problema Incluso en datos aleatorios, si nos empeamos, encontramos clusters clusters: : DBSCAN (arriba) y k-Means (abajo)
1 0.9
1 1 10 20 30 40 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100 Similarity

Points

50 60 70 80 90 100

Points

0.8 0.7 0.6

10 20 30 40

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100 Similarity

Points

0.5 0.4 0.3

50 60 70

0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

80 90 100

49

Points

Evaluacin de resultados
Matriz de similitud DBSCAN
1 2 6 4 3

1
7

0.9 500 0.8 0.7 0.6 1500 0.5 0.4 2000 0.3 0.2 0.1 3000 500 1000 1500 2000 2500 3000 0

1000

2500

50

k-Means
Problema Sensible a la eleccin inicial de los centroides. centroides. Posibles soluciones Realizar varias ejecuciones con varios conjuntos de centroides iniciales y comparar resultados (GRASP). Estimar a priori unos buenos centroides: centroides: - Mtodos especficos: k k-means means++ ++ - Escoger una muestra y aplicar un mtodo jerrquico.
51

k-Means
Problema Hay que elegir a priori el valor de k (a priori, no sabemos cuntos grupos puede haber). Posibles soluciones Usar un mtodo jerrquico sobre una muestra de los datos (por eficiencia) para estimar el valor de k. Usar un valor de k alto, ver los resultados y ajustar.
Siempre que se aumente el valor de k, disminuir el valor SSE. Lo normal ser ir probando con varios valores de k y comprobar cundo no hay una mejora significativa en SSE.
52

k-Means

k=1 SSE = 873.0

k=2 SSE = 173.1

k=3 SSE = 133.6

53

k-Means
1.00E+03 9.00E+02 8.00E+02 7.00E+02 6.00E+02 5.00E+02 4.00E+02 3.00E+02 2.00E+02 1.00E+02 0.00E+00 1 2 3 4 5 6

El codo en k=2 sugiere que ste es el valor ms adecuado para el nmero de agrupamientos.
54

k-Means
Problema Cuando se usan la media para calcular los centroides, centroides, el mtodo es sensible a outliers (valores anmalos). Posibles soluciones Usar medianas en vez de medias (aun con la distancia eucldea). eucldea). Eliminar previamente los outliers. outliers. Ojo! Los outliers pueden ser valores interesantes Usar kk-medoids medoids: : En vez de usar el vector de medias como centroide, centroide, se usa el vector correspondiente a un dato real (un representante).

55

k-Means
Problema Manejo de atributos no numricos. Posibles soluciones Extender la medida de similitud para que incluya atributos nominales, p.ej. d( d(a,b a,b) ) = 1 si a=b, 0 en otro caso Elegir como representante en el centroide la moda de los datos asignados a dicho cluster (mtodo kk-mode mode). ).

56

k-Means
Problema K-Means no funciona bien cuando los clusters son: de distinto tamao de diferente densidad no convexos

57

k-Means
Clusters de distinto tamao

Puntos originales

k-Means (3 clusters)
58

k-Means
Clusters de distinta densidad

Puntos originales

k-Means (3 clusters)
59

k-Means
Clusters no convexos

Puntos originales

k-Means (2 clusters)
60

k-Means
Problema K-Means no funciona bien cuando los clusters son: de distinto tamao de diferente densidad no convexos Posibles soluciones Mtodos adad-hoc. Usar un valor de k alto y revisar los resultados.
61

k-Means
Clusters de distinto tamao

62

k-Means
Clusters de distinta densidad

63

k-Means
Clusters no convexos

64

k-Means
PrePre -procesamiento Normalizar los datos. datos. Detectar outliers ( (eliminarlos eliminarlos, , en su caso). caso). PostPost -procesamiento Eliminar pequeos clusters que puedan representar outliers. Dividir clusters dispersos (loose clusters); esto es, es, clusters con unSSE relativamente alto. Combinar clusters cercanos que tengan un SSE relativamente bajo bajo. . NOTA: Estos criterios se pueden incluir en el propio 65 algoritmo de clustering (p.ej (p.ej. . algoritmo ISODATA). 65

k-Means
Variantes GRASP [Greedy Randomized Adaptive Search Procedure] para evitar ptimos locales. k-Modes (Huang1998) utiliza modas en vez de medias (para poder trabajar con atributos de tipo categrico). k-Medoids utiliza medianas en vez de medias para limitar la influencia de los outliers. vg. PAM (Partitioning Around Medoids, 1987) CLARA (Clustering LARge Applications, 1990) CLARANS (CLARA + Randomized Search, 1994)

66

66

DBSCAN
Mtodos basados en densidad Un cluster en una regin densa de puntos, separada por regiones poco densas de otras regiones densas. tiles cuando los clusters tienen formas irregulares, estn entrelazados o hay ruido/outliers ruido/outliers en los datos.

67

DBSCAN
Mtodos basados en densidad Criterio de agrupamiento local: Densidad de puntos Regiones densas de puntos separadas de otras regiones densas por regiones poco densas. Caractersticas Identifican clusters de formas arbitrarias. Robustos ante la presencia de ruido. Escalables: Un nico recorrido del conjunto de datos
68

DBSCAN
Algoritmos basados en densidad DBSCAN: Density Based Spatial Clustering of Applications with Noise (Ester et al., KDD1996) OPTICS: Ordering Points To Identify the Clustering Structure (Ankerst et al. SIGMOD1999) DENCLUE: DENsityDENsity-based CLUstEring (Hinneburg & Keim, Keim, KDD1998) CLIQUE: Clustering in QUEst (Agrawal et al., SIGMOD1998) SNN (Shared Nearest Neighbor Neighbor) ) densitydensity-based clustering (Ertz, Ertz, Steinbach & Kumar, Kumar, SDM2003) SDM2003)
69

DBSCAN
Detecta regiones densas de puntos separadas de otras regiones densas por regiones poco densas:

Parmetros: Epsilon = 10, MinPts = 4 Puntos: core (cluster), cluster), border (frontera) y noise (ruido (ruido) )

Eficiencia: O(n log n)

70

DBSCAN
Ejercicio
Agrupar los 8 puntos de la figura utilizando el algoritmo DBSCAN. Nmero mnimo de puntos en el vecindario: MinPts = 2 Radio del vecindario: Epsilon

71

DBSCAN
Ejercicio resuelto
Distancia eucldea

72

DBSCAN
Ejercicio resuelto Epsilon =
A1, A2 y A7 no tienen vecinos en su vecindario, por lo que se consideran outliers outliers (no estn en zonas densas):

73

DBSCAN
Ejercicio resuelto Epsilon =
Al aumentar el valor del parmetro Epsilon, Epsilon, el vecindario de los puntos aumenta y todos quedan agrupados:

74

DBSCAN

DEMO
http://webdocs.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html 75

DBSCAN

Clusters

DBSCAN cuando funciona bien ::- )

76

DBSCAN

DBSCAN cuando no funciona ::- (

77

DBSCAN++

SNN densitydensity-based clustering O(n2)

78

Clustering jerrquico

DENDROGRAMA: La similitud entre dos objetos viene dada por la altura del nodo comn ms cercano.
79

Clustering jerrquico

p1 p3 p2 p4

p1 p2
Tradicional

p3 p4

DENDOGRAMA

p1 p3 p2 p4

p1 p2
No tradicional

p3 p4
80

Clustering jerrquico
Aglomerativo
(AGNES: AGglomerative NESting NESting) )
0 1 2 3 4

a b c d e
4

ab abcde cde de
3 2 1 0
81

Divisivo
(DIANA: Divisive ANAlysis) ANAlysis)

Clustering jerrquico
Dos tipos de tcnicas de clustering jerrquico Tcnicas aglomerativas Comenzar con cada caso como cluster individual. En cada paso, combinar el par de clusters ms cercano hasta que slo quede uno (o k). Tcnicas divisivas Comenzar con un nico cluster que englobe todos los casos de nuestro conjunto de datos. En cada paso, partir un cluster hasta que cada cluster contenga un nico caso (o queden k clusters). clusters ).
82

Clustering jerrquico

83

Clustering jerrquico

El dendograma nos puede ayudar a determinar el nmero adecuado de agrupamientos (aunque normalmente no ser tan fcil).

84

Clustering jerrquico
Ejemplo Construir el correspondiente dendograma. dendograma. Cul es el nmero ideal de clusters? clusters?

85

Clustering jerrquico
Ejemplo Construir el correspondiente dendograma. dendograma. Cul es el nmero ideal de clusters? clusters?

86

Clustering jerrquico
Ejemplo Construir el correspondiente dendograma. dendograma. Cul es el nmero ideal de clusters? clusters?

87

Clustering jerrquico
Ejemplo Construir el correspondiente dendograma. dendograma. Cul es el nmero ideal de clusters? clusters?

88

Clustering jerrquico
Deteccin de la presencia de outliers: outliers:

Outlier

89

Clustering jerrquico
Algoritmo bsico (aglomerativo (aglomerativo) ) Calcular la matriz de similitud/distancias Inicializacin: Cada caso, un cluster Repetir Combinar los dos clusters ms cercanos Actualizar la matriz de similitud/distancias hasta que slo quede un cluster Estrategia de control irrevocable (greedy (greedy): ): Cada vez que se unen dos clusters, clusters, no se reconsidera otra posible unin.
90

Clustering jerrquico
Inicializacin: Clusters de casos individuales y matriz de distancias
p1 p1 p2 p3 p4 p5 p2 p3 p4 p5

91

Clustering jerrquico
Tras varias iteraciones: Varios clusters clusters
C1 C1 C2 C3 C4 C3 C4 C5 C2 C3 C4 C5

C1

C2

C5

92

Clustering jerrquico
Combinamos los clusters 2 y 5 y actualizamos la matriz de distancias cmo?
C1 C1 C2 C3 C4 C3 C4 C5 C2 C3 C4 C5

C1

C2

C5

93

Clustering jerrquico
Cmo se mide la distancia entre clusters? clusters? MIN singlesingle -link

MAX complete linkage (diameter) diameter)


94

Clustering jerrquico
Cmo se mide la distancia entre clusters? clusters? Promedio

Centroides p.ej. BIRCH

95

Clustering jerrquico
Datos sintticos (4 clusters clusters): ): Single Single-link

96

Clustering jerrquico
Datos sintticos (aleatorios): SingleSingle-link

97

Clustering jerrquico
Datos sintticos (4 clusters clusters): ): Complete Complete-link

98

Clustering jerrquico
Datos sintticos (aleatorios): CompleteComplete-link

99

Clustering jerrquico
Ejercicio
Utilizar un algoritmo aglomerativo de clustering jerrquico para agrupar los datos descritos por la siguiente matriz de distancias:

Variantes: SingleSingle -link (mnima distancia entre agrupamientos). CompleteComplete -link (mxima distancia entre agrupamientos).
100

Clustering jerrquico
Ejercicio resuelto SingleSingle -link

CompleteComplete -link

101

Clustering jerrquico

DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html 102

Clustering jerrquico
Principal inconveniente del clustering jerrquico

Baja escalabilidad

O(n2)

Por este motivo, si se usa un mtodo jerrquico para estimar el nmero de grupos k (para un kk-means), means), se suele emplear una muestra de los datos y no el conjunto de datos completo. completo.
103

Clustering jerrquico
Algoritmos de clustering jerrquico BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies (Zhang, Ramakrishnan & Livny, Livny, SIGMOD1996) SIGMOD1996 ) ROCK: RObust Clustering using linKs (Guha, Guha, Rastogi & Shim, Shim, ICDE1999) ICDE1999) CURE: Clustering Using REpresentatives (Guha, Guha, Rastogi & Shim, Shim, SIGMOD1998) SIGMOD1998) CHAMELEON: Hierarchical Clustering Using Dynamic Modeling (Karypis, Karypis, Han & Kumar, Kumar, 1999) SPSS: SPSS : TwoTwo-Step Clustering (variante de BIRCH)
104

Clustering jerrquico

CURE
105

Clustering jerrquico
Agrupamientos con varias densidades

CURE
106

Clustering jerrquico
Particin del grafo

Combinar particiones

CHAMELEON

Clusters finales

107

Clustering jerrquico

CHAMELEON
108

Validacin de resultados
Cmo se puede evaluar la calidad de los clusters obtenidos? Depende de lo que estemos buscando

Hay situaciones en las que nos interesa: Evitar descubrir clusters donde slo hay ruido. Comparar dos conjuntos de clusters alternativos. Comparar dos tcnicas de agrupamiento.
109

Validacin de resultados
Criterios externos (aportando informacin adicional)
p.ej. entropa/pureza (como en clasificacin)

Criterios internos (a partir de los propios datos),


p.ej. SSE (Sum (Sum of Squared Error) para comparar clusters para estimar el nmero de clusters

Otras medidas: cohesin, separacin, coeficientes de silueta


110

Validacin de resultados
SSE (Sum (Sum of Squared Error)
10 6 4 2 9 8 7 6

SSE

5 4

0 -2 -4 -6 5 10 15

3 2 1 0 2 5 10 15 20 25 30

111

Validacin de resultados
SSE (Sum (Sum of Squared Error)

1 2 6

112

Algoritmos de clustering
Requisitos del algoritmo perfecto Escalabilidad. Manejo de distintos tipos de datos. Identificacin de clusters con formas arbitrarias. Nmero mnimo de parmetros. Tolerancia frente a ruido y outliers. outliers. Independencia con respecto al orden de presentacin de los patrones de entrenamiento. Posibilidad de trabajar en espacios con muchas dimensiones diferentes. Capacidad de incorporar restricciones especificadas por el usuario (domain (domain knowledge). knowledge). Interpretabilidad / Usabilidad.

113

Bibliografa
Pang-Ning Tan, PangMichael Steinbach & Vipin Kumar: Kumar: Introduction to Data Mining AddisonAddison -Wesley Wesley, , 2006. ISBN 0321321367 [captulos 8&9] Jiawei Han & Micheline Kamber: Kamber: Data Mining: Mining: Concepts and Techniques Morgan Kaufmann, Kaufmann, 2006. ISBN 1558609016 [captulo 7]

114

Bibliografa
R. Agrawal, Agrawal, J. Gehrke, Gehrke, D. Gunopulos, Gunopulos, and P. Raghavan. Raghavan. Automatic subspace clustering of high dimensional data for data mining applications. SIGMOD'98 M. Ankerst, Ankerst, M. Breunig, Breunig, H.H.-P. Kriegel, Kriegel, and J. Sander. Optics: Ordering points to identify the clustering structure, SIGMOD99. L. Ertz, Ertz, M. Steinbach, and V. Kumar. Finding clusters of different sizes, shapes, and densities in noisy, highhigh-dimensional data, SDM2003 M. Ester, H.H.-P. Kriegel Kriegel, , J. Sander, and X. Xu Xu. . A densitydensity-based algorithm for discovering clusters in large spatial databases. KDD'96. D. Fisher. Knowledge acquisition via incremental conceptual clustering. Machine Learning, 2:1392:139-172, 1987. D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An approach based on dynamic systems. VLDB98 S. Guha, Guha, R. Rastogi, Rastogi, and K. Shim. Cure: An efficient clustering algorithm for large databases. SIGMOD'98. S. Guha, Guha, R. Rastogi, Rastogi, and K. Shim. ROCK: A robust clustering algorithm for categorical attributes. In ICDE'99, Sydney, Australia, March 1999.

115

Bibliografa
A. Hinneburg, Hinneburg, D.A D.A. . Keim: Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD98. G. Karypis, Karypis, E.E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical Clustering Algorithm

68-75, 1999. Using Dynamic Modeling. COMPUTER, 32(8): 68L. Parsons, E. Haque and H. Liu, Subspace Clustering for High Dimensional Data: A Review , SIGKDD Explorations, 6(1), June 2004 G. Sheikholeslami Sheikholeslami, , S. Chatterjee Chatterjee, , and A. Zhang. WaveCluster WaveCluster: : A multimulti-resolution clustering approach for very large spatial databases. VLDB98. A. K. H. Tung, J. Hou, Hou, and J. Han. Spatial Clustering in the Presence of Obstacles ,

ICDE'01
H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern similarity in large data sets, SIGMOD 02. W. Wang, Yang, R. Muntz, Muntz, STING: A Statistical Information grid Approach to Spatial Data Mining, VLDB97. T. Zhang, R. Ramakrishnan, Ramakrishnan, and M. Livny. Livny. BIRCH : an efficient data clustering method for very large databases. SIGMOD'96. SIGMOD'96.

116

Apndice: Notacin O
El impacto de la eficiencia de un algoritmo n O(n) O(nlog2 n) O(n2) O(n3)
10 100 1000 10000 100000

10ms

0.1s

1s

10s

100s

33ms

0.7s

10s

2 min

28 min

100ms

10s

17 min 28 horas 115 das

1s

17min

12 das 31 aos 32 milenios


117

Apndice La dimensionalidad de los datos


Por qu es un problema? Los datos en una dimensin estn relativamente cerca Al aadir una nueva dimensin, los datos se alejan. Cuando tenemos muchas dimensiones, las medidas de distancia no son tiles (equidistancia).

118

Apndice La dimensionalidad de los datos


Posibles soluciones Transformacin de caractersticas (PCA, SVD) para reducir la dimensionalidad de los datos, til slo si existe correlacin/redundancia. Seleccin de caractersticas (wrapper/ wrapper/filter filter) ) til si se pueden encontrar clusters en subespacios. subespacios. Subspace clustering clustering Buscar clusters usando distintas combinaciones de atributos, vg vg. . CLIQUE o PROCLUS.
119

Apndice La dimensionalidad de los datos


Subspace clustering

120

Apndice La dimensionalidad de los datos


Subspace clustering

121

Apndice La dimensionalidad de los datos

DEMO
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html 122

Apndice Otros mtodos de clustering


Grids multiresolucin STING, a STatistical INformation Grid approach (Wang, Yang & Muntz, Muntz, VLDB1997) WaveCluster, basado en wavelets (Sheikholeslami, Sheikholeslami, Chatterjee & Zhang, VLDB1998) CLIQUE: CLustering In QUEst (Agrawal et al., SIGMOD1998) SIGMOD1998)
123

Apndice Otros mtodos de clustering


Clustering basado en modelos Ajustar los datos a un modelo matemtico (se supone que los datos provienen de la superposicin de varias distribuciones de probabilidades) probabilidades ) Estadstica: Estadstica: EM [Expectation Maximization], AutoClass Clustering conceptual (Machine Learning): COBWEB, CLASSIT Redes neuronales neuronales: : SOM [Self [Self-Organizing Maps Maps] ]

124

Apndice Otros mtodos de clustering


Clustering con restricciones p.ej. Clustering con obstculos

Posibles aplicaciones: Distribucin de cajeros automticos/supermercados automticos/supermercados

125

You might also like