Agrupamiento de k-medias

Algoritmo de cuantificación vectorial que minimiza la suma de las desviaciones al cuadrado

El agrupamiento de k -medias es un método de cuantificación vectorial , originariamente del procesamiento de señales , que tiene como objetivo particionar n observaciones en k grupos en los que cada observación pertenece al grupo con la media más cercana (centros de grupo o centroide de grupo ), que sirve como prototipo del grupo. Esto da como resultado una partición del espacio de datos en celdas de Voronoi . El agrupamiento de k -medias minimiza las varianzas dentro del grupo ( distancias euclidianas al cuadrado ), pero no las distancias euclidianas regulares, que sería el problema de Weber más difícil : la media optimiza los errores al cuadrado, mientras que solo la mediana geométrica minimiza las distancias euclidianas. Por ejemplo, se pueden encontrar mejores soluciones euclidianas utilizando k -medianas y k -medoides .

El problema es computacionalmente difícil ( NP-hard ); sin embargo, los algoritmos heurísticos eficientes convergen rápidamente a un óptimo local . Estos suelen ser similares al algoritmo de expectativa-maximización para mezclas de distribuciones gaussianas a través de un enfoque de refinamiento iterativo empleado tanto por k-means como por el modelado de mezcla gaussiana . Ambos utilizan centros de clústeres para modelar los datos; sin embargo, el agrupamiento k -means tiende a encontrar clústeres de extensión espacial comparable, mientras que el modelo de mezcla gaussiana permite que los clústeres tengan diferentes formas.

El algoritmo k -means no supervisado tiene una relación vaga con el clasificador de k -vecinos más cercanos , una técnica popular de aprendizaje automático supervisado para la clasificación que a menudo se confunde con k -means debido al nombre. La aplicación del clasificador de 1 vecino más cercano a los centros de los clústeres obtenidos por k -means clasifica los datos nuevos en los clústeres existentes. Esto se conoce como clasificador de centroide más cercano o algoritmo de Rocchio .

Descripción

Dado un conjunto de observaciones ( x 1 , x 2 , ..., x n ) , donde cada observación es un vector real -dimensional, la agrupación de k -medias tiene como objetivo particionar las n observaciones en k ( n ) conjuntos S = { S 1 , S 2 , ..., S k } para minimizar la suma de cuadrados dentro del grupo (WCSS) (es decir, la varianza ). Formalmente, el objetivo es encontrar: donde μ i es la media (también llamada centroide) de los puntos en , es decir, es el tamaño de , y es la norma L 2 habitual . Esto es equivalente a minimizar las desviaciones al cuadrado por pares de puntos en el mismo grupo: La equivalencia se puede deducir de la identidad . Dado que la varianza total es constante, esto es equivalente a maximizar la suma de las desviaciones al cuadrado entre puntos en diferentes grupos (suma de cuadrados entre grupos, BCSS). [1] Esta relación determinista también está relacionada con la ley de varianza total en la teoría de probabilidad. d {\displaystyle d} a r g m i n S i = 1 k x S i x μ i 2 = a r g m i n S i = 1 k | S i | Var S i {\displaystyle \mathop {\operatorname {arg\,min} } _{\mathbf {S} }\sum _{i=1}^{k}\sum _{\mathbf {x} \in S_{i}}\left\|\mathbf {x} -{\boldsymbol {\mu }}_{i}\right\|^{2}=\mathop {\operatorname {arg\,min} } _{\mathbf {S} }\sum _{i=1}^{k}|S_{i}|\operatorname {Var} S_{i}} S i {\displaystyle S_{i}} μ i = 1 | S i | x S i x , {\displaystyle {\boldsymbol {\mu _{i}}}={\frac {1}{|S_{i}|}}\sum _{\mathbf {x} \in S_{i}}\mathbf {x} ,} | S i | {\displaystyle |S_{i}|} S i {\displaystyle S_{i}} {\displaystyle \|\cdot \|} a r g m i n S i = 1 k 1 | S i | x , y S i x y 2 {\displaystyle \mathop {\operatorname {arg\,min} } _{\mathbf {S} }\sum _{i=1}^{k}\,{\frac {1}{|S_{i}|}}\,\sum _{\mathbf {x} ,\mathbf {y} \in S_{i}}\left\|\mathbf {x} -\mathbf {y} \right\|^{2}} | S i | x S i x μ i 2 = 1 2 x , y S i x y 2 {\textstyle |S_{i}|\sum _{\mathbf {x} \in S_{i}}\left\|\mathbf {x} -{\boldsymbol {\mu }}_{i}\right\|^{2}={\frac {1}{2}}\sum _{\mathbf {x} ,\mathbf {y} \in S_{i}}\left\|\mathbf {x} -\mathbf {y} \right\|^{2}}

Historia

El término " k -means" fue utilizado por primera vez por James MacQueen en 1967, [2] aunque la idea se remonta a Hugo Steinhaus en 1956. [3] El algoritmo estándar fue propuesto por primera vez por Stuart Lloyd de Bell Labs en 1957 como una técnica para la modulación de código de pulso , aunque no se publicó como artículo de revista hasta 1982. [4] En 1965, Edward W. Forgy publicó esencialmente el mismo método, por lo que a veces se lo conoce como el algoritmo Lloyd-Forgy. [5]

Algoritmos

Algoritmo estándar (ingenuo)a-medio)

Convergencia de k -medias

El algoritmo más común utiliza una técnica de refinamiento iterativo. Debido a su ubicuidad, a menudo se lo denomina " algoritmo k -means"; también se lo conoce como algoritmo de Lloyd , particularmente en la comunidad informática. A veces también se lo conoce como " algoritmo k -means ingenuo", porque existen alternativas mucho más rápidas. [6]

Dado un conjunto inicial de k medias m 1 (1) , ..., m k (1) (ver más abajo), el algoritmo procede alternando entre dos pasos: [7]

  1. Paso de asignación : Asignar cada observación al grupo con la media más cercana: aquella con la distancia euclidiana de mínimos cuadrados . [8] (Matemáticamente, esto significa particionar las observaciones de acuerdo con el diagrama de Voronoi generado por las medias), donde cada una se asigna exactamente a una , incluso si pudiera asignarse a dos o más de ellas. S i ( t ) = { x p : x p m i ( t ) 2 x p m j ( t ) 2   j , 1 j k } , {\displaystyle S_{i}^{(t)}=\left\{x_{p}:\left\|x_{p}-m_{i}^{(t)}\right\|^{2}\leq \left\|x_{p}-m_{j}^{(t)}\right\|^{2}\ \forall j,1\leq j\leq k\right\},} x p {\displaystyle x_{p}} S ( t ) {\displaystyle S^{(t)}}
  2. Paso de actualización : recalcular las medias ( centroides ) de las observaciones asignadas a cada grupo. m i ( t + 1 ) = 1 | S i ( t ) | x j S i ( t ) x j {\displaystyle m_{i}^{(t+1)}={\frac {1}{\left|S_{i}^{(t)}\right|}}\sum _{x_{j}\in S_{i}^{(t)}}x_{j}}

La función objetivo en k -medias es la WCSS (suma de cuadrados dentro del conglomerado). Después de cada iteración, la WCSS disminuye y, por lo tanto, tenemos una secuencia monótona decreciente no negativa. Esto garantiza que las k -medias siempre convergen, pero no necesariamente al óptimo global.

El algoritmo ha convergido cuando las asignaciones ya no cambian o, equivalentemente, cuando el WCSS se ha vuelto estable. No se garantiza que el algoritmo encuentre el óptimo. [9]

