fbpx
Wikipedia

K-medias

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 expectation-maximization 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.

Descripción

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 (kn) a fin de minimizar la suma de los cuadrados dentro de cada grupo (WCSS): S = {S1S2, …, Sk}

 

donde µi es la media de puntos en Si.

Historia

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]

Algoritmos

Algoritmo estándar

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.

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.

Complejidad

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  .

Variaciones

  • 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]
  • Algunos métodos también intentan acelerar el algoritmo usando coresets[17]​ or the triangle inequality.[18]
  • Se puede escapar de óptimos locales intercambiando puntos entre los grupos.[6]
  • El algoritmo Spherical k-medias es bastante usado para datos direccionales.[19]
  • El algoritmo Minkowski metric weighted k-medias trata el problema del ruido asignando pesos a las componentes de los vectores por grupos[20]

Discusión

 
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:

  • La distancia euclidiana se usa como una métrica y la varianza es usada como una medida de la dispersión de los grupos.
  • 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).

Aplicaciones del algoritmo

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.

Software

Libre

  • Apache Mahout k-medias
  • 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.
  • MLPACK contiene una implementación del k-medias
  • R kmeans implementa una variedad de algoritmos[1][3][6]
  • SciPy vector-quantization
  • Silverlight widget mostrando el algoritmo k-medias
  • extensiones PostgreSQL para k-medias
  • Implementación eficiente para varios processadores.
  • Weka contiene k-medias y algunas varientes, como k-medias++ y x-means.
  • Spectral Python contiene métodos para la clasificación no supervisada incluyendo el algoritmo k-medias.
  • 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.

Comercial

  • IDL Cluster, Clust_Wts
  • Mathematica ClusteringComponents function
  • MATLAB kmeans
  • SAS FASTCLUS
  • VisuMap kMeans Clustering

Código fuente

  • ELKI and Weka está escrito en Java y contiene implementaciones del k-medias
  • k-medias en PHP,[22]​ using VB,[23]​ using Perl,[24]​ using C++,[25]​ using Matlab,[26]​ using Ruby,[27][28]​ using Python with scipy,[29]​ using X10[30]
  • Una implementación en C[31]
  • Una colección de algoritmos de agrupamientos incluido k-medias, implementado en Javascript.[32]​ Online demo.[33]

