Si tengo un determinado conjunto de datos, ¿qué tan inteligente sería inicializar los centros de clúster utilizando muestras aleatorias de ese conjunto de datos?
Por ejemplo, supongamos que quiero 5 clusters
. Supongo que 5 random samples
del size=20%
conjunto de datos original. ¿Podría entonces tomar la media de cada una de estas 5 muestras aleatorias y usar esas medias como mis 5 centros de agrupación iniciales? No sé dónde leí esto, pero quería saber qué piensan ustedes acerca de la idea.
ACTUALIZACIÓN: consulte este hilo Inicialización de agrupación de K-means: ¿cuáles son los métodos existentes? para la discusión general sobre los diversos métodos de inicialización.
clustering
k-means
unsupervised-learning
JEquihua
fuente
fuente
Respuestas:
Si divide aleatoriamente la muestra en 5 submuestras, sus 5 medias casi coincidirán. ¿Cuál es el sentido de hacer que tales puntos cercanos sean los centros de agrupación iniciales?
En muchas implementaciones de K-means, la selección predeterminada de los centros de clúster iniciales se basa en la idea opuesta: encontrar los 5 puntos que están más alejados y convertirlos en los centros iniciales. Puede preguntar cuál puede ser la forma de encontrar esos puntos distantes. Esto es lo que está haciendo K-SPSS para eso:
Tome los k casos (puntos) del conjunto de datos como los centros iniciales. Se está comprobando la capacidad de todos los casos de descanso para sustituirlos como centros iniciales, por las siguientes condiciones:
Si no se cumple la condición (a), se verifica la condición (b); si no está satisfecho, el caso no se convierte en un centro. Como resultado de estos casos, obtenemos k casos extremos en la nube que se convierten en los centros iniciales. El resultado de este algo, aunque suficientemente robusto, no es completamente insensible a la elección inicial de "cualquier k casos" y al orden de clasificación de los casos en el conjunto de datos; por lo tanto, varios intentos de inicio aleatorio son bienvenidos, como siempre es el caso con K-means.
Vea mi respuesta con una lista de métodos de inicialización populares para k-means. El método de división en submuestras aleatorias (criticado aquí por mí y otros), así como el método descrito utilizado por SPSS, también están en la lista.
fuente
Los medios serán demasiado similares. También podría encontrar la media del conjunto de datos y luego colocar los centroides iniciales en un pequeño círculo / esfera alrededor de esta media.
Si desea ver más esquemas de inicialización de sonido para k-means, eche un vistazo a k-means ++. Han ideado un método bastante inteligente para sembrar k-means.
k-means ++: las ventajas de una siembra cuidadosa ".
Actas del decimoctavo simposio anual ACM-SIAM sobre algoritmos discretos
Diapositivas del autor: http://www.ima.umn.edu/~iwen/REU/BATS-Means.pdf
fuente
Usar los medios de muestras aleatorias le dará lo contrario de lo que necesita, como señaló ttnphns en su comentario. Lo que necesitaríamos es una forma de encontrar puntos de datos que estén bastante lejos unos de otros.
Idealmente, podría iterar sobre todos los puntos, encontrar las distancias entre ellos, determinar dónde son las distancias más grandes ...
No para eludir la intención del OP, pero creo que la "solución" está integrada en el algoritmo k-means. Realizamos múltiples iteraciones y recalculamos los centroides del clúster en función de las iteraciones anteriores. También usualmente ejecutamos el algoritmo kmeans varias veces (con valores iniciales aleatorios) y comparamos los resultados.
Si uno tiene conocimiento a priori , conocimiento de dominio, eso podría conducir a un método superior para identificar dónde deberían estar los centros de agrupación iniciales. De lo contrario, probablemente se trate de seleccionar puntos de datos aleatorios como valores iniciales y luego utilizar múltiples ejecuciones y múltiples iteraciones por ejecución.
fuente
Las respuestas propuestas son todas efectivas, pero son mucho más difíciles de poner en práctica que su propuesta original. Una forma muy simple de inicializar es tomark observaciones aleatorias como los puntos originales. La probabilidad de cerrar dos puntos iniciales es bastante baja, y el algoritmo se ejecuta rápidamente para todos los casos, excepto los más extremos.
fuente