El algoritmo se presenta a menudo como la asignación de objetos al grupo más cercano por distancia. El uso de una función de distancia distinta a la distancia euclidiana (al cuadrado) puede impedir que el algoritmo converja. Se han propuesto varias modificaciones de las k -medias, como las k -medias esféricas y las k -medoides, para permitir el uso de otras medidas de distancia.

Pseudocódigo

El pseudocódigo que se muestra a continuación describe la implementación del algoritmo de agrupamiento estándar de k -medias. La inicialización de los centroides, la métrica de distancia entre puntos y centroides y el cálculo de nuevos centroides son opciones de diseño y variarán según las diferentes implementaciones. En este pseudocódigo de ejemplo, se utiliza argmin para encontrar el índice del valor mínimo.

def  k_means_cluster ( k ,  puntos ): # Inicialización: elija k centroides (Forgy, Partición aleatoria, etc.) centroides  =  [ c1 ,  c2 ,  ... ,  ck ]  # Inicializar lista de clusters clusters  =  [[]  para  _  en  rango ( k )]  # Bucle hasta la convergencia convergido  =  falso mientras  no  converja : # Borrar clústeres anteriores clusters  =  [[]  para  _  en  rango ( k )]  # Asigna cada punto al centroide "más cercano" para  punto  en  puntos : distancias_a_cada_centroide  =  [ distancia ( punto ,  centroide )  para  el centroide  en  centroides ] asignación_de_grupo  =  argmin ( distancias_a_cada_centroide ) clusters [ cluster_assignment ] .append ( punto )  # Calcular nuevos centroides # (la implementación estándar utiliza la media de todos los puntos en una # cluster para determinar el nuevo centroide) new_centroids  =  [ calculate_centroid ( cluster )  para  el cluster  en  clusters ]  convergente  =  ( nuevos_centroides  ==  centroides ) centroides  =  nuevos_centroides  Si  convergió : devolver  clústeres

Métodos de inicialización

Los métodos de inicialización más utilizados son Forgy y Partición aleatoria. [10] El método Forgy elige aleatoriamente k observaciones del conjunto de datos y las utiliza como medias iniciales. El método Partición aleatoria primero asigna aleatoriamente un conglomerado a cada observación y luego procede al paso de actualización, calculando así la media inicial como el centroide de los puntos asignados aleatoriamente al conglomerado. El método Forgy tiende a dispersar las medias iniciales, mientras que la Partición aleatoria las coloca todas cerca del centro del conjunto de datos. Según Hamerly et al., [10] el método Partición aleatoria es generalmente preferible para algoritmos como las medias k -armónicas y las k -medias difusas . Para los algoritmos de maximización de expectativas y k -medias estándar, es preferible el método de inicialización Forgy. Sin embargo, un estudio exhaustivo de Celebi et al., [11] encontró que los métodos de inicialización populares como Forgy, Random Partition y Maximin a menudo tienen un desempeño deficiente, mientras que el enfoque de Bradley y Fayyad [12] funciona "consistentemente" en "el mejor grupo" y k -means++ funciona "generalmente bien".

El algoritmo no garantiza la convergencia al óptimo global. El resultado puede depender de los grupos iniciales. Como el algoritmo suele ser rápido, es común ejecutarlo varias veces con diferentes condiciones iniciales. Sin embargo, el rendimiento en el peor de los casos puede ser lento: en particular, ciertos conjuntos de puntos, incluso en dos dimensiones, convergen en tiempo exponencial, es decir, 2 Ω( n ) . [13] Estos conjuntos de puntos no parecen surgir en la práctica: esto se corrobora por el hecho de que el tiempo de ejecución suavizado de k -medias es polinomial. [14]

El paso de "asignación" se denomina "paso de expectativa", mientras que el "paso de actualización" es un paso de maximización, lo que convierte a este algoritmo en una variante del algoritmo de expectativa-maximización generalizado .

Complejidad

Encontrar la solución óptima al problema de agrupamiento de k -medias para observaciones en d dimensiones es:

  • NP-hard en el espacio euclidiano general (de d dimensiones) incluso para dos cúmulos, [15] [16]
  • NP-duro para un número general de grupos k incluso en el plano, [17]
  • Si k y d (la dimensión) son fijos, el problema se puede resolver exactamente en el tiempo , donde n es el número de entidades a agrupar. [18] O ( n d k + 1 ) {\displaystyle O(n^{dk+1})}

Por lo tanto, generalmente se utilizan una variedad de algoritmos heurísticos como el algoritmo de Lloyd mencionado anteriormente.

El tiempo de ejecución del algoritmo de Lloyd (y la mayoría de las variantes) es , [9] [19] donde: O ( n k d i ) {\displaystyle O(nkdi)}

  • n es el número de vectores de dimensión d (que se van a agrupar)
  • k el número de clusters
  • i el número de iteraciones necesarias hasta la convergencia.

En el caso de datos que sí tienen una estructura de agrupamiento, el número de iteraciones hasta la convergencia suele ser pequeño y los resultados solo mejoran ligeramente después de la primera docena de iteraciones. Por lo tanto, en la práctica, el algoritmo de Lloyd suele considerarse de complejidad "lineal", aunque en el peor de los casos es superpolinomial cuando se ejecuta hasta la convergencia. [20]

  • En el peor de los casos, el algoritmo de Lloyd necesita iteraciones, por lo que la complejidad del peor de los casos del algoritmo de Lloyd es superpolinomial . [20] i = 2 Ω ( n ) {\displaystyle i=2^{\Omega ({\sqrt {n}})}}
  • El algoritmo k -medias de Lloyd tiene un tiempo de ejecución suavizado por polinomios. Se muestra que [14] para un conjunto arbitrario de n puntos en , si cada punto es perturbado independientemente por una distribución normal con media 0 y varianza , entonces el tiempo de ejecución esperado del algoritmo k -medias está limitado por , que es un polinomio en n , k , d y . [ 0 , 1 ] d {\displaystyle [0,1]^{d}} σ 2 {\displaystyle \sigma ^{2}} O ( n 34 k 34 d 8 log 4 ( n ) / σ 6 ) {\displaystyle O(n^{34}k^{34}d^{8}\log ^{4}(n)/\sigma ^{6})} 1 / σ {\displaystyle 1/\sigma }
  • Se han demostrado límites mejores para casos simples. Por ejemplo, se muestra que el tiempo de ejecución del algoritmo k -means está limitado por para n puntos en una red de números enteros . [21] O ( d n 4 M 2 ) {\displaystyle O(dn^{4}M^{2})} { 1 , , M } d {\displaystyle \{1,\dots ,M\}^{d}}

El algoritmo de Lloyd es el enfoque estándar para este problema. Sin embargo, dedica mucho tiempo de procesamiento a calcular las distancias entre cada uno de los centros de los k grupos y los n puntos de datos. Dado que los puntos suelen permanecer en los mismos grupos después de unas pocas iteraciones, gran parte de este trabajo es innecesario, lo que hace que la implementación ingenua sea muy ineficiente. Algunas implementaciones utilizan el almacenamiento en caché y la desigualdad triangular para crear límites y acelerar el algoritmo de Lloyd. [9] [22] [23] [24] [25]

Número óptimo de clústeres

