Si tengo un cierto conjunto de datos, lo inteligente sería para inicializar los centros de cluster utilizando medios de las muestras aleatorias de ese conjunto de datos. Por ejemplo, supongamos que deseamos 5 clusters
. Aprovecho 5 random samples
de decir, size=20%
del conjunto de datos original. Podría entonces tomar la media de cada uno de estos 5 muestras al azar y el uso de los medios como mi 5 centros iniciales de cada grupo? No sé donde leí esto, pero yo quería saber lo que ustedes piensan acerca de la idea. Gracias de avanzada.
Respuestas
¿Demasiados anuncios?Si al azar dividir la muestra en 5 submuestras de 5 significa que casi coinciden. ¿Cuál es el sentido de hacer más puntos que el grupo inicial de los centros?
En muchos K-means implementaciones, la selección predeterminada de grupo inicial de los centros se basa en la idea opuesta: para encontrar los 5 puntos que están más lejos y hacer de ellos la inicial de los centros. Usted puede pedir lo que puede ser el camino para encontrar a los distantes puntos? He aquí lo SPSS " K-significa que está haciendo para que:
Tomar cualquier k de los casos (puntos) del conjunto de datos como la inicial de los centros. Todo el resto de los casos son los que se comprueba la capacidad para sustituir aquellos como la inicial de los centros, por las siguientes condiciones:
- a) Si el caso está lejos del centro más cercano a lo que el la distancia entre los dos más cerca unos de otros centros, el caso los sustitutos de la ese centro de los dos últimos, a los que se más de cerca.
- b) Si el caso está lejos del centro de la 2ª más cercano a lo que el distancia entre el centro más cercano y el centro más cercano a este último, el caso sustituye el centro más cercano a .
Si la condición (a), no está satisfecho, la condición (b) está activada; si no está satisfecho, ya sea el caso de que no se convierta en un centro. Como el resultado de ejecutar a través de los casos obtenemos k suma de los casos en la nube que se convierten en la inicial de los centros. El resultado de este algo, aunque lo suficientemente robusta, no es totalmente insensible a la opción de "todos los k casos" y el orden de clasificación de los casos en el conjunto de datos; así, varios de partida aleatorio intentos son bienvenidos, como es siempre el caso con K-means.
Los medios serán muy similares. Usted puede encontrar el conjunto de datos de decir, y luego colocar la inicial de los centroides en un pequeño círculo/esfera alrededor de esta media.
Si quieres ver algunos de los más de inicialización de sonido esquema de k-means, eche un vistazo a k-means++. Ellos han desarrollado una muy ingenioso método para la siembra de k-means.
- Arthur, D. y Vassilvitskii, S. (2007).
k-means++: las ventajas de cuidado de la siembra".
Actas de las xviii anual de la ACM-SIAM simposio sobre Discreto algoritmos de
Autor de diapositivas: http://www.ima.umn.edu/~iwen/REU/MURCIÉLAGOS-Medios.pdf
El uso de los medios de muestras aleatorias le dará al contrario de lo que usted necesita, como ttnphns señaló en su comentario. Lo que necesitamos es una manera de encontrar los puntos de datos que están bastante lejos el uno del otro.
Idealmente, se puede iterar sobre todos los puntos, encontrar la distancia entre ellos, determinar donde las distancias son más grandes ...
No soslayar el OP intención, pero creo que la "solución" está integrada en el k-means el algoritmo. Podemos realizar varias iteraciones y calcular de nuevo clúster de centroides basado en las iteraciones anteriores. También generalmente se ejecuta el algoritmo de kmeans varias veces (con inicial aleatoria de valores), y comparar los resultados.
Si uno tiene un a priori del conocimiento, el conocimiento de un dominio, a continuación, que podría conducir a un método superior de identificar dónde inicial de los centros de cluster debe ser. De lo contrario, es probablemente una cuestión de selección aleatoria de puntos de datos como valores iniciales y, a continuación, la utilización de múltiples pistas y varias iteraciones por ejecutar.
Las respuestas que se proponen son efectivos, pero son mucho más difíciles de llevar a la práctica de su propuesta original. De una manera muy simple para inicializar es tomar $k$ observaciones aleatorias como los puntos originales. La probabilidad de obtener dos puntos iniciales de cerca es muy bajo, y el algoritmo se ejecuta rápidamente para todos, pero la mayoría de los casos extremos.