Métodos de inicialización de agrupamiento de K-medias


10

Estoy interesado en el estado actual de la técnica para seleccionar semillas iniciales (centros de agrupación) para K-means.

Buscar en Google lleva a dos opciones populares:

  1. selección aleatoria de semillas iniciales, y
  2. utilizando la técnica de selección KMeans ++: Arthur & Vassilvitskii 2006 k-means ++: Las ventajas de la siembra cuidadosa

¿Hay algún otro método prometedor que conozca alguien aquí, que podría no ser tan popular?

Respuestas:


11

Permítame, sin ir muy lejos, simplemente copiar y pegar una lista de opciones de mi propia función !kmini(una macro para SPSS), que se encuentra en la colección "Clustering" aquí .

Método para crear o seleccionar centros de clúster iniciales. Escoger:

  • RGC - centroides de submuestras aleatorias . Los datos se dividen al azar por kno solapada, por la pertenencia, grupos, y centroides de estos grupos son designados para ser los centros iniciales. Por lo tanto, los centros se calculan, no se seleccionan de los casos de conjuntos de datos existentes. Este método produce centros que se encuentran cercanos entre sí y al centroide general de los datos.
  • RP: puntos seleccionados al azar . kSe seleccionan aleatoriamente casos distintos de los datos para ser los centros iniciales.
  • RUNFP: puntos más lejanos (selección de carrera). Los primeros kcasos se toman como centros y luego, durante la ejecución del resto de los casos del conjunto de datos, se realizan progresivamente reemplazos entre los centros; El objetivo de los reemplazos es obtener en los kpuntos finales más distantes entre sí en el espacio variable. Estos puntos (casos) que ocupan posiciones periféricas en la nube de datos son los centros iniciales producidos. (El método se utiliza por defecto en el procedimiento SPSS k-means QUICK CLUSTER. Consulte los detalles en Algoritmos SPSS. Consulte también se describe aquí ).
  • SIMFP: puntos más lejanos (selección simple). El primer centro se selecciona como un caso aleatorio del conjunto de datos. El segundo centro se selecciona como el caso máximo distante de ese centro. El tercer centro se selecciona como el caso máximo alejado de esos dos (del más cercano de los dos), y así sucesivamente.
  • KMPP: puntos aleatorios más lejanos, o k-means ++. El primer centro se selecciona como un caso aleatorio del conjunto de datos. El segundo centro se selecciona también al azar, pero la probabilidad de selección de un caso es proporcional a la distancia (cuadrada euclidiana) de ese a ese (1er) centro. El tercer centro también se selecciona aleatoriamente con la probabilidad de selección proporcional a la distancia de un caso al más cercano de esos dos centros, y así sucesivamente. (Arthur, D., Vassilvitskii, S .. K-means ++: las ventajas de una siembra cuidadosa. // Actas del 18º simposio anual ACM-SIAM sobre algoritmos discretos. 2007., 1027–1035.)
  • GREP - puntos representativos del grupo . La idea del método: recolectar como centroskcasos más representativos, "adjuntos". El primer centro se toma como el caso más cercano al centro de datos general. Luego, el resto de los centros se seleccionan de los puntos de datos de tal manera que cada punto se considera si está más cerca (y cuánto, en términos de distancia euclidiana al cuadrado) a un conjunto de puntos que cada uno de estos últimos es a cualquiera de los centros ya existentes. Es decir, cada punto se considera un candidato para representar algún grupo de puntos que aún no están suficientemente representados por los centros ya recopilados. El punto más representativo a este respecto se selecciona como el próximo centro. (Kaufman, L. Rousseeuw, PJ Encontrar grupos en datos: una introducción al análisis de conglomerados, 1990. Ver también: Pena, JM et al. Una comparación empírica de cuatro métodos de inicialización para el algoritmo K-means // Pattern Recognition Lett. 20 (10), 1999,
  • [También hay un buen método, aún no implementado por mí en la macro, para generar kpuntos que sean de uniforme aleatorio pero "menos aleatorio que aleatorio", en algún lugar entre aleatorio y codicia; ver base teórica potencial para ese método]
  • Un método más es hacer agrupación jerárquica por el método de Ward. Puede hacerlo en una submuestra de objetos si la muestra es demasiado grande. Entonces los medios de los kgrupos producidos por él son las semillas iniciales para el procedimiento k-means. Ward es preferible a otros métodos de agrupamiento jerárquico porque comparte el objetivo objetivo común con k-means.

Los métodos RGC, RP, SIMFP, KMPP dependen de números aleatorios y pueden cambiar su resultado de una ejecución a otra.

El método RUNFP puede ser sensible al orden de los casos en el conjunto de datos; pero el método GREP no lo es (aparte de las ocasiones en que hay muchos casos, vínculos, datos idénticos). El método GREP puede fallar al recopilar todos los kcentros si kes grande en relación con el número de casos en los datos ( n), especialmente cuando k>n/2. [La macro informará si los datos no permiten que ese método recolecte kcentros]. El método GREP es el más lento, calcula [en mi implementación] la matriz de distancias entre todos los casos, por lo tanto, no es adecuado si hay muchas decenas de miles o millones de casos. Sin embargo, podría hacerlo en una submuestra aleatoria de los datos.

No estoy discutiendo actualmente qué método es "mejor" y en qué circunstancia, porque hasta ahora no he hecho una investigación simulada exhaustiva de la pregunta. Mis impresiones muy preliminares y superficiales han sido que GREP es particularmente valioso (pero es costoso), y que si desea un método realmente barato que sea lo suficientemente competitivo, entonces solo k puntos aleatorios, RP, es una opción decente.



5

La última vez que hice una revisión exhaustiva de la literatura sobre esto, que fue admitida hace casi 20 años, las dos recomendaciones principales fueron:

  1. Para utilizar el Método de Ward (este es un algoritmo de análisis de conglomerados jerárquico estándar) para encontrar centros iniciales.
  2. Utiliza comienzos aleatorios.

En las aplicaciones de Big Data, el método de Ward no funciona tan bien, aunque puede aplicarse a una submuestra.

Hice algunas simulaciones, que nunca pude publicar, y descubrí que:

La principal conclusión que saqué de esto es que el algoritmo SPSS es sorprendentemente bueno, pero si uno tiene los recursos, más de 1000 puntos de inicio aleatorios es el camino a seguir.


En sus simulaciones, ¿notó algún cambio en el comportamiento de los datos de alta dimensión?
Arin Chaudhuri

No es que pueda recordar. Sin embargo, creo que mis simulaciones no habrían usado más de 20 variables. Sin embargo, cuanto mayor es la dimensionalidad, mayor es el número de arranques aleatorios que se requieren para que todo lo demás sea igual.
Tim

Una nota: el algoritmo SPSS predeterminado (por cierto, su enlace está roto) es lo que acrónimo como RUNFP en mi respuesta.
ttnphns

3

Con la nomenclatura de ttnphns, probé RGC, RP y KMPP en:

  • Puntos 2D / 3D
  • bolsa de palabras de documentos textuales
  • L2

No recomiendo RGC porque los centros resultantes están muy cerca uno del otro: la media de muchos puntos está cerca de la media global (ley de los grandes números). Esto puede ralentizar mucho la convergencia: lleva algún tiempo antes de que los grupos comiencen a individualizarse.

El RP es generalmente bueno y lo recomendaría como la primera opción fácil.

KMPP es muy popular y funciona muy bien en pequeñas dimensiones: en comparación con RP, tiende a reducir la probabilidad de terminar en un mínimo local.

Sin embargo, cuando estaba trabajando en grandes conjuntos de datos (1 millón de puntos que son una bolsa de palabras de documentos de texto con gran dimensión), RP superó ligeramente a KMPP en el sentido de que terminó con un poco menos de iteraciones. Me sorprendió esto. En un gran conjunto de datos / alta dimensión, la convergencia al mínimo global es imposible, se mide la calidad como "cuán bueno es el mínimo local" = "cuán pequeño es el SOD final". Ambos métodos tenían la misma calidad.

Tenga en cuenta que es importante utilizar un método aleatorio si desea utilizar réplicas para mejorar la calidad.


Gracias. Trataré con datos de grandes dimensiones, así que esto es bastante útil.
Arin Chaudhuri
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.