INDICE SILUETA

Anuncio
INDICE SILUETA
Miguel Cárdenas-Montes
Las técnicas de aprendizaje no supervisado permiten agrupar datos en
función de su similaridad. Paralelamente, existen índices que evalúan
cómo de separables son las agrupaciones producidas por los algoritmos
de aprendizaje no supervisado. El índice de silueta es uno de ellos, siendo frecuentemente utilizado en publicaciones científicas.
Objetivos:
Conocer el uso práctico del índice de silueta para evaluar la separación de clústeres formados con técnicas como k-means o DBScan,
permitiendo obtener el número óptimo de clústeres.
1
Este documento puede contener imprecisiones o errores. Por favor no lo utilice
para citarlo como una fuente fiable.
Indice de Silueta
El índice de silueta es una métrica para evaluar el buen funcionamiento de los algoritmos de aprendizaje no supervisado. El objetivo
de este índice es identificar el número óptimo de agrupamientos.
En los algoritmos de aprendizaje no supervisado, el número de clústeres puede ser un parámetro de entrada del algoritmo (Kmeans) o determinado automáticamente por el algoritmo (DBSCAN). En el primer
caso la determinación del número óptimo de clústeres tiene que ser
realizado mediante alguna medida externa al algoritmo. El índice silueta es indicador del número ideal de clústeres 1 2 . Un valor más alto
de este índice indica un caso más deseable del número de clústeres.
El coeficiente de Silueta para un conjunto está dato como la media
del coeficiente de Silueta de cada objeto de la muestra, s(i ). El coeficiente de Silueta para un objeto es:
s (i ) =
b−a
max ( a, b)
(1)
donde:
a es la distancia media entre el objeto y todos los otros objetos de la
misma clase, y
b es la distancia media entre el objeto y todos los otros objetos del
clúster más próximo.
El valor de s(i ) puede ser obtenido combinando los valores de a(i )
y b(i ) como se muestra a continuación:

a (i )

1 − b(i) , if a(i ) < b(i )


s(i ) = 0,
if a(i ) = b(i )


 b (i )