Encontrar el número óptimo de clústeres ( k ) para la agrupación en k -medias es un paso crucial para garantizar que los resultados de la agrupación sean significativos y útiles. [26] Existen varias técnicas disponibles para determinar un número adecuado de clústeres. A continuación, se presentan algunos de los métodos más utilizados:

  • Método del codo (agrupamiento) : este método implica trazar la variación explicada como una función del número de conglomerados y elegir el codo de la curva como el número de conglomerados a utilizar. [27] Sin embargo, la noción de "codo" no está bien definida y se sabe que no es confiable. [28]
  • Silueta (agrupamiento) : el análisis de silueta mide la calidad del agrupamiento y proporciona una idea de la distancia de separación entre los agrupamientos resultantes. [29] Una puntuación de silueta más alta indica que el objeto coincide bien con su propio agrupamiento y mal con los agrupamientos vecinos.
  • Estadística de brecha : la estadística de brecha compara la variación total dentro del grupo para diferentes valores de k con sus valores esperados bajo una distribución de referencia nula de los datos. [30] El k óptimo es el valor que produce la estadística de brecha más grande.
  • Índice de Davies-Bouldin : el índice de Davies-Bouldin es una medida de cuánta separación hay entre los clústeres. [31] Los valores más bajos del índice de Davies-Bouldin indican un modelo con mejor separación.
  • Índice de Calinski-Harabasz : este índice evalúa los conglomerados en función de su compacidad y separación. El índice se calcula utilizando la relación entre la varianza entre conglomerados y la varianza dentro de los conglomerados; los valores más altos indican conglomerados mejor definidos. [32]
  • Índice Rand : Calcula la proporción de acuerdo entre los dos clústeres, considerando ambos pares de elementos que están correctamente asignados al mismo o a diferentes clústeres. [33] Los valores más altos indican mayor similitud y mejor calidad de agrupamiento. Para proporcionar una medida más precisa, el Índice Rand Ajustado (ARI), introducido por Hubert y Arabie en 1985, corrige el Índice Rand ajustando la similitud esperada de todos los emparejamientos debido al azar. [34]

Variaciones

  • Optimización de rupturas naturales de Jenks : k -medias aplicadas a datos univariados
  • La agrupación de k -medianas utiliza la mediana en cada dimensión en lugar de la media, y de esta manera minimizala norma ( geometría del taxi ). L 1 {\displaystyle L_{1}}
  • k -medoids (también: Partitioning Around Medoids, PAM) utiliza el medoide en lugar de la media, y de esta manera minimiza la suma de distancias para funciones de distancia arbitrarias .
  • El agrupamiento difuso de C-medias es una versión suave de k -medias, donde cada punto de datos tiene un grado difuso de pertenencia a cada grupo.
  • Los modelos de mezcla gaussiana entrenados con el algoritmo de expectativa-maximización (algoritmo EM) mantienen asignaciones probabilísticas a los clústeres, en lugar de asignaciones deterministas, y distribuciones gaussianas multivariadas en lugar de medias.
  • k -means++ elige centros iniciales de una manera que proporciona un límite superior demostrable para el objetivo WCSS.
  • El algoritmo de filtrado utiliza árboles k -d para acelerar cada paso de k -medias. [35]
  • Algunos métodos intentan acelerar cada paso de k -medias utilizando la desigualdad triangular . [22] [23] [24] [36] [25]
  • Escapar de los óptimos locales intercambiando puntos entre grupos. [9]
  • El algoritmo de agrupamiento k -medias esférico es adecuado para datos textuales. [37]
  • Las variantes jerárquicas como la bisección de k -medias, [38] la agrupación en clústeres de X-medias [39] y la agrupación en clústeres de G-medias [40] dividen repetidamente los clústeres para construir una jerarquía y también pueden intentar determinar automáticamente la cantidad óptima de clústeres en un conjunto de datos.
  • Las medidas de evaluación de clústeres internos, como la silueta de clústeres, pueden ser útiles para determinar la cantidad de clústeres .
  • La k -media ponderada de Minkowski calcula automáticamente los pesos de las características específicas de cada grupo, lo que respalda la idea intuitiva de que una característica puede tener diferentes grados de relevancia en diferentes características. [41] Estos pesos también se pueden utilizar para volver a escalar un conjunto de datos determinado, lo que aumenta la probabilidad de que un índice de validez de grupo se optimice en la cantidad esperada de grupos. [42]
  • Mini-lotes k -medias: variación de k -medias utilizando muestras de "minilotes" para conjuntos de datos que no caben en la memoria. [43]
  • El método de Otsu

Método Hartigan-Wong

El método de Hartigan y Wong [9] proporciona una variación del algoritmo k -means que avanza hacia un mínimo local del problema de suma mínima de cuadrados con diferentes actualizaciones de solución. El método es una búsqueda local que intenta iterativamente reubicar una muestra en un grupo diferente siempre que este proceso mejore la función objetivo. Cuando no se puede reubicar ninguna muestra en un grupo diferente con una mejora del objetivo, el método se detiene (en un mínimo local). De manera similar al clásico k -means, el enfoque sigue siendo una heurística ya que no garantiza necesariamente que la solución final sea globalmente óptima.

Sea el costo individual de definido por , con el centro del clúster. φ ( S j ) {\displaystyle \varphi (S_{j})} S j {\displaystyle S_{j}} x S j ( x μ j ) 2 {\textstyle \sum _{x\in S_{j}}(x-\mu _{j})^{2}} μ j {\displaystyle \mu _{j}}

Paso de asignación
El método de Hartigan y Wong comienza dividiendo los puntos en grupos aleatorios . { S j } j { 1 , k } {\displaystyle \{S_{j}\}_{j\in \{1,\cdots k\}}}
Paso de actualización
A continuación, determina el y para el cual la siguiente función alcanza un máximo. Para los que alcanzan este máximo, se mueve del clúster al clúster . n , m { 1 , , k } {\displaystyle n,m\in \{1,\ldots ,k\}} x S n {\displaystyle x\in S_{n}} Δ ( m , n , x ) = φ ( S n ) + φ ( S m ) φ ( S n { x } ) φ ( S m { x } ) . {\displaystyle \Delta (m,n,x)=\varphi (S_{n})+\varphi (S_{m})-\varphi (S_{n}\setminus \{x\})-\varphi (S_{m}\cup \{x\}).} x , n , m {\displaystyle x,n,m} x {\displaystyle x} S n {\displaystyle S_{n}} S m {\displaystyle S_{m}}
Terminación
El algoritmo termina una vez que es menor que cero para todos . Δ ( m , n , x ) {\displaystyle \Delta (m,n,x)} x , n , m {\displaystyle x,n,m}

Se pueden utilizar diferentes estrategias de aceptación de movimientos. En una estrategia de primera mejora , se puede aplicar cualquier reubicación que mejore, mientras que en una estrategia de mejor mejora , se prueban iterativamente todas las reubicaciones posibles y solo se aplica la mejor en cada iteración. El primer enfoque favorece la velocidad, mientras que el segundo enfoque generalmente favorece la calidad de la solución a expensas de un tiempo computacional adicional. La función utilizada para calcular el resultado de una reubicación también se puede evaluar de manera eficiente mediante el uso de la igualdad [44]. Δ {\displaystyle \Delta }

Δ ( x , n , m ) = S n S n 1 μ n x 2 S m S m + 1 μ m x 2 . {\displaystyle \Delta (x,n,m)={\frac {\mid S_{n}\mid }{\mid S_{n}\mid -1}}\cdot \lVert \mu _{n}-x\rVert ^{2}-{\frac {\mid S_{m}\mid }{\mid S_{m}\mid +1}}\cdot \lVert \mu _{m}-x\rVert ^{2}.}

Optimización global y metaheurística

