El método k -means es el método de agrupamiento más popular . Fue inventado en la década de 1950 por el matemático Hugo Steinhaus [1] y casi simultáneamente por Stuart Lloyd [2] . Ganó particular popularidad después del trabajo de McQueen [3] .
La acción del algoritmo es tal que busca minimizar la desviación cuadrática total de los puntos de conglomerados desde los centros de estos conglomerados:
donde es el número de grupos, son los grupos resultantes , y son los centros de masa de todos los vectores del grupo .
Por analogía con el método de los componentes principales , los centros de los conglomerados también se denominan puntos principales , y el método en sí se denomina método de los puntos principales [4] y se incluye en la teoría general de los objetos principales que proporcionan la mejor aproximación de datos [5] .
El algoritmo es una versión del algoritmo EM , también utilizado para separar una mezcla de gaussianas . Divide el conjunto de elementos del espacio vectorial en un número preconocido de grupos k .
La idea principal es que en cada iteración se recalcula el centro de masa de cada grupo obtenido en el paso anterior, luego los vectores se dividen en grupos nuevamente de acuerdo con cuál de los nuevos centros resultó estar más cerca según la métrica elegida.
El algoritmo termina cuando no hay cambios en la distancia intracluster en alguna iteración. Esto sucede en un número finito de iteraciones, ya que el número de particiones posibles de un conjunto finito es finito, y en cada paso la desviación cuadrática total V disminuye, por lo que es imposible hacer un bucle.
Como muestran David Arthur y Sergey Vasilvitsky, en algunas clases de conjuntos , la complejidad del algoritmo en términos del tiempo requerido para la convergencia es [6] .
Acción del algoritmo en el caso bidimensional. Los puntos de partida se eligen al azar.
La implementación de la red neuronal de K-means es ampliamente conocida y utilizada: una red de cuantificación vectorial de señales (una de las versiones de las redes neuronales de Kohonen ).
Existe una extensión k-means++ , que tiene como objetivo la elección óptima de los valores iniciales de los centros de conglomerados.
En los algoritmos de aprendizaje profundo , el método k-means a veces no se usa para el propósito previsto (clasificación por agrupamiento), sino para crear los llamados filtros (núcleos de convolución, diccionarios). Por ejemplo, para el reconocimiento de imágenes, el algoritmo k-means se alimenta con pequeñas piezas aleatorias de imágenes de muestra de entrenamiento, digamos, de tamaño 16x16, como un vector lineal, cada elemento del cual codifica el brillo de su punto. El número de conglomerados k es grande, por ejemplo, 256. El método de k-medias entrenado, bajo ciertas condiciones, produce centros de conglomerados (centroides), que son bases convenientes en las que se puede descomponer cualquier imagen de entrada. Dichos centroides "entrenados" se utilizan además como filtros, por ejemplo, para una red neuronal convolucional como núcleos de convolución u otros sistemas de visión artificial similares [8] . Así, el aprendizaje no supervisado se lleva a cabo utilizando el método k-means.
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|