Professional Documents
Culture Documents
k-Means
k-Medoids
PAM [Partitioning Around Medoids]
CLARA [Clustering for LARge Applications]
CLARANS [CLAra based on RANdomized Search]
1
Mtodos de agrupamiento
Familias de algoritmos de clustering:
Clustering jerrquico
Diana/Agnes, BIRCH, CURE, Chameleon, ROCK
Mtodos de agrupamiento
Clustering por particiones (suele fijarse k)
k=2
...
k-Means
Iteration 6
1
2
3
4
5
3
2.5
1.5
y
0.5
2 2 2
y
1 1 1
0 0 0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x
2 2 2
y
1 1 1
0 0 0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x
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.
Formar k grupos,
asignando cada punto al centroide ms cercano.
Recalcular los nuevos centroides.
7
k-Means
Complejidad
n = nmero de puntos,
k = nmero de clusters,
I = nmero iteraciones,
d = nmero de atributos
Problema NP si k no se fija.
Ahora bien, si fijamos los parmetros n, k, d, I:
O( n * k * I * d ) 8
k-Means
Cmo se recalculan los centroides?
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.
Conjunto de
clusters obtenido
tras la iteracin t La funcin objetivo
no se mejora FIN 11
k-Means
Ejercicio
Centroides iniciales:
A1, A7 y A8
Mtricas de distancia:
Distancia eucldea.
Distancia de Manhattan.
Distancia de Chebyshev.
12
k-Means
Ejercicio resuelto
Distancia eucldea
13
k-Means
Ejercicio resuelto
Distancia eucldea
k-Means
Ejercicio resuelto
Distancia eucldea
DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html 16
Evaluacin de resultados
Maximizar
Minimizar distancia
distancia inter-cluster
intra-cluster (separacin)
(cohesin)
17
Evaluacin de resultados
Formas de medir cohesin y separacin:
Usando centroides:
18
Evaluacin de resultados
Cuando la distancia utilizada es la distancia eucldea:
1
dist
xCi
2
(mi , x) =
2(# Ci ) xCi
dist
yCi
2
( x, y )
K K
1
SSE = dist (mi , x) =
2
dist 2
( x, y )
i =1 xCi i =1 2(# Ci ) xCi yCi
Evaluacin de resultados
Cuando usamos la distancia 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.
21
Evaluacin de resultados
3 3
2.5 2.5
2 2
1.5 1.5
y
y
1 1
0.5
0.5
0
0
22
Evaluacin de resultados
Iteration 5
1
2
3
4
3
2.5
1.5
y
0.5
23
Evaluacin de resultados
Iteration 1 Iteration 2
3 3
2.5 2.5
2 2
y 1.5 1.5
y
1 1
0.5 0.5
0 0
2 2 2
y
1 1 1
0 0 0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x
24
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
1
10 0.9
0.9 C1
0.8 C1 20 0.8
0.7 30 0.7
0.6 40 0.6
Points
0.5 50 0.5
y
C2
0.4 60 0.4
0.3 70 0.3
0.2 80
0.1
C2 C3 C3
0.2
90 0.1
0
0 0.2 0.4 0.6 0.8 1 100 0
20 40 60 80 100Similarity
x
Points
C1 C2 C3
25
k-Means
Problema
Sensible a la eleccin inicial de los centroides.
Posibles soluciones
k-Means
Problema
Hay que elegir a priori el valor de k
(a priori, no sabemos cuntos grupos puede haber).
Posibles soluciones
28
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
Posibles soluciones
k-Means
Problema
Manejo de atributos no numricos.
Posibles soluciones
de distinto tamao
de diferente densidad
no convexos
32
k-Means
Clusters de distinto tamao
33
k-Means
Clusters de distinta densidad
34
k-Means
Clusters no convexos
35
k-Means
Problema
K-Means no funciona bien cuando los clusters son:
de distinto tamao
de diferente densidad
no convexos
Posibles soluciones
Mtodos ad-hoc.
Spectral clustering 36
k-Means
Clusters de distinto tamao
37
k-Means
Clusters de distinta densidad
38
k-Means
Clusters no convexos
39
k-Means
Pre-procesamiento
Normalizar los datos.
Detectar outliers (eliminarlos, en su caso).
Post-procesamiento
Eliminar pequeos clusters que puedan representar
outliers.
Dividir clusters dispersos (loose clusters); esto es,
clusters con un SSE relativamente alto.
Combinar clusters cercanos que tengan un SSE
relativamente bajo.
NOTA: Estos criterios se pueden incluir en el propio
40 algoritmo de clustering (p.ej. algoritmo ISODATA). 40
k-Means
Variantes
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 of Squared Error)
para comparar clusters
para estimar el nmero de clusters
Otras medidas:
cohesin, separacin, coeficientes de silueta
43
Validacin de resultados
SSE (Sum of Squared Error)
10
6 9
8
4
7
2 6
SSE
5
0
4
-2 3
2
-4
1
-6 0
2 5 10 15 20 25 30
5 10 15
K
44
Validacin de resultados
SSE (Sum of Squared Error)
1
2 6
3
4
45
k-Medoids
El algoritmo k-means es sensible a la presencia de
outliers
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
46
10 10
9 9
8 8
7 7
Arbitrary 6
Assign 6
choose k 5 each 5
object as 4 remaining 4
initial 3
object to 3
medoids 2
nearest 2
1 1
0
medoids 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Randomly select a
nonmedoid object,Oramdom
10 10
9 9
8
Compute 8
Swapping O 7 total cost of 7
and Oramdom 6
swapping 6
5 5
if quality is 4 4
improved. 3 3
2 2
1 1
0
0 1 2 3 4 5 6 7 8 9 10
0
0 1 2 3 4 5 6 7 8 9 10
47
PAM [Partitioning Around Medoids]
Algorithm PAM
2. Compute the total cost of replacing for all pairs of objects (Om, Op)
where Om is currently selected, and Op is not.
3. Select the pair (Om, Op) which corresponds to the minimum total cost of
replacinf. If the minimum is negative, replace Om with Op, and go back
to Step 2.
48
Eficiencia
O ( k * (n k)2 )
vs. K-Means O ( n * k )
49
CLARA [Clustering for LARge Applications]
Algorithm CLARA
3. For each object Oj in the entire data set, determine which of the k
medoids is the most similar to Oj.
Eficiencia
O (ks2 + k(n-k))
vs. K-Means O( n * k * I * d )
51
CLARANS [CLARA based on Randomized Search]
Algorithm CLARANS
Parameters:
- numlocal (number of local minima obtained)
- maxneighbor (maximum number of neighbors examined).
BFR Algorithm
El algoritmo BFR [Bradley-Fayyad-Reina] es una
variante del algoritmo de las k-medias para conjuntos
de datos muy grandes (almacenados en disco).
54
BFR Algorithm
Los datos se leen de disco en bloques, hasta llenar la
memoria disponible.
La informacin de los
bloques anteriores se
resume con estadsticos
sencillos.
Al comenzar, se
utiliza cualquier tcnica
razonable para elegir
los centroides (k-means)
dado el primer bloque de datos. 55
BFR Algorithm
Tres tipos de puntos
DS [Discard Set]:
Puntos cercanos al centroide (resumidos)
CS [Compression Set]:
Puntos cercanos entre s pero lejos de centroides.
RS [Retained Set]: 56
Puntos aislados, a la espera de ser asignados a un CS.
BFR Algorithm
Para cada cluster,
el conjunto DS [discarded set] se resume con
El nmero de puntos del conjunto, n
El vector SUM de sumas de las coordenadas de los
puntos (el i-simo componente del vector corresponde
a la suma de la i-sima dimensin).
El vector SUMSQ de la suma de los cuadrados de las
coordenadas de los puntos.
NOTA:
Al final, todos los CS y RS se asignan a su cluster ms cercano 58
BFR Algorithm
Detalles de implementacin
Cmo decidimos cundo est un punto lo
suficientemente cerca de un cluster para aadirlo a l?
Distancia de Mahalanobis
BFR Algorithm
Detalles de implementacin
62
Bibliografa
Charu C. Aggarwal & Chandan K. Reddy (editors):
Data Clustering: Algorithms and Applications.
Chapman & Hall / CRC Press, 2014.
ISBN 1466558210.
63
Bibliografa - Libros de texto
Pang-Ning Tan,
Michael Steinbach
& Vipin Kumar:
Introduction to Data Mining
Addison-Wesley, 2006.
ISBN 0321321367 [captulos 8&9]
Jiawei Han
& Micheline Kamber:
Data Mining:
Concepts and Techniques
Morgan Kaufmann, 2006.
ISBN 1558609016 [captulo 7] 64
Bibliografa - Algoritmos
K-Means
J.B. MacQueen: Some Methods for classification and Analysis of Multivariate
Observations. Proceedings of 5th Berkeley Symposium on Mathematical Statistics and
Probability 1, pp. 281297. University of California Press, 1967. MR 0214227. Zbl 0214.46201
S.P. Lloyd: Least squares quantization in PCM. Bell Telephone Laboratories, 1957.
Published much later in IEEE Transactions on Information Theory 28 (2): 129137, 1982. DOI
10.1109/TIT.1982.1056489
PAM [Partitioning Around Medoids]
L. Kaufman & Peter J. Rousseeuw: Clustering by means of Medoids, First International
Conference on Statistical Data Analysis based on the L_1-Norm and Related Methods,
Neuchatel (Switzerland), August 31 - September 4, 1987, pp. 405416. ISBN 0444702733.
CLARA [Clustering for LARge Applications]
L. Kaufman & P.J. Rousseeuw: Finding Groups in Data: An Introduction to Cluster
Analysis. John Wiley & Sons, 1990. ISBN 0471878766
CLARANS [Clustering for Large Applications based on RANdomized Search]
R. Ng & J. Han: Efficient and Effective Clustering Methods for Spatial Data Mining,
VLDB1994, pp. 144155, 1994. http://www.vldb.org/conf/1994/P144.PDF
R. Ng & J. Han: CLARANS: a method for clustering objects for spatial data mining.
IEEE Transactions on Knowledge and Data Engineering, 14(5):1003-1016, 2002. DOI
10.1109/TKDE.2002.1033770.
65
Bibliografa - Algoritmos
BFR
Paul S. Bradley, Usama M. Fayyad & Cory Reina: Scaling Clustering Algorithms to Large
Databases. Proceedings of the Fourth International Conference on Knowledge Discovery and
Data Mining (KDD-98), New York City, New York, USA, August 27-31, 1998, pages 9-15. AAAI
Press, 1998 ISBN 1-57735-070-7. http://www.aaai.org/Papers/KDD/1998/KDD98-002.pdf
Fredrik Farnstrom, James Lewis & Charles Elkan: Scalability for clustering algorithms
revisited. SIGKDD Explorations Newsletter 2(1):51-57, June 2000.
DOI 10.1145/360402.360419
K-Means++
David Arthur & Sergei Vassilvitskii: k-means++: the advantages of careful seeding. In
Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms (SODA
'07), pages 1027-1035. Society for Industrial and Applied Mathematics, 2007.
ISBN 978-0-898716-24-5
Bahman Bahmani, Benjamin Moseley, Andrea Vattani, Ravi Kumar & Sergei Vassilvitskii:
Scalable k-means++. Proc. VLDB Endowment 5(7):622-633, March 2012.
DOI 10.14778/2180912.2180915
Rafail Ostrovsky, Yuval Rabani, Leonard J. Schulman & Chaitanya Swamy: The
effectiveness of lloyd-type methods for the k-means problem. Journal of the ACM
59(6), article 28, December 2012. DOI 10.1145/2395116.2395117
66
Apndice: Notacin O
El impacto de la eficiencia de un algoritmo
Estadstica:
EM [Expectation Maximization], AutoClass
Clustering conceptual (Machine Learning):
COBWEB, CLASSIT
Redes neuronales: 68
SOM [Self-Organizing Maps]
Apndice
Otros mtodos de clustering
Clustering con restricciones
p.ej. Clustering con obstculos
Posibles aplicaciones:
69
Distribucin de cajeros automticos/supermercados