Se sabe que el algoritmo clásico k -means y sus variaciones solo convergen a mínimos locales del problema de agrupamiento de suma mínima de cuadrados definido como Muchos estudios han intentado mejorar el comportamiento de convergencia del algoritmo y maximizar las posibilidades de alcanzar el óptimo global (o al menos, mínimos locales de mejor calidad). Las técnicas de inicialización y reinicio discutidas en las secciones anteriores son una alternativa para encontrar mejores soluciones. Más recientemente, los algoritmos de optimización global basados ​​en programación de ramificación y acotación y semidefinida han producido soluciones "demostradamente óptimas" para conjuntos de datos con hasta 4177 entidades y 20 531 características. [45] Como se esperaba, debido a la dureza NP del problema de optimización subyacente, el tiempo computacional de los algoritmos óptimos para k -means aumenta rápidamente más allá de este tamaño. Las soluciones óptimas para pequeña y mediana escala siguen siendo valiosas como herramienta de referencia para evaluar la calidad de otras heurísticas. Para encontrar mínimos locales de alta calidad dentro de un tiempo computacional controlado pero sin garantías de optimalidad, otros trabajos han explorado metaheurísticas y otras técnicas de optimización global , por ejemplo, basadas en enfoques incrementales y optimización convexa, [46] intercambios aleatorios [47] (es decir, búsqueda local iterada ), búsqueda de vecindad variable [48] y algoritmos genéticos . [49] [50] De hecho, se sabe que encontrar mejores mínimos locales del problema de agrupamiento de suma mínima de cuadrados puede marcar la diferencia entre el fracaso y el éxito para recuperar estructuras de clúster en espacios de características de alta dimensión. [50] a r g m i n S i = 1 k x S i x μ i 2 . {\displaystyle \mathop {\operatorname {arg\,min} } _{\mathbf {S} }\sum _{i=1}^{k}\sum _{\mathbf {x} \in S_{i}}\left\|\mathbf {x} -{\boldsymbol {\mu }}_{i}\right\|^{2}.}

Discusión

Un ejemplo típico de la convergencia de k -medias a un mínimo local. En este ejemplo, el resultado de la agrupación de k -medias (la figura de la derecha) contradice la estructura de agrupación obvia del conjunto de datos. Los círculos pequeños son los puntos de datos, las cuatro estrellas de rayos son los centroides (medias). La configuración inicial está en la figura de la izquierda. El algoritmo converge después de cinco iteraciones presentadas en las figuras, de izquierda a derecha. La ilustración se preparó con el applet Java de Mirkes. [51]
Resultado de la agrupación de k -medias para el conjunto de datos de flores de iris y especies reales visualizadas con ELKI . Las medias de los grupos se marcan con símbolos grandes y semitransparentes.
Agrupamiento k -means vs. agrupamiento EM en un conjunto de datos artificial ("ratón"). La tendencia de k -means a producir agrupamientos de igual tamaño conduce a malos resultados en este caso, mientras que EM se beneficia de las distribuciones gaussianas con diferentes radios presentes en el conjunto de datos.

Tres características clave de k -means que lo hacen eficiente a menudo se consideran sus mayores desventajas:

  • La distancia euclidiana se utiliza como métrica y la varianza se utiliza como medida de dispersión de conglomerados.
  • El número de conglomerados k es un parámetro de entrada: una elección inadecuada de k puede dar lugar a resultados deficientes. Por ello, al realizar el análisis de k -medias, es importante realizar comprobaciones de diagnóstico para determinar el número de conglomerados en el conjunto de datos .
  • La convergencia a un mínimo local puede producir resultados contra-intuitivos ("erróneos") (véase el ejemplo en la figura).

Una limitación clave de k -means es su modelo de clúster. El concepto se basa en clústeres esféricos que son separables de modo que la media converge hacia el centro del clúster. Se espera que los clústeres sean de tamaño similar, de modo que la asignación al centro del clúster más cercano sea la asignación correcta. Cuando, por ejemplo, se aplica k -means con un valor de en el conocido conjunto de datos de flores de iris , el resultado a menudo no logra separar las tres especies de iris contenidas en el conjunto de datos. Con , se descubrirán los dos clústeres visibles (uno que contiene dos especies), mientras que con uno de los dos clústeres se dividirá en dos partes iguales. De hecho, es más apropiado para este conjunto de datos, a pesar de que el conjunto de datos contiene 3 clases . Al igual que con cualquier otro algoritmo de agrupamiento, el resultado de k -means hace suposiciones de que los datos satisfacen ciertos criterios. Funciona bien en algunos conjuntos de datos y falla en otros. k = 3 {\displaystyle k=3} k = 2 {\displaystyle k=2} k = 3 {\displaystyle k=3} k = 2 {\displaystyle k=2}

El resultado de k -medias puede verse como las celdas de Voronoi de las medias de los conglomerados. Dado que los datos se dividen a la mitad entre las medias de los conglomerados, esto puede conducir a divisiones subóptimas como se puede ver en el ejemplo del "ratón". Los modelos gaussianos utilizados por el algoritmo de expectativa-maximización (podría decirse que una generalización de k -medias) son más flexibles al tener varianzas y covarianzas. El resultado EM es así capaz de acomodar conglomerados de tamaño variable mucho mejor que k -medias, así como conglomerados correlacionados (no en este ejemplo). En contrapartida, EM requiere la optimización de un mayor número de parámetros libres y plantea algunos problemas metodológicos debido a conglomerados que se desvanecen o matrices de covarianza mal condicionadas. k -medias está estrechamente relacionado con el modelado bayesiano no paramétrico . [52]

Aplicaciones

La agrupación en clústeres de k -medias es bastante fácil de aplicar incluso a grandes conjuntos de datos, en particular cuando se utilizan heurísticas como el algoritmo de Lloyd . Se ha utilizado con éxito en la segmentación de mercados , la visión artificial y la astronomía , entre muchos otros campos. A menudo se utiliza como un paso de preprocesamiento para otros algoritmos, por ejemplo, para encontrar una configuración inicial.

Cuantización vectorial

La cuantificación vectorial , una técnica que se utiliza habitualmente en el procesamiento de señales y en gráficos por ordenador, implica la reducción de la paleta de colores de una imagen a un número fijo de colores, conocido como k . Un método popular para lograr la cuantificación vectorial es mediante la agrupación de k -medias. En este proceso, se aplica k -medias al espacio de color de una imagen para dividirla en k grupos, donde cada grupo representa un color distinto en la imagen. Esta técnica es especialmente útil en tareas de segmentación de imágenes, donde ayuda a identificar y agrupar colores similares.

Imagen de ejemplo con solo canales rojo y verde (con fines ilustrativos)
Cuantización vectorial de los colores presentes en la imagen de arriba en celdas de Voronoi utilizando k -medias

Ejemplo: En el campo de los gráficos por computadora , la agrupación de k -medias se emplea a menudo para la cuantificación de color en la compresión de imágenes. Al reducir la cantidad de colores utilizados para representar una imagen, se pueden reducir significativamente los tamaños de archivo sin una pérdida significativa de calidad visual. Por ejemplo, considere una imagen con millones de colores. Al aplicar la agrupación de k -medias con k establecido en un número menor, la imagen se puede representar utilizando una paleta de colores más limitada , lo que da como resultado una versión comprimida que consume menos espacio de almacenamiento y ancho de banda. Otros usos de la cuantificación vectorial incluyen el muestreo no aleatorio , ya que k -medias se pueden utilizar fácilmente para elegir k objetos diferentes pero prototípicos de un gran conjunto de datos para su posterior análisis.

Análisis de conglomerados

