K-medias es un método de agrupamiento, que
tiene como objetivo la partición de un conjunto de n observaciones en k grupos en el que cada
observación pertenece al grupo cuyo valor medio es más cercano. Es un método utilizado en minería de datos.
La agrupación del conjunto de datos puede ilustrarse en una partición del espacio de datos en celdas de Voronoi.
El problema es computacionalmente difícil (NP-hard). Sin embargo, hay eficientes
heurísticas que se emplean comúnmente y convergen rápidamente a un óptimo local.
Estos suelen ser similares a los algoritmos esperanza-maximización de mezclas
de distribuciones gausianas por medio de un enfoque de refinamiento iterativo empleado por ambos algoritmos.
Además, los dos algoritmos usan los centros que los grupos utilizan para modelar los datos, sin embargo k-medias tiende a encontrar
grupos de extensión espacial comparable, mientras que el mecanismo expectation-maximization
permite que los grupos tengan formas diferentes.
Dado un conjunto de observaciones (x1,
x2, …,
xn), donde cada observación es un vector real de d dimensiones, k-medias construye una partición de las
observaciones en k conjuntos (k ≤ n) a fin de minimizar la suma de los cuadrados dentro de cada grupo (WCSS):
S = {S1, S2, …, Sk}
El término "k-medias" fue utilizado por primera vez por James MacQueen en 1967,[1] aunque la idea se remonta a Hugo Steinhaus en
1957.[2] El algoritmo estándar fue propuesto por primera vez por Stuart Lloyd en 1957 como una técnica para modulación por impulsos codificados, aunque no se publicó fuera de los laboratorios Bell hasta 1982.[3] En 1965, E. W. Forgy publicó esencialmente el mismo método, por lo que a veces también se le nombra como Lloyd-Forgy.[4] Una versión más eficiente fue propuesta y publicada en Fortran por Hartigan y Wong en 1975/1979.[5][6]
El algoritmo más común utiliza una técnica de refinamiento iterativo. Debido a su ubicuidad a menudo se llama el algoritmo k-medias, también se le conoce como algoritmo de Lloyd, sobre todo en la comunidad informática.
Dado un conjunto inicial de k centroides m1(1),…,mk(1) (ver más abajo), el algoritmo continúa alternando entre dos pasos:[7]
Paso de asignación: Asigna cada observación al grupo con la media más cercana (es decir, la partición de las observaciones de acuerdo con el diagrama de Voronoi generado por los centroides).
Donde cada va exactamente dentro de un , incluso aunque pudiera ir en dos de ellos.
Paso de actualización: Calcular los nuevos centroides como el centroide de las observaciones en el grupo.
El algoritmo se considera que ha convergido cuando las asignaciones ya no cambian.
Los métodos de inicialización de Forgy y Partición Aleatoria son comúnmente utilizados.[8]
El método Forgy elige aleatoriamente k observaciones del conjunto de datos y las utiliza como centroides iniciales. El método de partición aleatoria primero asigna aleatoriamente un clúster para cada observación y después procede a la etapa de actualización, por lo tanto calcular el clúster inicial para ser el centro de gravedad de los puntos de la agrupación asignados al azar.
El método Forgy tiende a dispersar los centroides iniciales, mientras que la partición aleatoria ubica los centroides cerca del centro del conjunto de datos. Según Hamerly y compañía,[8] el método de partición aleatoria general, es preferible para los algoritmos tales como los k-medias armonizadas y
fuzzy k-medias. Para expectation maximization y el algoritmo estándar el método de Forgy es preferible.
Demostración del algoritmos estándar
1) k centroides iniciales (en este caso k=3) son generados aleatoriamente dentro de un conjunto de datos (mostrados en color).
2) k grupos son generados asociándole el punto con la media más cercana. La partición aquí representa el diagrama de Voronoi generado por los centroides.
3) EL centroide de cada uno de los k grupos se recalcula.
4) Pasos 2 y 3 se repiten hasta que se logre la convergencia.
Como se trata de un algoritmo heurístico, no hay ninguna garantía de que convergen al óptimo global, y el resultado puede depender de los grupos iniciales. Como el algoritmo suele ser muy rápido, es común para ejecutar varias veces con diferentes condiciones de partida. Sin embargo, en el peor de los casos, k-medias puede ser muy lento para converger: en particular, se ha demostrado que existen conjuntos de determinados puntos, incluso en 2 dimensiones, en la que k-medias toma tiempo exponencial, es decir 2O(n), para converger.[9] Estos conjuntos de puntos no parecen surgir en la práctica: esto se ve corroborado por el hecho de que en la mayoría de los casos el tiempo de ejecución de k-medias es polinomial.[10]
El "paso de asignación" también se le conoce como paso expectativa, la "etapa de actualización", como paso maximización, por lo que este algoritmo una variante del algoritmo generalizado expectation-maximization.
Respecto a la complejidad computacional, el agrupamiento k-medias
para problemas en espacios de d dimensiones es:
NP-hard en un espacio euclidiano general d incluso para 2 grupos[11][12]
NP-hard para un número general de grupos k incluso en el plano[13]
Si k y d son fijados, el problema se puede resolver en un tiempo , donde es el número de entidades a particionar[14]
Por lo tanto, una gran variedad de heurísticas son usadas generalmente.
El algoritmo -means que se discute debajo tiene orden polinomial para la mayoría de los casos. Se ha demostrado que[10] para un conjunto arbitrario de puntos en ,
si cada punto es perturbado independientemente por una distribución normal con media y varianza
, entonces el tiempo de ejecución del algoritmo -means está acotado por , que es un tiempo polinomial en , ,
y .
Se han demostrado mejores cotas para casos simples. Por ejemplo,[15] demuestra que el tiempo de corrida del algoritmo -means está acotado por para puntos enteros en la rejilla .
Fuzzy C-Means Clustering es una versión difusa del k-medias, donde cada punto tiene un grado difuso de pertenecía a cada grupo.
Modelos de mezclas gausianas entrenadas con el algoritmo Algoritmo esperanza-maximización presentan una asignación probabilística a cada grupo, en vez de asignaciones deterministas.
Se han presentado varios métodos para elegir mejor los centroides iniciales. Una propuesta reciente es k-medias++.
Algoritmos de filtrado utilizan kd-trees para mejorar la eficiencia en cada paso del algoritmo.[16]
ELKI]]. Los centroides de los grupos son marcados usando símbolos semitransparentes un poco más grandes.agrupamiento k-medias y agrupamiento EM en un conjunto de datos artificial ("mouse"). La tendencia del k-medias a producir grupos con tamaños parecidos nos lleva a obtener malos resultados, mientras que EM se beneficia de la distribución gausiana presente en el conjunto de datos.
Las dos características claves del k-medias, las que lo hacen eficiente vienen a convertirse en su principal problema:
El número de grupos k es un parámetro de entrada: una elección inapropiada puede acarrear malos resultados. Por eso es muy importante cuando corremos el k-medias tener en cuenta la importancia de determinar el número de grupos para un conjunto de datos.
La convergencia a óptimos locales puede traer malos resultados(ver ejemplo en Fig.).
Una limitación clave del k-medias es su modelo de agrupamiento.
El concepto se basa en grupos esféricos que son separables de una forma
en que el valor de la media converge hacia el centro del grupo.
Se espera que los grupos tengan igual tamaño, por lo que la asignación
al grupo más cercano es la asignación correcta. Cuando por ejemplo
aplicamos k-medias con un valor de al conjunto de
datos Iris flower, el resultado no es el esperado incluso habiendo
tres especies en el conjunto de datos. Con , los dos
grupos visibles(uno conteniendo dos especies) se pueden observar, mientras
que con uno de los dos grupos se divide en dos partes
iguales. De hecho, es más apropiado para este conjunto
de datos, aunque este último contenga 3 clases. Como con cualquier
otro algoritmo de agrupamiento, el resultado de k-medias depende del
conjunto de datos para satisfacer las necesidades del algoritmo.
Simplemente trabaja bien en algunos conjuntos de datos mientras que
falla en otros.
El resultado del k-medias se puede ver como las celdas de Voronoi de los centroides de los grupos. Como los datos se separan en cierta forma por la media de los grupos, esto puede llevarnos a óptimos locales como se puede ver en el conjunto "mouse". Los modelos gausianos usados por el algoritmo Expectation-maximization (que puede ser visto como una generalización del k-medias) son más flexibles ya que controlan varianzas y covarianzas. El resultado de EM crea grupos con tamaño variable más fácilmente que k-medias tanto como grupos correlacionados (no en este ejemplo).
Agrupamiento k-medias cuando se usan heurísticas como el algoritmo de Lloyd es fácil de implementar incluso para grandes
conjuntos de datos. Por lo que ha sido ampliamente usado en muchas áreas como segmentación de mercados, visión por computadoras, geoestadística,[21] astronomía y minería de datos en agricultura. También se usa como preprocesamiento
para otros algoritmos, por ejemplo para buscar una configuración inicial.
Una aplicación más avanzada es la de su uso en el marketing y el análisis geográfico, para hacerlo primero se deben recopilar datos de latitud y longitud de los puntos que se requieren a estudiar, luego por medio de algoritmos no supervisados de machine learning como K-Means en conjunto con Voronoi se pueden obtener los clusters de los datos pero con la diferencia de que estos estarán delimitados por una región de Voronoi, entonces se puede obtener la "dominancia del cluster". Caso similar también aplica para el marketing, por ejemplo, en lugar de tener «latitud» o «longitud» de datos geoespaciales podríamos tener una relación entre ingresos de un grupo de usuarios y lo que suelen gastar, de forma que se pueda optimizar la publicidad de forma más eficiente usando la región de Voronoi como una ayuda extra para delimitar una publicidad de marketing a un grupo de usuarios.[22]
Se trata de una alternativa del algoritmo K-medias. Si es un espacio métrico, el medoide de los puntos es el punto que minimiza la expresión . El algoritmo empieza con centros, escogidos entre las observaciones. Cada observación se agrupa con el centro más próximo. Formados los grupos se calculan sus respectivos medoides que serán los nuevos centros. El algoritmo se repite hasta que los grupos se estabilizan.
Nótese que los centros, en este caso, siempre forman parte de las observaciones. Asimismo, este algoritmo, a diferencia de K-medias, funciona para nociones de métrica (o similitud) que no permite calcular medias. En particular, funciona para espacios métricos no euclidianos.
CrimeStat implementa dos algoritmos espaciales de k-medias, uno de ellos permite al usuario definir los puntos iniciales.
ELKI contiene k-medias (con iteracionesd de Lloyd and MacQueen, as'i como diferente inicializaciones, por ejemplo k-medias++) y otros algoritmos de agrupamientos más avanzados.
KNIME[1] contiene nodos para la aplicación del algoritmo Kmeans de forma ágil y controlada, así como muchos otros algoritmos de segmentación y minería de datos.
↑ abArthur, D.;
Manthey, B.; Roeglin, H. (2009). «k-medias has polynomial
smoothed complexity». Proceedings of the 50th Symposium on Foundations of Computer Science (FOCS).
↑Dasgupta, S. and Freund, Y. (julio de 2009). «Random Projection Trees for Vector Quantization». Information Theory, IEEE Transactions on55: 3229-3242. arXiv:0805.1390. doi:10.1109/TIT.2009.2021326.