Objetivo Agrupar objetos similares entre s que sean distintos a los objetos de otros agrupamientos [clusters].
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.
Encontrar agrupamientos de tal forma que los objetos de un grupo sean similares entre s y diferentes de los objetos de otros grupos: Maximizar distancia inter-cluster Minimizar distancia intra-cluster 4 Clustering Aplicaciones Reconocimiento de formas. Mapas temticos (GIS) Marketing: Segmentacin de clientes Clasificacin de documentos Anlisis de web logs (patrones de acceso similares)
Aplicaciones tpicas en Data Mining: Exploracin de datos (segmentacin & outliers) Preprocesamiento (p.ej. reduccin de datos)
5 Clustering Cul es la forma natural de agrupar los personajes?
Hombres vs. Mujeres 6 Clustering Cul es la forma natural de agrupar los personajes?
Simpsons vs. Empleados de la escuela de Springfield 7 Clustering Cul es la forma natural de agrupar los personajes?
El clustering es subjetivo !!! 8 Medidas de similitud 0.23 3 342.7 Peter Pedro 9
Usualmente, se expresan en trminos de distancias:
d(i,j) > 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.
En otras palabras, la similitud entre objetos es subjetiva. Medidas de similitud 10 Medidas de similitud Cuntos agrupamientos? Cuatro? Dos? Seis? 11 Medidas de similitud f f if if s m x z
= Atributos continuos Usualmente, se estandarizan a priori:
Desviacin absoluta media:
z-score (medida estandarizada): . ) ... 2 1 1 nf f f f x x (x n m + + + = |) | ... | | | (| 1 2 1 f nf f f f f f m x m x m x n s + + + = 12 Mtricas de distancia Distancia de Minkowski
Distancia de Manhattan (r=1) / city block / taxicab
Distancia eucldea (r=2):
Distancia de Chebyshev (r) / dominio / chessboard
Medidas de similitud 13 Mtricas de distancia Distancia de Minkowski
Distancia de Manhattan = 12 Distancia Eucldea ~ 8.5 Distancia de Chebyshev = 6
Medidas de similitud 14 Mtricas de distancia Distancia de Minkowski d(i,j) > 0 Propiedad reflexiva d(i,i) = 0 Propiedad simtrica d(i,j) = d(j,i) Desigualdad triangular d(i,j) s d(i,k)+d(k,j)
Medidas de similitud 15 Mtricas de distancia Distancia de Chebyshev
Tambin conocida como distancia de tablero de ajedrez (chessboard distance): Nmero de movimientos que el rey ha de hacer para llegar de una casilla a otra en un tablero de ajedrez. Medidas de similitud 16 Mtricas de distancia Distancia de Mahalanobis
Considera las correlaciones entre variables.
No depende de la escala de medida. Medidas de similitud 18 Mtricas de distancia Distancia de edicin = Distancia de Levenshtein
Nmero de operaciones necesario para transformar una cadena en otra.
Aplicaciones: Correctores ortogrficos, reconocimiento de voz, deteccin de plagios, anlisis de ADN
Para datos binarios: Distancia de Hamming Medidas de similitud 19 Mtricas de distancia Vecinos compartidos
Mutual Neighbor Distance
donde NN(x i ,x j ) es el nmero de vecino de x j con respecto a x i Medidas de similitud i j i j 4 20 Medidas de correlacin Producto escalar
Cosine similarity
Coeficiente de Tanimoto
Medidas de similitud 22 Modelos basados en Teora de Conjuntos Modelo de Tversky
Modelo de Restle
Interseccin Medidas de similitud 23 Modelos basados en Teora de Conjuntos Modelo proporcional
Modelo de Gregson = Coeficiente de Jaccard
Distancia de Tanimoto
Medidas de similitud 25 Mtodos de agrupamiento 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 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 knowledge) Interpretabilidad / Usabilidad 26 Mtodos de agrupamiento Tipos de algoritmos de clustering
Agrupamiento por particiones k-Means, CLARANS
Clustering jerrquico BIRCH, ROCK, CHAMELEON
Mtodos basados en densidad DBSCAN
27 Datos agrupados Mtodos de agrupamiento Clustering por particiones Datos originales 28 Mtodos de agrupamiento Clustering jerrquico p4 p1 p3 p2
p4 p1 p3 p2 p4 p1 p2 p3 p4 p1 p2 p3 Tradicional No tradicional DENDOGRAMA 29 Mtodos de agrupamiento 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 en los datos.
30 k-Means Algoritmo de agrupamiento por particiones (MacQueen, 1967) Nmero de clusters conocido (k) Cada cluster tiene asociado un centroide (centro geomtrico del 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, hasta que los centroides dejen de cambiar. Complejidad O(n*k*I*d) donde n es el nmero de datos, k el nmero de clusters, I el nmero de iteraciones y d el nmero de atributos
31 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 6 32 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 6 33 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 34 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 35 k-Means -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y ptimo local -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Solucin ptima Puntos originales 36 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 Distancia de Manhattan Distancia de Chebyshev 37 k-Means Ejercicio resuelto Distancia eucldea 38 k-Means Ejercicio resuelto Distancia eucldea
Primera iteracin Segunda iteracin 39 k-Means Ejercicio resuelto Distancia eucldea
Tercera iteracin Configuracin final 40 k-Means DEMO: K-Means http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html
41 k-Means Ventaja Eficiencia O(nkId) vs. PAM O(Ik(n-k) 2 ) CLARA O(ks 2 +k(n-k)) Desventajas Termina en un ptimo local: El resultado depende de la seleccin inicial de centroides. Necesidad de conocer el nmero de agrupamientos k Incapacidad para detectar ruido / identificar outliers. No resulta adecuado para detectar clusters no convexos Si tenemos datos de tipo categrico, cmo calculamos la media?
42 k-Means Clusters de distinto tamao Clusters de distinta densidad Clusters no convexos 43 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) 44 k-Means DEMO: Fuzzy C-Means http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletFCM.html
45 Clustering jerrquico
DENDROGRAMA: La similitud entre dos objetos viene dada por la altura del nodo comn ms cercano. 46 Clustering jerrquico
El DENDROGRAMA nos puede ayudar a determinar el nmero adecuado de agrupamientos (aunque normalmente no ser tan fcil). 47 Clustering jerrquico
El DENDROGRAMA tambin nos puede servir para detectar outliers. Outlier 48 Clustering jerrquico
En lugar de establecer de antemano el nmero de clusters, tenemos que definir un criterio de parada 0 1 2 3 4 b d c e a a b d e c d e a b c d e 4 3 2 1 0 aglomerativo (AGNES) AGglomerative NESting divisivo (DIANA) Divisive ANAlysis 49 Clustering jerrquico Cmo medir la distancia entre clusters?
MIN single-link
MAX complete linkage (diameter) 50 Clustering jerrquico Cmo medir la distancia entre clusters?
Promedio
Centroides p.ej. BIRCH
51 Clustering jerrquico Ejercicio
Utilizar un algoritmo aglomerativo de clustering jerrquico para agrupar los datos descritos por la siguiente matriz de distancias:
Variantes: Single-link (mnima distancia entre agrupamientos) Complete-link (mxima distancia entre agrupamientos) 52 Clustering jerrquico Ejercicio resuelto
A1, A2 y A7 no tienen vecinos en su vecindario, por lo que se consideran outliers (no estn en zonas densas): 68 Density-based Clustering Ejercicio resuelto Epsilon =
Al aumentar el valor del parmetro Epsilon, el vecindario de los puntos aumenta y todos quedan agrupados: 69 Density-based Clustering DEMO: DBSCAN et al. http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
70 Density-based Clustering
DBSCAN cuando funciona bien Clusters 71 Density-based Clustering
DBSCAN sensible al valor inicial de sus parmetros 72 Density-based Clustering
SNN density-based clustering O(n 2 ) i j i j 4 73 Grids multiresolucin
Otros mtodos 74 Grids multiresolucin
STING, a STatistical INformation Grid approach (Wang, Yang & Muntz, VLDB1997)
WaveCluster, basado en wavelets (Sheikholeslami, Chatterjee & Zhang, VLDB1998)
CLIQUE: CLustering In QUEst (Agrawal et al., SIGMOD1998) Otros mtodos 75 Clustering basado en modelos
Ajustar los datos a un modelo matemtico Se supone que los datos provienen de la superposicin de varias distribuciones de probabilidad.
Algoritmos Estadstica: EM [Expectation Maximization], AutoClass Clustering conceptual (Machine Learning): COBWEB, CLASSIT Redes neuronales: SOM [Self-Organizing Maps] Otros mtodos 76 Clustering con restricciones p.ej. Clustering con obstculos
Posibles aplicaciones: Distribucin de cajeros automticos/supermercados Otros mtodos 77 Subspace clustering 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). 78 Subspace clustering La dimensionalidad de los datos
Soluciones
Transformacin de caractersticas (PCA, SVD) til slo si existe correlacin/redundancia
Seleccin de caractersticas (wrapper/filter) til si se pueden encontrar clusters en subespacios
Subspace clustering Buscar clusters en todos los subespacios posibles.
vg. CLIQUE (Agrawal et al., SIGMOD1998) 79 Subspace clustering 80 Subspace clustering 81 Subspace clustering DEMO: CLIQUE et al. http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
82 Validacin
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 83 Validacin
Criterios internos (a partir de los propios datos), p.ej. SSE (Sum of Squared Error) para comparar clusters para estimar el nmero de clusters
Otras medidas: cohesin, separacin, coeficientes de silueta 84 Validacin Cul es el nmero adecuado de agrupamientos? p.ej. SSE (Sum of Squared Error)
k = 1 k = 2 k = 3 J = 873.0 J = 173.1 J = 133.6 85 Validacin Cul es el nmero adecuado de agrupamientos? p.ej. SSE (Sum of Squared Error)
El codo en k=2 sugiere que ste es el valor adecuado para el nmero de agrupamientos. 0.00E+00 1.00E+02 2.00E+02 3.00E+02 4.00E+02 5.00E+02 6.00E+02 7.00E+02 8.00E+02 9.00E+02 1.00E+03 1 2 3 4 5 6 k J 86 Validacin
2 5 10 15 20 25 30 0 1 2 3 4 5 6 7 8 9 10 K S S E 5 10 15 -6 -4 -2 0 2 4 6 87 Validacin
1 2 3 5 6 4 7 88 Validacin 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 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Points P o i n t s 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 89 Validacin 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Points P o i n t s 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Matriz de similitud Clusters en datos aleatorios (DBSCAN y k-Means) Points P o i n t s 20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Similarity 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 90 Validacin Matriz de similitud DBSCAN 1 2 3 5 6 4 7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 500 1000 1500 2000 2500 3000 500 1000 1500 2000 2500 3000 91 Bibliografa R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan. Automatic subspace clustering of high dimensional data for data mining applications. SIGMOD'98 M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander. Optics: Ordering points to identify the clustering structure, SIGMOD99. L. Ertz, M. Steinbach, and V. Kumar. Finding clusters of different sizes, shapes, and densities in noisy, high-dimensional data, SDM2003 M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases. KDD'96. D. Fisher. Knowledge acquisition via incremental conceptual clustering. Machine Learning, 2:139-172, 1987. D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An approach based on dynamic systems. VLDB98 S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering algorithm for large databases. SIGMOD'98. S. Guha, R. Rastogi, and K. Shim. ROCK: A robust clustering algorithm for categorical attributes. In ICDE'99, Sydney, Australia, March 1999. 92 Bibliografa A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD98. G. Karypis, E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical Clustering Algorithm Using Dynamic Modeling. COMPUTER, 32(8): 68- 75, 1999. L. Parsons, E. Haque and H. Liu, Subspace Clustering for High Dimensional Data: A Review , SIGKDD Explorations, 6(1), June 2004 G. Sheikholeslami, S. Chatterjee, and A. Zhang. WaveCluster: A multi- resolution clustering approach for very large spatial databases. VLDB98. A. K. H. Tung, J. 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, STING: A Statistical Information grid Approach to Spatial Data Mining, VLDB97. T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data clustering method for very large databases. SIGMOD'96. 93 Crditos Jiawei Han (University of Illinois at Urbana- Champaign): Data Mining: Concepts and Techniques, captulo 7, 2006 Pang-Ning Tan (Michigan State University), Michael Steinbach & Vipin Kumar (University of Minnesota): Introduction to Data Mining, captulos 8 y 9, 2006 94 Apndice: Notacin O
El impacto de la eficiencia de un algoritmo
n 10 100 1000 10000 100000
O(n) 10ms 0.1s 1s 10s 100s
O(nlog 2 n) 33ms 0.7s 10s 2 min 28 min
O(n 2 ) 100ms 10s 17 min 28 horas 115 das
O(n 3 ) 1s 17min 12 das 31 aos 32 milenios http://ciberconta.unizar.es/LECCION/cluster/inicio.html http://www.uv.es/ceaces/multivari/cluster/CLUSTER2.htm http://www.ugr.es/~gallardo/