El análisis de conglomerados , una tarea fundamental en la minería de datos y el aprendizaje automático , implica agrupar un conjunto de puntos de datos en conglomerados en función de su similitud. El agrupamiento de k -medias es un algoritmo popular utilizado para particionar datos en k conglomerados, donde cada conglomerado está representado por su centroide.

Sin embargo, el algoritmo k -means puro no es muy flexible y, como tal, su uso es limitado (excepto cuando la cuantificación vectorial como la descrita anteriormente es el caso de uso deseado). En particular, se sabe que el parámetro k es difícil de elegir (como se explicó anteriormente) cuando no está determinado por restricciones externas. Otra limitación es que no se puede utilizar con funciones de distancia arbitrarias o con datos no numéricos. Para estos casos de uso, muchos otros algoritmos son superiores.

Ejemplo: En marketing, la agrupación de k -medias se emplea con frecuencia para la segmentación del mercado , donde se agrupan los clientes con características o comportamientos similares. Por ejemplo, una empresa minorista puede utilizar la agrupación de k -medias para segmentar su base de clientes en grupos distintos en función de factores como el comportamiento de compra, la demografía y la ubicación geográfica. A continuación, se pueden dirigir estrategias de marketing y ofertas de productos personalizadas a estos segmentos de clientes para maximizar las ventas y la satisfacción del cliente.

Aprendizaje de características

La agrupación en k -medias se ha utilizado como un paso de aprendizaje de características (o aprendizaje de diccionario ), tanto en el aprendizaje ( semi ) supervisado como en el aprendizaje no supervisado . [53] El enfoque básico es primero entrenar una representación de agrupación en k -medias, utilizando los datos de entrenamiento de entrada (que no necesitan estar etiquetados). Luego, para proyectar cualquier dato de entrada en el nuevo espacio de características, una función de "codificación", como el producto matricial umbralizado del dato con las ubicaciones de los centroides, calcula la distancia desde el dato a cada centroide, o simplemente una función indicadora para el centroide más cercano, [53] [54] o alguna transformación suave de la distancia. [55] Alternativamente, al transformar la distancia del grupo de muestra a través de una RBF gaussiana , se obtiene la capa oculta de una red de función de base radial . [56]

Este uso de k -medias se ha combinado con éxito con clasificadores lineales simples para el aprendizaje semisupervisado en NLP (específicamente para el reconocimiento de entidades nombradas ) [57] y en visión artificial . En una tarea de reconocimiento de objetos, se encontró que exhibía un rendimiento comparable con enfoques de aprendizaje de características más sofisticados, como autocodificadores y máquinas de Boltzmann restringidas . [55] Sin embargo, generalmente requiere más datos para un rendimiento equivalente, porque cada punto de datos solo contribuye a una "característica". [53]

Ejemplo: En el procesamiento del lenguaje natural (PLN), la agrupación en clústeres de k -medias se ha integrado con clasificadores lineales simples para tareas de aprendizaje semisupervisado como el reconocimiento de entidades nombradas (NER). Al agrupar primero los datos de texto sin etiquetar utilizando k -medias, se pueden extraer características significativas para mejorar el rendimiento de los modelos NER. Por ejemplo, la agrupación en clústeres de k -medias se puede aplicar para identificar grupos de palabras o frases que frecuentemente aparecen simultáneamente en el texto de entrada, que luego se pueden usar como características para entrenar el modelo NER. Se ha demostrado que este enfoque logra un rendimiento comparable con técnicas de aprendizaje de características más complejas , como autocodificadores y máquinas de Boltzmann restringidas , aunque con un mayor requisito de datos etiquetados.

Acontecimientos recientes

Los avances recientes en la aplicación de la agrupación en clústeres de k -medias incluyen mejoras en las técnicas de inicialización, como el uso de la inicialización de k -medias++ para seleccionar los centroides de agrupación iniciales de una manera más eficaz. Además, los investigadores han explorado la integración de la agrupación en clústeres de k -medias con métodos de aprendizaje profundo, como las redes neuronales convolucionales (CNN) y las redes neuronales recurrentes (RNN), para mejorar el rendimiento de varias tareas en visión artificial , procesamiento del lenguaje natural y otros dominios.

Relación con otros algoritmos

Modelo de mezcla gaussiana

El algoritmo lento "estándar" para el agrupamiento de k -medias, y su algoritmo asociado de expectativa-maximización , es un caso especial de un modelo de mezcla gaussiana, específicamente, el caso límite cuando se fijan todas las covarianzas para que sean diagonales, iguales y tengan una varianza infinitesimalmente pequeña. [58] : 850  En lugar de varianzas pequeñas, también se puede utilizar una asignación de agrupamiento estricta para mostrar otra equivalencia del agrupamiento de k -medias con un caso especial de modelado de mezcla gaussiana "duro". [59] : 354, 11.4.2.5  Esto no significa que sea eficiente utilizar el modelado de mezcla gaussiana para calcular k -medias, sino simplemente que existe una relación teórica y que el modelado de mezcla gaussiana se puede interpretar como una generalización de k -medias; por el contrario, se ha sugerido utilizar el agrupamiento de k -medias para encontrar puntos de partida para el modelado de mezcla gaussiana en datos difíciles. [58] : 849 

a-SVD

Otra generalización del algoritmo k -means es el algoritmo k -SVD, que estima los puntos de datos como una combinación lineal dispersa de "vectores de libro de códigos". k -means corresponde al caso especial de utilizar un único vector de libro de códigos, con un peso de 1. [60]

Análisis de componentes principales

La solución relajada de la agrupación de k -medias, especificada por los indicadores de agrupación, se da mediante el análisis de componentes principales (PCA). [61] [62] La intuición es que las k -medias describen agrupaciones con forma esférica (similar a una bola). Si los datos tienen 2 agrupaciones, la línea que conecta los dos centroides es la mejor dirección de proyección unidimensional, que también es la primera dirección de PCA. Cortar la línea en el centro de masa separa las agrupaciones (esta es la relajación continua del indicador de agrupación discreto). Si los datos tienen tres agrupaciones, el plano bidimensional abarcado por tres centroides de agrupación es la mejor proyección 2-D. Este plano también está definido por las dos primeras dimensiones de PCA. Las agrupaciones bien separadas se modelan de manera efectiva mediante agrupaciones con forma de bola y, por lo tanto, se descubren mediante k -medias. Las agrupaciones que no tienen forma de bola son difíciles de separar cuando están cerca. Por ejemplo, dos agrupaciones con forma de media luna entrelazadas en el espacio no se separan bien cuando se proyectan en el subespacio de PCA. No se debe esperar que k -means tenga un buen desempeño con estos datos. [63] Es sencillo producir contraejemplos a la afirmación de que el subespacio del centroide del grupo está abarcado por las direcciones principales. [64]

Agrupamiento por desplazamiento medio

Los algoritmos básicos de agrupamiento por desplazamiento de la media mantienen un conjunto de puntos de datos del mismo tamaño que el conjunto de datos de entrada. Inicialmente, este conjunto se copia del conjunto de entrada. A continuación, todos los puntos se mueven iterativamente hacia la media de los puntos que los rodean. Por el contrario, k -means restringe el conjunto de clústeres a k clústeres, normalmente mucho menos que el número de puntos en el conjunto de datos de entrada, utilizando la media de todos los puntos en el clúster anterior que están más cerca de ese punto que cualquier otro para el centroide (por ejemplo, dentro de la partición de Voronoi de cada punto de actualización). Un algoritmo de desplazamiento de la media que es similar a k -means, llamado desplazamiento de la media de verosimilitud , reemplaza el conjunto de puntos sometidos a reemplazo por la media de todos los puntos en el conjunto de entrada que están dentro de una distancia dada del conjunto cambiante. [65] Una ventaja del agrupamiento por desplazamiento de la media sobre k -means es la detección de un número arbitrario de clústeres en el conjunto de datos, ya que no hay un parámetro que determine el número de clústeres. El cambio de media puede ser mucho más lento que k -medias y aún requiere la selección de un parámetro de ancho de banda.