Referencias

  1. MacQueen, J. B. (1967). Some Methods for classification and Analysis of Multivariate Observations. Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability 1. University of California Press. pp. 281-297. MR 0214227. Zbl 0214.46201. Consultado el 7 de abril de 2009. 
  2. Steinhaus, H. (1957). «Sur la division des corps matériels en parties». Bull. Acad. Polon. Sci. (en francés) 4 (12): 801-804. MR 0090073. Zbl 0079.16403. 
  3. Lloyd, S. P. (1957). «Least square quantization in PCM». Bell Telephone Laboratories Paper.  Publicado mucho más tarde en la revista: Lloyd., S. P. (1982). «Least squares quantization in PCM». IEEE Transactions on Information Theory 28 (2): 129-137. doi:10.1109/TIT.1982.1056489. Consultado el 15 de abril de 2009. 
  4. E.W. Forgy (1965). «Cluster analysis of multivariate data: efficiency versus interpretability of classifications». Biometrics 21: 768-769. 
  5. J.A. Hartigan (1975). Clustering algorithms. John Wiley & Sons, Inc. 
  6. Hartigan, J. A.; Wong, M. A. (1979). «Algorithm AS 136: A k-medias Clustering Algorithm». Journal of the Royal Statistical Society, Series C (Applied Statistics) 28 (1): 100-108. JSTOR 2346830. 
  7. MacKay, David (2003). «Chapter 20. An Example Inference Task: Clustering». Information Theory, Inference and Learning Algorithms. Cambridge University Press. pp. 284-292. ISBN 0-521-64298-1. MR 2012999. 
  8. Hamerly, G. and Elkan, C. (2002). «Alternatives to the k-medias algorithm that find better clusterings». . Archivado desde el original|urlarchivo= requiere |url= (ayuda) el |urlarchivo= requiere |fechaarchivo= (ayuda). Consultado el 3 de enero de 2013. 
  9. Vattani., A. (2011). «k-medias requires exponentially many iterations even in the plane». Discrete and Computational Geometry 45 (4): 596-616. doi:10.1007/s00454-011-9340-1. 
  10. Arthur, D.; Manthey, B.; Roeglin, H. (2009). «k-medias has polynomial smoothed complexity». Proceedings of the 50th Symposium on Foundations of Computer Science (FOCS). 
  11. Aloise, D.; Deshpande, A.; Hansen, P.; Popat, P. (2009). «NP-hardness of Euclidean sum-of-squares clustering». Machine Learning 75: 245-249. doi:10.1007/s10994-009-5103-0. 
  12. Dasgupta, S. and Freund, Y. (julio de 2009). «Random Projection Trees for Vector Quantization». Information Theory, IEEE Transactions on 55: 3229-3242. arXiv:0805.1390. doi:10.1109/TIT.2009.2021326. 
  13. Mahajan, M.; Nimbhorkar, P.; Varadarajan, K. (2009). «The Planar k-medias Problem is NP-Hard». Lecture Notes in Computer Science 5431: 274-285. doi:10.1007/978-3-642-00202-1_24. 
  14. Inaba, M.; Katoh, N.; Imai, H. (1994). Applications of weighted Voronoi diagrams and randomization to variance-based k-clustering. Proceedings of 10th ACM Symposium on Computational Geometry. pp. 332-339. doi:10.1145/177424.178042. 
  15. Arthur; Abhishek Bhowmick (2009). A theoretical analysis of Lloyd's algorithm for k-medias clustering.  Texto « http://www.cse.iitk.ac.in/users/bhowmick/lloyd.pdf » ignorado (ayuda)
  16. Kanungo, T.; Mount, D. M.; [[Nathan Netanyahu|Netanyahu, N. S.]]; Piatko, C. D.; Silverman, R.; Wu, A. Y. (2002). «An efficient k-medias clustering algorithm: Analysis and implementation». IEEE Trans. Pattern Analysis and Machine Intelligence 24: 881-892. doi:10.1109/TPAMI.2002.1017616. Consultado el 24 de abril de 2009. 
  17. Frahling, G.; Sohler, C. (2006). «A fast k-medias implementation using coresets». Proceedings of the twenty-second annual symposium on Computational geometry (SoCG). 
  18. Elkan, C. (2003). «Using the triangle inequality to accelerate k-medias». Proceedings of the Twentieth International Conference on Machine Learning (ICML). 
  19. Dhillon, I. S.; Modha, D. M. (2001). «Concept decompositions for large sparse text data using clustering». Machine Learning 42 (1): 143-175. 
  20. Amorim, R. C.; Mirkin, B (2012). «Minkowski metric, feature weighting and anomalous cluster initializing in k-medias clustering». Pattern Recognition 45 (3): 1061-1075. doi:10.1016/j.patcog.2011.08.012. 
  21. Honarkhah, M and Caers, J, 2010, [http://dx.doi.org/10.1007/s11004-010-9276-7 Stochastic Simulation of Patterns Using Distance-Based Pattern Modeling], Mathematical Geosciences, 42: 487 - 517
  22. k-medias Clustering Tutorial: Download
  23. . Archivado desde el original el 18 de junio de 2012. Consultado el 3 de enero de 2013. 
  24. Antonio Gulli's coding playground: k-medias in C
  25. k-medias Clustering Tutorial: Matlab Code
  26. AI4R :: Artificial Intelligence for Ruby
  27. reddavis/k-medias · GitHub
  28. k-medias clustering and vector quantization (scipy.cluster.vq) — SciPy v0.11 Reference Guide (DRAFT)
  29. «Copia archivada». Archivado desde el original el 9 de julio de 2012. Consultado el 3 de enero de 2013. 
  30. http://code.google.com/p/figue/ FIGUE


  •   Datos: Q310401
  •   Multimedia: K-means algorithm

medias, método, agrupamiento, tiene, como, objetivo, partición, conjunto, observaciones, grupos, cada, observación, pertenece, grupo, cuyo, valor, medio, más, cercano, método, utilizado, minería, datos, agrupación, conjunto, datos, puede, ilustrarse, partición. K medias es un metodo de agrupamiento que tiene como objetivo la particion de un conjunto de n observaciones en k grupos en el que cada observacion pertenece al grupo cuyo valor medio es mas cercano Es un metodo utilizado en mineria de datos La agrupacion del conjunto de datos puede ilustrarse en una particion del espacio de datos en celdas de Voronoi El problema es computacionalmente dificil NP hard Sin embargo hay eficientes heuristicas que se emplean comunmente y convergen rapidamente a un optimo local Estos suelen ser similares a los algoritmos expectation maximization de mezclas de distribuciones gausianas por medio de un enfoque de refinamiento iterativo empleado por ambos algoritmos Ademas los dos algoritmos usan los centros que los grupos utilizan para modelar los datos sin embargo k medias tiende a encontrar grupos de extension espacial comparable mientras que el mecanismo expectation maximization permite que los grupos tengan formas diferentes Indice 1 Descripcion 2 Historia 3 Algoritmos 3 1 Algoritmo estandar 3 2 Complejidad 3 3 Variaciones 4 Discusion 5 Aplicaciones del algoritmo 6 Software 6 1 Libre 6 2 Comercial 6 3 Codigo fuente 7 ReferenciasDescripcion EditarDado un conjunto de observaciones x1 x2 xn donde cada observacion es un vector real de d dimensiones k medias construye una particion 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 a r g m i n S i 1 k x j S i x j m i 2 displaystyle underset mathbf S operatorname arg min sum i 1 k sum mathbf x j in S i left mathbf x j boldsymbol mu i right 2 donde µi es la media de puntos en Si Historia EditarEl termino 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 estandar fue propuesto por primera vez por Stuart Lloyd en 1957 como una tecnica para modulacion por impulsos codificados aunque no se publico fuera de los laboratorios Bell hasta 1982 3 En 1965 E W Forgy publico esencialmente el mismo metodo por lo que a veces tambien se le nombra como Lloyd Forgy 4 Una version mas eficiente fue propuesta y publicada en Fortran por Hartigan y Wong en 1975 1979 5 6 Algoritmos EditarAlgoritmo estandar Editar El algoritmo mas comun utiliza una tecnica de refinamiento iterativo Debido a su ubicuidad a menudo se llama el algoritmo k medias tambien se le conoce como algoritmo de Lloyd sobre todo en la comunidad informatica Dado un conjunto inicial de k centroides m1 1 mk 1 ver mas abajo el algoritmo continua alternando entre dos pasos 7 Paso de asignacion Asigna cada observacion al grupo con la media mas cercana es decir la particion de las observaciones de acuerdo con el diagrama de Voronoi generado por los centroides S i t x p x p m i t x p m j t 1 j k displaystyle S i t big x p big x p m i t big leq big x p m j t big forall 1 leq j leq k big Donde cada x p displaystyle x p va exactamente dentro de un S i t displaystyle S i t incluso aunque pudiera ir en dos de ellos dd Paso de actualizacion Calcular los nuevos centroides como el centroide de las observaciones en el grupo m i t 1 1 S i t x j S i t x j displaystyle mathbf m i t 1 frac 1 S i t sum mathbf x j in S i t mathbf x j dd El algoritmo se considera que ha convergido cuando las asignaciones ya no cambian Los metodos de inicializacion de Forgy y Particion Aleatoria son comunmente utilizados 8 El metodo Forgy elige aleatoriamente k observaciones del conjunto de datos y las utiliza como centroides iniciales El metodo de particion aleatoria primero asigna aleatoriamente un cluster para cada observacion y despues procede a la etapa de actualizacion por lo tanto calcular el cluster inicial para ser el centro de gravedad de los puntos de la agrupacion asignados al azar El metodo Forgy tiende a dispersar los centroides iniciales mientras que la particion aleatoria ubica los centroides cerca del centro del conjunto de datos Segun Hamerly y compania 8 el metodo de particion aleatoria general es preferible para los algoritmos tales como los k medias armonizadas y fuzzy k medias Para expectation maximization y el algoritmo estandar el metodo de Forgy es preferible Demostracion del algoritmos estandar 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 asociandole el punto con la media mas cercana La particion aqui 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 heuristico no hay ninguna garantia de que convergen al optimo global y el resultado puede depender de los grupos iniciales Como el algoritmo suele ser muy rapido es comun 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 practica esto se ve corroborado por el hecho de que en la mayoria de los casos el tiempo de ejecucion de k medias es polinomial 10 El paso de asignacion tambien se le conoce como paso expectativa la etapa de actualizacion como paso maximizacion por lo que este algoritmo una variante del algoritmo generalizado expectation maximization Complejidad Editar 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 numero general de grupos k incluso en el plano 13 Si k y d son fijados el problema se puede resolver en un tiempo O n d k 1 l o g n displaystyle O n dk 1 log n donde n displaystyle n es el numero de entidades a particionar 14 Por lo tanto una gran variedad de heuristicas son usadas generalmente El algoritmo k displaystyle k means que se discute debajo tiene orden polinomial para la mayoria de los casos Se ha demostrado que 10 para un conjunto arbitrario de n displaystyle n puntos en 0 1 d displaystyle 0 1 d si cada punto es perturbado independientemente por una distribucion normal con media y varianza s 2 displaystyle sigma 2 entonces el tiempo de ejecucion del algoritmo k displaystyle k means esta acotado por O n 34 k 34 d 8 l o g 4 n s 6 displaystyle O n 34 k 34 d 8 log 4 n sigma 6 que es un tiempo polinomial en n displaystyle n k displaystyle k d displaystyle d y 1 s displaystyle 1 sigma Se han demostrado mejores cotas para casos simples Por ejemplo 15 demuestra que el tiempo de corrida del algoritmo k displaystyle k means esta acotado por O d n 4 M 2 displaystyle O dn 4 M 2 para n displaystyle n puntos enteros en la rejilla 1 M d displaystyle 1 dots M d Variaciones Editar Fuzzy C Means Clustering es una version difusa del k medias donde cada punto tiene un grado difuso de pertenecia a cada grupo Modelos de mezclas gausianas entrenadas con el algoritmo Algoritmo esperanza maximizacion presentan una asignacion probabilistica a cada grupo en vez de asignaciones deterministas Se han presentado varios metodos 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 Algunos metodos tambien intentan acelerar el algoritmo usando coresets 17 or the triangle inequality 18 Se puede escapar de optimos locales intercambiando puntos entre los grupos 6 El algoritmo Spherical k medias es bastante usado para datos direccionales 19 El algoritmo Minkowski metric weighted k medias trata el problema del ruido asignando pesos a las componentes de los vectores por grupos 20 Discusion Editar ELKI Los centroides de los grupos son marcados usando simbolos semitransparentes un poco mas grandes agrupamiento k medias y agrupamiento EM en un conjunto de datos artificial mouse La tendencia del k medias a producir grupos con tamanos parecidos nos lleva a obtener malos resultados mientras que EM se beneficia de la distribucion gausiana presente en el conjunto de datos Las dos caracteristicas claves del k medias las que lo hacen eficiente vienen a convertirse en su principal problema La distancia euclidiana se usa como una metrica y la varianza es usada como una medida de la dispersion de los grupos El numero de grupos k es un parametro de entrada una eleccion inapropiada puede acarrear malos resultados Por eso es muy importante cuando corremos el k medias tener en cuenta la importancia de determinar el numero de grupos para un conjunto de datos La convergencia a optimos locales puede traer malos resultados ver ejemplo en Fig Una limitacion clave del k medias es su modelo de agrupamiento El concepto se basa en grupos esfericos 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 tamano por lo que la asignacion al grupo mas cercano es la asignacion correcta Cuando por ejemplo aplicamos k medias con un valor de k 3 displaystyle k 3 al conjunto de datos Iris flower el resultado no es el esperado incluso habiendo tres especies en el conjunto de datos Con k 2 displaystyle k 2 los dos grupos visibles uno conteniendo dos especies se pueden observar mientras que con k 3 displaystyle k 3 uno de los dos grupos se divide en dos partes iguales De hecho k 2 displaystyle k 2 es mas apropiado para este conjunto de datos aunque este ultimo 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 optimos locales como se puede ver en el conjunto mouse Los modelos gausianos usados por el algoritmo Expectation maximization que puede ser visto como una generalizacion del k medias son mas flexibles ya que controlan varianzas y covarianzas El resultado de EM crea grupos con tamano variable mas facilmente que k medias tanto como grupos correlacionados no en este ejemplo Aplicaciones del algoritmo EditarAgrupamiento k medias cuando se usan heuristicas como el algoritmo de Lloyd es facil de implementar incluso para grandes conjuntos de datos Por lo que ha sido ampliamente usado en muchas areas como segmentacion de mercados vision por computadoras geoestadistica 21 astronomia y mineria de datos en agricultura Tambien se usa como preprocesamiento para otros algoritmos por ejemplo para buscar una configuracion inicial Software EditarLibre Editar Apache Mahout k medias 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 mas avanzados MLPACK contiene una implementacion del k medias R kmeans implementa una variedad de algoritmos 1 3 6 SciPy vector quantization Silverlight widget mostrando el algoritmo k medias extensiones PostgreSQL para k medias CMU s GraphLab Clustering library Implementacion eficiente para varios processadores Weka contiene k medias y algunas varientes como k medias y x means Spectral Python contiene metodos para la clasificacion no supervisada incluyendo el algoritmo k medias KNIME 1 contiene nodos para la aplicacion del algoritmo Kmeans de forma agil y controlada asi como muchos otros algoritmos de segmentacion y mineria de datos Comercial Editar IDL Cluster Clust Wts Mathematica ClusteringComponents function MATLAB kmeans SAS FASTCLUS VisuMap kMeans ClusteringCodigo fuente Editar ELKI and Weka esta escrito en Java y contiene implementaciones del k medias k medias en PHP 22 using VB 23 using Perl 24 using C 25 using Matlab 26 using Ruby 27 28 using Python with scipy 29 using X10 30 Una implementacion en C 31 Una coleccion de algoritmos de agrupamientos incluido k medias implementado en Javascript 32 Online demo 33 Referencias Editar a b MacQueen J B 1967 Some Methods for classification and Analysis of Multivariate Observations Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability 1 University of California Press pp 281 297 MR 0214227 Zbl 0214 46201 Consultado el 7 de abril de 2009 Steinhaus H 1957 Sur la division des corps materiels en parties Bull Acad Polon Sci en frances 4 12 801 804 MR 0090073 Zbl 0079 16403 a b Lloyd S P 1957 Least square quantization in PCM Bell Telephone Laboratories Paper Publicado mucho mas tarde en la revista Lloyd S P 1982 Least squares quantization in PCM IEEE Transactions on Information Theory 28 2 129 137 doi 10 1109 TIT 1982 1056489 Consultado el 15 de abril de 2009 E W Forgy 1965 Cluster analysis of multivariate data efficiency versus interpretability of classifications Biometrics 21 768 769 J A Hartigan 1975 Clustering algorithms John Wiley amp Sons Inc a b c Hartigan J A Wong M A 1979 Algorithm AS 136 A k medias Clustering Algorithm Journal of the Royal Statistical Society Series C Applied Statistics 28 1 100 108 JSTOR 2346830 MacKay David 2003 Chapter 20 An Example Inference Task Clustering Information Theory Inference and Learning Algorithms Cambridge University Press pp 284 292 ISBN 0 521 64298 1 MR 2012999 a b Hamerly G and Elkan C 2002 Alternatives to the k medias algorithm that find better clusterings Proceedings of the eleventh international conference on Information and knowledge management CIKM Archivado desde el original urlarchivo requiere url ayuda el urlarchivo requiere fechaarchivo ayuda Consultado el 3 de enero de 2013 Vattani A 2011 k medias requires exponentially many iterations even in the plane Discrete and Computational Geometry 45 4 596 616 doi 10 1007 s00454 011 9340 1 a b Arthur D Manthey B Roeglin H 2009 k medias has polynomial smoothed complexity Proceedings of the 50th Symposium on Foundations of Computer Science FOCS Aloise D Deshpande A Hansen P Popat P 2009 NP hardness of Euclidean sum of squares clustering Machine Learning 75 245 249 doi 10 1007 s10994 009 5103 0 Dasgupta S and Freund Y julio de 2009 Random Projection Trees for Vector Quantization Information Theory IEEE Transactions on 55 3229 3242 arXiv 0805 1390 doi 10 1109 TIT 2009 2021326 Mahajan M Nimbhorkar P Varadarajan K 2009 The Planar k medias Problem is NP Hard Lecture Notes in Computer Science 5431 274 285 doi 10 1007 978 3 642 00202 1 24 Inaba M Katoh N Imai H 1994 Applications of weighted Voronoi diagrams and randomization to variance basedk clustering Proceedings of 10th ACM Symposium on Computational Geometry pp 332 339 doi 10 1145 177424 178042 Arthur Abhishek Bhowmick 2009 A theoretical analysis of Lloyd s algorithm for k medias clustering Texto http www cse iitk ac in users bhowmick lloyd pdf ignorado ayuda Kanungo T Mount D M Nathan Netanyahu Netanyahu N S Piatko C D Silverman R Wu A Y 2002 An efficient k medias clustering algorithm Analysis and implementation IEEE Trans Pattern Analysis and Machine Intelligence 24 881 892 doi 10 1109 TPAMI 2002 1017616 Consultado el 24 de abril de 2009 Frahling G Sohler C 2006 A fast k medias implementation using coresets Proceedings of the twenty second annual symposium on Computational geometry SoCG Elkan C 2003 Using the triangle inequality to accelerate k medias Proceedings of the Twentieth International Conference on Machine Learning ICML Dhillon I S Modha D M 2001 Concept decompositions for large sparse text data using clustering Machine Learning 42 1 143 175 Amorim R C Mirkin B 2012 Minkowski metric feature weighting and anomalous cluster initializing in k medias clustering Pattern Recognition 45 3 1061 1075 doi 10 1016 j patcog 2011 08 012 Honarkhah M and Caers J 2010 http dx doi org 10 1007 s11004 010 9276 7 Stochastic Simulation of Patterns Using Distance Based Pattern Modeling Mathematical Geosciences 42 487 517 https web archive org web 20080208213306 http www25 brinkster com denshade kmeans php htm k medias Clustering Tutorial Download Perl script for Kmeans clustering Archivado desde el original el 18 de junio de 2012 Consultado el 3 de enero de 2013 Antonio Gulli s coding playground k medias in C k medias Clustering Tutorial Matlab Code AI4R Artificial Intelligence for Ruby reddavis k medias GitHub k medias clustering and vector quantization scipy cluster vq SciPy v0 11 Reference Guide DRAFT Copia archivada Archivado desde el original el 9 de julio de 2012 Consultado el 3 de enero de 2013 https web archive org web 20120302183933 http www cs princeton edu wdong kmeans http code google com p figue FIGUE https web archive org web 20130212004526 http web science mq edu au jydelort figue demo html Datos Q310401 Multimedia K means algorithmObtenido de https es wikipedia org w index php title K medias amp oldid 137798709, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos