Professional Documents
Culture Documents
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?
Medidas de similitud
Cul es la forma natural de agrupar los personajes?
Medidas de similitud
Cul es la forma natural de agrupar los personajes?
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
Grupo 2
Grupo 3
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
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 )
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) )
15
Medidas de similitud
Mtricas de distancia: Distancia de Minkowski
Medidas de similitud
Mtricas de distancia: Distancia de Minkowski
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
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
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
Distancia de Tanimoto
22
Medidas de similitud
Otras medidas de similitud: Vecinos compartidos
Medidas de similitud
Otras medidas de similitud: Medidas de correlacin Producto escalar
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
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
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
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
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)
40
Evaluacin de resultados
Formas de medir cohesin y separacin: Sin usar centroides: centroides:
41
Evaluacin de resultados
Cuando la distancia utilizada es la distancia eucldea: eucldea:
1.
dist 2 (mi , x) =
xCi
1 2(# Ci ) xCi
K i =1
dist
yCi
( x, y )
2
K
2
1 2(# Ci ) xCi
dist
yCi
( x, y )
2.
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
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
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
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
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
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) )
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
76
DBSCAN
77
DBSCAN++
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
Clustering jerrquico
Cmo se mide la distancia entre clusters? clusters? Promedio
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)
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
1s
17min
118
120
121
DEMO
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html 122
124
125