Análisis de componentes independientes

Bajo supuestos de escasez y cuando los datos de entrada se procesan previamente con la transformación de blanqueamiento , k -means produce la solución a la tarea de análisis de componentes independientes lineales (ICA). Esto ayuda a explicar la aplicación exitosa de k -means al aprendizaje de características. [66]

Filtrado bilateral

k -means asume implícitamente que el orden del conjunto de datos de entrada no importa. El filtro bilateral es similar a k -means y al cambio de media en que mantiene un conjunto de puntos de datos que se reemplazan iterativamente por medias. Sin embargo, el filtro bilateral restringe el cálculo de la media (ponderada por kernel) para incluir solo puntos que están cerca en el orden de los datos de entrada. [65] Esto lo hace aplicable a problemas como la eliminación de ruido de imágenes, donde la disposición espacial de los píxeles en una imagen es de importancia crítica.

Problemas similares

El conjunto de funciones de clúster que minimizan el error al cuadrado también incluye el algoritmo k -medoides , un enfoque que fuerza a que el punto central de cada clúster sea uno de los puntos reales, es decir, utiliza medoides en lugar de centroides .

Implementaciones de software

Las diferentes implementaciones del algoritmo presentan diferencias de rendimiento: la más rápida en un conjunto de datos de prueba finaliza en 10 segundos, mientras que la más lenta tarda 25 988 segundos (aproximadamente 7 horas). [1] Las diferencias se pueden atribuir a la calidad de la implementación, las diferencias de lenguaje y compilador, los diferentes criterios de terminación y niveles de precisión, y el uso de índices para la aceleración.

Software libre/código abierto

Las siguientes implementaciones están disponibles bajo licencias de software libre/de código abierto , con código fuente disponible públicamente.

  • Accord.NET contiene implementaciones de C# para k -means, k -means++ y k -modes.
  • ALGLIB contiene implementaciones de C++ y C# paralelizadas para k -means y k -means++.
  • AOSP contiene una implementación de Java para k -means.
  • CrimeStat implementa dos algoritmos k -medias espaciales, uno de los cuales permite al usuario definir las ubicaciones de inicio.
  • ELKI contiene k -means (con iteración de Lloyd y MacQueen, junto con diferentes inicializaciones como la inicialización k -means++) y varios algoritmos de agrupamiento más avanzados.
  • Smile contiene k -means y varios otros algoritmos y visualización de resultados (para Java, Kotlin y Scala).
  • Julia contiene una implementación de k -means en el paquete JuliaStats Clustering.
  • KNIME contiene nodos para k -medias y k -medoides.
  • Mahout contiene un k -means basado en MapReduce .
  • mlpack contiene una implementación en C++ de k -means.
  • Octave contiene k -medias.
  • OpenCV contiene una implementación de k -medias.
  • Orange incluye un componente para agrupamiento de k -medias con selección automática de k y puntuación de silueta de grupo.
  • PSPP contiene k -medias. El comando QUICK CLUSTER realiza la agrupación en k -medias en el conjunto de datos.
  • R contiene tres variaciones de k -medias.
  • SciPy y scikit-learn contienen múltiples implementaciones de k -means.
  • Spark MLlib implementa un algoritmo k -medias distribuido.
  • Torch contiene un paquete unsup que proporciona agrupamiento k -means.
  • Weka contiene k -medias y x -medias.

Propiedad

Las siguientes implementaciones están disponibles bajo términos de licencia propietaria y es posible que no tengan código fuente disponible públicamente.

Véase también