− 1, if a(i ) > b(i )
a (i )
1
Peter J. Rousseeuw. Silhouettes: A
graphical aid to the interpretation and
validation of cluster analysis. Journal of
Computational and Applied Mathematics,
20(0):53 – 65, 1987. ISSN 0377-0427.
http://dx.doi.org/10.1016/03770427(87)90125-7
2
Ujjwal Maulik, Sanghamitra Bandyopadhyay, and Anirban Mukhopadhyay.
Multiobjective
Genetic
Algorithms
for Clustering - Applications in Data
Mining and Bioinformatics.
Springer, 2011.
ISBN 978-3-642-16614-3.
10.1007/978-3-642-16615-0. URL
d
o
i
:
d
o
i
:
http://dx.doi.org/10.1007/978-3-642-16615-0
2
m
m
Recetario para valores del índice:
0.71-1.0, las estructuras encontradas
son sólidas.
0.51-0.70, las estructuras encontradas
con razonables.
0.26-0.50, las estructuras encontradas
con débiles y tienen a ser artificiales.
Se deberían intentar métodos alternativos para el análisis de los datos.
<0.25, no se encuentran estructuras.
Raw points with errorbars
4.0
De la definición anterior se obtiene que el índice silueta es:
−1 ≤ s(i ) ≤ 1. Para que el valor de s(i ) sea próximo a uno entonces
a(i ) ≪ b(i ). Como a(i ) es una medida de como de similar es i a su
propio cluster, entonces esto implica que el objeto i es muy similar a
los otros objetos de su clúster. Además se requiere que b(i ) sea grande.
Esto implica que el objeto i no es similar a los objetos del clúster más
próximo.
Un valor de s(i ) cercano a cero indica que el objeto i está en la
frontera de dos clusteres.
Por el contrario si el valor de s(i ) es negativo, entonces dicho objeto
debería ser asignado al cluster más cercano.
El valor promedio de s(i ) sobre todos los datos de un clúster es una
media de cómo compactamente agrupados están los datos en el clúster.
Así el promedio de s(i ) sobre el conjunto de datos es una medida de
cómo de apropiadamente se han agrupado los datos. De forma que si
el número de clústeres elegidos es demasiado bajo o alto, entonces el
gráfico de silueta será más estrecho que el resto.
2 Representación Gráfica
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
Figura 1: Conjunto de datos. En teoría
dos clusteres parece el resultado óptimo,
aunque no se puede descartar que sean
tres.
El índice silueta de data objeto del conjunto de datos suele ser dibujados de forma que los que forman el mismo cluster se dibujan juntos
y en orden decreciente del valor del índice. De esta forma se producen
gráficas como las mostradas en las figuras 2, 3, y4. Estas corresponden
son el resultado de analizar los datos (figura 1) mediante el algoritmo Kmeans para 2 centroides (figura 2), 3 centroides (figura 3) y 4
centroides (figura 4).
En la figura 2 se muestra el gráfico correspondiente a una elección
de 2 centroides en Kmeans. La mayor parte de los puntos tienen un
índice superior a 0,6, lo que es un indicador de la alta calidad del
agrupamiento.
No aparecen valores negativos del índice, lo cual indica que no hay
puntos incorrectamente asignados a clústeres.
Los puntos bajo valor del índice < 0,6 corresponden con punto que
quedan igualmente cerca de los dos centroides. Pero la mayor parte de
los puntos del cada cluster tienen un valor muy alto del índice.
En la figura 3 se muestra el índice silueta para cada punto cuanto
se configura Kmeans con 3 centroides. Como puede apreciarse, los
puntos pertenecientes al cluster número 1 tiene un índice silueta muy
bajo. En todos sus integrantes el valor es < 0,5.
Por lo tanto, cuando se agrupan con 3 centroides, los puntos asignados al cluster número 1 no deberían forman un cluster independiente,
sino que estos puntos deberían integrarse en otro cluster.
Finalmente en la figura 4, se puede apreciar que ciertos puntos tie-
i
n
d
i
e
s
i
l
u
e
t
a
3
Figura 2: Indice silueta para un agrupamiento de datos con Kmeans y 2 centroides.
Cluster
0
1
0.0
0.2
0.4
0.6
Silhouette Value
0.8
1.0
Figura 3: Indice silueta para un agrupamiento de datos con Kmeans y 3 centroides.
0
Cluster
1
2
0.0
0.2
0.4
0.6
Silhouette Value
0.8
1.0
nen índice negativo, luego están asignado incorrectamente a un cluster.
Para ellos hay un centroide más próximo que aquel al cual han sido
asignados. Esto es un fuerte indicador que 4 centroides es un agrupación artificial para este conjunto de datos.
Es interesante destacar en esta figura como los valores más bajos
del índice para algunos puntos no son cercanos a cero, sino que tienen
valores superiores a 0.2.
Figura 4: Indice silueta para un agrupamiento de datos con Kmeans y 4 centroides.
0
Cluster
1
2
3
−0.2
0.0
0.2
0.4
Silhouette Value
0.6
0.8
1.0
Es interesante destacar como los valores máximo de s(i ) van disminuyendo a medida que establecemos un número de centroides no
correcto. Los máximos para 2 centroides son claramente superiores a
0.8.
4
m
m
Referencias
[1] Ujjwal Maulik, Sanghamitra Bandyopadhyay, and Anirban Mukhopadhyay. Multiobjective Genetic Algorithms for Clustering - Applications in Data Mining and Bioinformatics.
Springer, 2011.
ISBN 978-3-642-16614-3.
10.1007/978-3-642-16615-0. URL
http://dx.doi.org/10.1007/978-3-642-16615-0.
d
o
i
:
[2] Peter J. Rousseeuw. Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational
and Applied Mathematics, 20(0):53 – 65, 1987. ISSN 0377-0427.
http://dx.doi.org/10.1016/0377-0427(87)90125-7.
d
o
i
:
Descargar