Referencias

  1. ^ ab Kriegel, Hans-Peter ; Schubert, Erich; Zimek, Arthur (2016). "El arte (negro) de la evaluación en tiempo de ejecución: ¿estamos comparando algoritmos o implementaciones?". Conocimiento y sistemas de información . 52 (2): 341–378. doi :10.1007/s10115-016-1004-2. ISSN  0219-1377. S2CID  40772241.
  2. ^ MacQueen, JB (1967). Algunos métodos para la clasificación y análisis de observaciones multivariadas. Actas del 5.º Simposio de Berkeley sobre estadística matemática y probabilidad. Vol. 1. University of California Press. págs. 281–297. MR  0214227. Zbl  0214.46201 . Consultado el 7 de abril de 2009 .
  3. ^ Steinhaus, Hugo (1957). "Sur la division des corps matériels en Parties". Toro. Acad. Polon. Ciencia. (en francés). 4 (12): 801–804. Señor  0090073. Zbl  0079.16403.
  4. ^ Lloyd, Stuart P. (1957). "Cuantización por mínimos cuadrados en PCM". Documento de Bell Telephone Laboratories .Publicado en revista mucho más tarde: Lloyd, Stuart P. (1982). "Cuantización de mínimos cuadrados en PCM" (PDF) . IEEE Transactions on Information Theory . 28 (2): 129–137. CiteSeerX 10.1.1.131.1338 . doi :10.1109/TIT.1982.1056489. S2CID  10833328. Consultado el 15 de abril de 2009 . 
  5. ^ Forgy, Edward W. (1965). "Análisis de conglomerados de datos multivariados: eficiencia versus interpretabilidad de las clasificaciones". Biometrics . 21 (3): 768–769. JSTOR  2528559.
  6. ^ Pelleg, Dan; Moore, Andrew (1999). "Aceleración de algoritmos exactos de k-medias con razonamiento geométrico". Actas de la quinta conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos . San Diego, California, Estados Unidos: ACM Press. pp. 277–281. doi :10.1145/312129.312248. ISBN 9781581131437. Número de identificación del sujeto  13907420.
  7. ^ MacKay, David (2003). "Capítulo 20. Un ejemplo de tarea de inferencia: agrupamiento" (PDF) . Teoría de la información, inferencia y algoritmos de aprendizaje. Cambridge University Press. págs. 284–292. ISBN 978-0-521-64298-9. Sr.  2012999.
  8. ^ Dado que la raíz cuadrada es una función monótona, esta también es la asignación de distancia euclidiana mínima.
  9. ^ abcde Hartigan, JA; Wong, MA (1979). "Algoritmo AS 136: Un algoritmo de agrupamiento de k -medias". Revista de la Royal Statistical Society, Serie C . 28 (1): 100–108. JSTOR  2346830.
  10. ^ ab Hamerly, Greg; Elkan, Charles (2002). "Alternativas al algoritmo k-means que encuentran mejores agrupaciones" (PDF) . Actas de la undécima conferencia internacional sobre gestión de la información y el conocimiento (CIKM) .
  11. ^ Celebi, ME; Kingravi, HA; Vela, PA (2013). "Un estudio comparativo de métodos de inicialización eficientes para el algoritmo de agrupamiento k -means". Sistemas expertos con aplicaciones . 40 (1): 200–210. arXiv : 1209.1960 . doi :10.1016/j.eswa.2012.07.021. S2CID  6954668.
  12. ^ Bradley, Paul S.; Fayyad, Usama M. (1998). "Refinamiento de puntos iniciales para agrupamiento de k -medias". Actas de la Decimoquinta Conferencia Internacional sobre Aprendizaje Automático .
  13. ^ Vattani, A. (2011). "k-means requiere exponencialmente muchas iteraciones incluso en el plano" (PDF) . Geometría discreta y computacional . 45 (4): 596–616. doi : 10.1007/s00454-011-9340-1 . S2CID  42683406.
  14. ^ ab Arthur, David; Manthey, B.; Roeglin, H. (2009). "k-means tiene complejidad suavizada por polinomios". Actas del 50.º Simposio sobre Fundamentos de la Ciencia de la Computación (FOCS) . arXiv : 0904.1113 .
  15. ^ Aloise, D.; Deshpande, A.; Hansen, P.; Popat, P. (2009). "NP-dureza de la agrupación euclidiana por suma de cuadrados". Aprendizaje automático . 75 (2): 245–249. doi : 10.1007/s10994-009-5103-0 .
  16. ^ Dasgupta, S.; Freund, Y. (julio de 2009). "Árboles de proyección aleatoria para cuantificación vectorial". IEEE Transactions on Information Theory . 55 (7): 3229–42. arXiv : 0805.1390 ​​. doi :10.1109/TIT.2009.2021326. S2CID  666114.
  17. ^ Mahajan, Meena; Nimbhorkar, Prajakta; Varadarajan, Kasturi (2009). "El problema de k-medias planar es NP-difícil". WALCOM: Algoritmos y computación . Apuntes de clase en informática. Vol. 5431. págs. 274–285. doi :10.1007/978-3-642-00202-1_24. ISBN 978-3-642-00201-4.
  18. ^ Inaba, M.; Katoh, N.; Imai, H. (1994). Aplicaciones de diagramas de Voronoi ponderados y aleatorización a la agrupación en grupos k basada en varianza . Actas del 10.º Simposio ACM sobre geometría computacional . págs. 332–9. doi : 10.1145/177424.178042 .
  19. ^ Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich (2008). Introducción a la recuperación de información . Prensa de la Universidad de Cambridge. ISBN 978-0521865715.OCLC 190786122  .
  20. ^ ab Arthur, David; Vassilvitskii, Sergei (1 de enero de 2006). "¿Qué tan lento es el método k -means?". Actas del vigésimo segundo simposio anual sobre geometría computacional . SCG '06. ACM. págs. 144–153. doi :10.1145/1137856.1137880. ISBN 978-1595933409.S2CID3084311  .
  21. ^ Bhowmick, Abhishek (2009). "Un análisis teórico del algoritmo de Lloyd para la agrupación en k-medias" (PDF) . Archivado desde el original (PDF) el 8 de diciembre de 2015.Véase también aquí.
  22. ^ ab Phillips, Steven J. (2002). "Aceleración de k-medias y algoritmos de agrupamiento relacionados". En Mount, David M.; Stein, Clifford (eds.). Aceleración de k -medias y algoritmos de agrupamiento relacionados . Notas de clase en informática. Vol. 2409. Springer. págs. 166–177. doi :10.1007/3-540-45643-0_13. ISBN 978-3-540-43977-6.
  23. ^ ab Elkan, Charles (2003). "Uso de la desigualdad triangular para acelerar k-means" (PDF) . Actas de la Vigésima Conferencia Internacional sobre Aprendizaje Automático (ICML) .
  24. ^ ab Hamerly, Greg (2010). "Hacer que k-means sea aún más rápido". Actas de la Conferencia Internacional SIAM de 2010 sobre Minería de Datos . págs. 130-140. doi :10.1137/1.9781611972801.12. ISBN 978-0-89871-703-7.
  25. ^ ab Hamerly, Greg; Drake, Jonathan (2015). "Aceleración del algoritmo de Lloyd para la agrupación en clústeres de k-medias". Algoritmos de agrupación en clústeres particionales . págs. 41–78. doi :10.1007/978-3-319-09259-1_2. ISBN 978-3-319-09258-4.
  26. ^ Abiodun M. Ikotun, Absalom E. Ezugwu, Laith Abualigah, Belal Abuhaija, Jia Heming, Algoritmos de agrupamiento K-means: una revisión exhaustiva, análisis de variantes y avances en la era del big data, Ciencias de la información, Volumen 622, 2023, Páginas 178–210, ISSN 0020-0255, https://doi.org/10.1016/j.ins.2022.11.139.
  27. ^ 276. doi:10.1007/BF02289263.S2CID 120467216.
  28. ^ Schubert, Erich (22 de junio de 2023). "Dejar de usar el criterio del codo para las k-medias y cómo elegir el número de clústeres en su lugar". Boletín de exploraciones de ACM SIGKDD. 25 (1): 36–42. arXiv:2212.12189. doi:10.1145/3606274.3606278. ISSN 1931-0145.
  29. ^ Peter J. Rousseeuw (1987). "Siluetas: una ayuda gráfica para la interpretación y validación del análisis de conglomerados". Matemáticas computacionales y aplicadas. 20: 53–65. doi:10.1016/0377-0427(87)90125-7.
  30. ^ Robert Tibshirani; Guenther Walther; Trevor Hastie (2001). "Estimación del número de conglomerados en un conjunto de datos mediante la estadística gap". Journal of the Royal Statistical Society, Serie B. 63 (2): 411–423. doi:10.1111/1467-9868.00293. S2CID 59738652.
  31. ^ Davies, David L.; Bouldin, Donald W. (1979). "Una medida de separación de grupos". Transacciones IEEE sobre análisis de patrones e inteligencia artificial. PAMI-1 (2): 224–227. doi:10.1109/TPAMI.1979.4766909. S2CID 13254783.
  32. ^ Caliński, Tadeusz; Harabasz, Jerzy (1974). "Un método dendrítico para el análisis de conglomerados". Communications in Statistics. 3 (1): 1–27. doi:10.1080/03610927408827101.
  33. ^ WM Rand (1971). "Criterios objetivos para la evaluación de métodos de agrupamiento". Revista de la Asociación Estadounidense de Estadística. 66 (336). Asociación Estadounidense de Estadística: 846–850. doi:10.2307/2284239. JSTOR 2284239.
  34. ^ Hubert, L. y Arabie, P. (1985). Hubert, L. y Arabie, P. (1985). Comparando particiones. Revista de clasificación, 2(1), 193-218. https://doi.org/10.1007/BF01908075
  35. ^ Kanungo, Tapas; Mount, David M .; Netanyahu, Nathan S .; Piatko, Christine D .; Silverman, Ruth; Wu, Angela Y. (2002). "Un algoritmo de agrupamiento k-means eficiente: análisis e implementación" (PDF) . IEEE Transactions on Pattern Analysis and Machine Intelligence . 24 (7): 881–892. doi :10.1109/TPAMI.2002.1017616. S2CID  12003435 . Consultado el 24 de abril de 2009 .
  36. ^ Drake, Jonathan (2012). "Accelerated k-means with adaptive distance bounds" (PDF) . El quinto taller NIPS sobre optimización para aprendizaje automático, OPT2012 .
  37. ^ Dhillon, IS; Modha, DM (2001). "Descomposiciones de conceptos para datos de texto dispersos de gran tamaño mediante agrupamiento". Aprendizaje automático . 42 (1): 143–175. doi : 10.1023/a:1007612920971 .
  38. ^ Steinbach, M.; Karypis, G.; Kumar, V. (2000). ""Una comparación de técnicas de agrupamiento de documentos". En". Taller KDD sobre minería de texto . 400 (1): 525–526.
  39. ^ Pelleg, D.; y Moore, AW (junio de 2000). "X-means: extensión de k-means con estimación eficiente del número de clústeres". En ICML , vol. 1
  40. ^ Hamerly, Greg; Elkan, Charles (2004). "Aprendiendo la k en k-medias" (PDF) . Avances en sistemas de procesamiento de información neuronal . 16 : 281.
  41. ^ Amorim, RC; Mirkin, B. (2012). "Métrica de Minkowski, ponderación de características e inicialización de clústeres anómalos en clústeres de k -medias". Reconocimiento de patrones . 45 (3): 1061–1075. doi :10.1016/j.patcog.2011.08.012.
  42. ^ Amorim, RC; Hennig, C. (2015). "Recuperación del número de clústeres en conjuntos de datos con características de ruido utilizando factores de reescalado de características". Ciencias de la información . 324 : 126–145. arXiv : 1602.06989 . doi :10.1016/j.ins.2015.06.039. S2CID  315803.
  43. ^ Sculley, David (2010). "Web-scale k-means clustering". Actas de la 19.ª conferencia internacional sobre la World Wide Web . ACM. págs. 1177–1178 . Consultado el 21 de diciembre de 2016 .
  44. ^ Telgarsky, Matus. "Método de Hartigan: agrupamiento de k-medias sin Voronoi" (PDF) .
  45. ^ Piccialli, Verónica; Sudoso, Antonio M.; Wiegele, Angelika (28 de marzo de 2022). "SOS-SDP: un solucionador exacto para agrupaciones mínimas de suma de cuadrados". Revista INFORMA de Informática . 34 (4): 2144–2162. arXiv : 2104.11542 . doi :10.1287/ijoc.2022.1166. ISSN  1091-9856. S2CID  233388043.
  46. ^ Bagirov, AM; Taheri, S.; Ugon, J. (2016). "Enfoque de programación DC no uniforme para problemas de agrupamiento por suma mínima de cuadrados". Reconocimiento de patrones . 53 : 12–24. Bibcode :2016PatRe..53...12B. doi :10.1016/j.patcog.2015.11.011.
  47. ^ Fränti, Pasi (2018). "Eficiencia de la agrupación por intercambio aleatorio". Journal of Big Data . 5 (1): 1–21. doi : 10.1186/s40537-018-0122-y .
  48. ^ Hansen, P.; Mladenovic, N. (2001). "J-Means: Una nueva heurística de búsqueda local para la agrupación por suma mínima de cuadrados". Reconocimiento de patrones . 34 (2): 405–413. Bibcode :2001PatRe..34..405H. doi :10.1016/S0031-3203(99)00216-2.
  49. ^ Krishna, K.; Murty, MN (1999). "Algoritmo genético k-means". IEEE Transactions on Systems, Man, and Cybernetics - Parte B: Cibernética . 29 (3): 433–439. doi :10.1109/3477.764879. PMID  18252317.
  50. ^ ab Gribel, Daniel; Vidal, Thibaut (2019). "HG-means: Una metaheurística híbrida escalable para agrupamiento por suma mínima de cuadrados". Reconocimiento de patrones . 88 : 569–583. arXiv : 1804.09813 . doi :10.1016/j.patcog.2018.12.022. S2CID  13746584.
  51. ^ Mirkes, EM "Applet de k-medias y k-medoides" . Consultado el 2 de enero de 2016 .
  52. ^ Kulis, Brian; Jordan, Michael I. (26 de junio de 2012). "Revisitando k-means: nuevos algoritmos a través de la no parametría bayesiana" (PDF) . ICML . Association for Computing Machinery. págs. 1131–1138. ISBN. 9781450312851.
  53. ^ abc Coates, Adam; Ng, Andrew Y. (2012). "Aprendizaje de representaciones de características con k-means" (PDF) . En Montavon, G.; Orr, GB; Müller, K.-R. (eds.). Redes neuronales: trucos del oficio . Springer.
  54. ^ Csurka, Gabriella; Dance, Christopher C.; Fan, Lixin; Willamowski, Jutta; Bray, Cédric (2004). Categorización visual con bolsas de puntos clave (PDF) . Taller ECCV sobre aprendizaje estadístico en visión artificial.
  55. ^ ab Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). Un análisis de redes de una sola capa en el aprendizaje de características no supervisado (PDF) . Conferencia internacional sobre inteligencia artificial y estadística (AISTATS). Archivado desde el original (PDF) el 2013-05-10.
  56. ^ Schwenker, Friedhelm; Kestler, Hans A.; Palm, Günther (2001). "Tres fases de aprendizaje para redes de función de base radial". Redes neuronales . 14 (4–5): 439–458. CiteSeerX 10.1.1.109.312 . doi :10.1016/s0893-6080(01)00027-2. PMID  11411631. 
  57. ^ Lin, Dekang; Wu, Xiaoyun (2009). Agrupamiento de frases para el aprendizaje discriminativo (PDF) . Reunión anual de la ACL y la IJCNLP. págs. 1030–1038.
  58. ^ ab Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Sección 16.1. Modelos de mezcla gaussiana y agrupamiento de k-medias". Recetas numéricas: el arte de la computación científica (3.ª ed.). Nueva York (NY): Cambridge University Press. ISBN 978-0-521-88068-8.
  59. ^ Kevin P. Murphy (2012). Aprendizaje automático: una perspectiva probabilística . Cambridge, Mass.: MIT Press. ISBN 978-0-262-30524-2.OCLC 810414751  .
  60. ^ Aharon, Michal ; Elad, Michael; Bruckstein, Alfred (2006). "K-SVD: Un algoritmo para diseñar diccionarios sobrecompletos para representación dispersa" (PDF) . IEEE Transactions on Signal Processing . 54 (11): 4311. Bibcode :2006ITSP...54.4311A. doi :10.1109/TSP.2006.881199. S2CID  7477309.
  61. ^ Zha, Hongyuan; Ding, Chris; Gu, Ming; He, Xiaofeng; Simon, Horst D. (diciembre de 2001). "Relajación espectral para agrupamiento de k-medias" (PDF) . Neural Information Processing Systems Vol.14 (NIPS 2001) : 1057–1064.
  62. ^ Ding, Chris; He, Xiaofeng (julio de 2004). "Agrupamiento de K-means mediante análisis de componentes principales" (PDF) . Actas de la Conferencia internacional sobre aprendizaje automático (ICML 2004) : 225–232.
  63. ^ Drineas, Petros; Frieze, Alan M.; Kannan, Ravi; Vempala, Santosh; Vinay, Vishwanathan (2004). "Clustering large graphs via the singular value decomposition" (PDF) . Aprendizaje automático . 56 (1–3): 9–33. doi : 10.1023/b:mach.0000033113.59016.96 . S2CID  5892850 . Consultado el 2 de agosto de 2012 .
  64. ^ Cohen, Michael B.; Elder, Sam; Musco, Cameron; Musco, Christopher; Persu, Madalina (2014). "Reducción de la dimensionalidad para la agrupación de k -medias y aproximación de rango bajo (Apéndice B)". arXiv : 1410.6801 [cs.DS].
  65. ^ ab Little, Max A.; Jones, Nick S. (2011). "Métodos generalizados y solucionadores para la eliminación de ruido de señales constantes por partes. I. Teoría de fondo". Actas de la Royal Society A . 467 (2135): 3088–3114. Bibcode :2011RSPSA.467.3088L. doi :10.1098/rspa.2010.0671. PMC 3191861 . PMID  22003312. 
  66. ^ Vinnikov, Alon; Shalev-Shwartz, Shai (2014). "K-means recupera filtros ICA cuando los componentes independientes son escasos" (PDF) . Actas de la Conferencia internacional sobre aprendizaje automático (ICML 2014) .
Retrieved from "https://en.wikipedia.org/w/index.php?title=K-means_clustering&oldid=1251708701"