¿Qué es la agrupación de medias k?

Autores

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

Vanna Winland

AI Advocate & Technology Writer

¿Qué es el clustering de medias k?

El clustering de medias K es un algoritmo de aprendizaje no supervisado utilizado para el clustering de datos, que reúne puntos de datos no etiquetados en grupos o clusters.

Es uno de los métodos de clustering más populares utilizados en el machine learning. A diferencia del aprendizaje supervisado, los datos de entrenamiento que utiliza este algoritmo no están etiquetados, lo que significa que los puntos de datos no tienen una estructura de clasificación definida.

Aunque existen varios tipos de algoritmos de agrupación, incluidos los exclusivos, los superpuestos, los jerárquicos y los probabilísticos, el algoritmo de agrupación de medias k es un ejemplo de método de agrupación exclusivo o "duro". Esta forma de agrupación estipula que un punto de datos puede existir en un solo clúster. Este tipo de análisis de clústeres se utiliza habitualmente en la ciencia de datos para la segmentación de mercados, la agrupación de documentos, la segmentación de imágenes y la compresión de imágenes. El algoritmo de medias k es un método ampliamente utilizado en el análisis de clústeres porque es eficiente, eficaz y sencillo.

Las medias k son un algoritmo de clustering iterativo basado en centroides que divide un conjunto de datos en grupos similares en función de la distancia entre sus centroides. El centroide, o centro del clúster, es la media o la mediana de todos los puntos dentro del clúster, según las características de los datos.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Cómo funciona la agrupación de medias k?

La agrupación de medias K es un proceso iterativo para minimizar la suma de distancias entre los puntos de datos y sus centroides de clúster.

El algoritmo de agrupación de medias k funciona categorizando puntos de datos en clústeres utilizando una medida matemática de distancia, generalmente euclidiana, desde el centro del clúster. El objetivo es minimizar la suma de distancias entre los puntos de datos y sus clústeres asignados. Los puntos de datos más cercanos a un centroide se agrupan dentro de la misma categoría. Un valor k más alto, o el número de conglomerados, significa conglomerados más pequeños con mayor detalle, mientras que un valor k más bajo da lugar a conglomerados más grandes con menos detalle.

Inicializar k

El algoritmo de agrupación de medias k convencional requiere unos pocos pasos. El primer paso es inicializar centroides donde es igual al número de clústeres elegidos para un conjunto de datos específico. Este enfoque utiliza métodos de selección aleatoria o de muestreo con centroide inicial.

Asignar centroides

El siguiente paso incluye un proceso iterativo de dos etapas basado en el algoritmo de machine learning de maximización de expectativas.El paso de expectativa asigna cada punto de datos a su centroide más cercano en función de la distancia (de nuevo, normalmente euclidiana). El paso de maximización calcula la media de todos los puntos de cada clúster y reasigna el centro del clúster, o centroide. Este proceso se repite hasta que las posiciones de los centroides hayan alcanzado la convergencia o se haya alcanzado el número máximo de iteraciones.

El agrupamiento de K-means es simple pero sensible a las condiciones iniciales y los valores atípicos. Es importante optimizar la inicialización del centroide y el número de clústeres k, para lograr los clústeres más significativos. Hay varias formas de evaluar y optimizar los componentes de agrupación del algoritmo mediante el uso de métricas de evaluación y métodos de muestreo de centroide inicial.

Mixture of Experts | 28 de agosto, episodio 70

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Métricas de evaluación de clústeres

Los clústeres de calidad contienen al menos dos propiedades: 

  1. Todos los puntos de datos de un clúster deben ser similares.
  2. Los clústeres deben ser distintos entre sí.

Estas propiedades se logran minimizando la distancia dentro del clúster y maximizando la distancia entre clústeres de todos los puntos de datos de un conjunto de datos. En otras palabras, cuanto más compacto y aislado esté un clúster de otros clústeres, mejor. El objetivo del algoritmo de clustering de medias k es minimizar la suma de errores al cuadrado (SSE)2. El cálculo de la SSE de la distancia euclidiana al cuadrado de cada punto a su centroide más cercano evalúa la calidad de las asignaciones de clústeres midiendo la variación total dentro de cada clúster.

Las métricas de evaluación de clústeres comprueban la calidad y proporcionan diferentes perspectivas para analizar los resultados de la agrupación. Esto ayuda a seleccionar el número óptimo de clústeres y la inicialización del centroide. Las siguientes métricas de evaluación son formas comunes de medir las distancias intra e interclústeres en la agrupación.

Inercia

El algoritmo de clustering de medias k tiene como objetivo elegir centroides, o centros de clústeres, que minimicen la inercia, una métrica de evaluación que mide cómo se ha agrupado un conjunto de datos en función de métricas de distancia. La inercia se calcula midiendo la distancia entre un punto de datos y su centroide, elevando al cuadrado la distancia y sumando esos cuadrados para cada punto de datos del clúster. La suma o valor inercial es la distancia intracluster. Cuanto menor sea la suma, mejor, porque significa que los puntos de datos dentro del clúster son compactos o más similares3.

El índice de Dunn

La segunda propiedad se mide con el índice de Dunn. El índice de Dunn representa la relación entre la distancia mínima entre clústeres y la distancia máxima dentro de los clústeres. Los clústeres con una distancia entre clústeres alta indican una mejor calidad porque significa que los clústeres son lo más diferentes posible entre sí4.

Optimización del rendimiento de medias k

La optimización es importante cuando se utilizan medias k para lograr los mejores resultados de agrupación.

El algoritmo de medias k es no determinista debido a su paso de inicialización aleatorio. Este método implica que si el algoritmo se realiza dos veces con datos idénticos, las asignaciones de clústeres pueden diferir. Para lograr resultados óptimos de agrupación, la selección adecuada de los centroides iniciales y el número óptimo de clústeres mejora la precisión y la velocidad del algoritmo de medias k.

Inicialización de los centroides del clúster

Cada clúster está representado por un centroide, un punto de datos que representa el centro del clúster. Las medias k agrupan puntos de datos similares en clústeres minimizando la distancia entre puntos de datos en un clúster con su centroide o valor medio k. El objetivo principal del algoritmo de medias k es minimizar las distancias totales entre los puntos y su centroide de clúster asignado. El algoritmo funciona de forma iterativa y la selección inicial de particiones puede tener un gran impacto en los clústeres resultantes.

La inicialización aleatoria corre el riesgo de arrojar resultados inconsistentes. Existen métodos de inicialización de centroides para mitigar estos riesgos. Un estudio de NUS Computing explica y compara métodos como el popular medias k++ con la inicialización aleatoria5.

Medias k++

Las medias k++ son un algoritmo de medias k que optimiza la selección del centroide o centroides iniciales del clúster. Desarrollado por los investigadores Arthur y Vassilvitskii, las medias k++ mejoran la calidad de la asignación final del clúster6.

El primer paso para la inicialización mediante el método de medias k++ es elegir un centroide del conjunto de datos. Para cada centroide subsiguiente, calcule la distancia de cada punto de datos desde su centro de clúster más cercano. El siguiente centroide se selecciona teniendo en cuenta la probabilidad de que un punto se encuentre a una distancia proporcional del centroide más cercano elegido anteriormente. El proceso ejecuta iteraciones hasta que se haya inicializado el número elegido de centros de clúster.

Aquí tiene un tutorial de IBM® Developer que utiliza el método medias k++ para la inicialización.

Elección del número óptimo de clústeres

Idealmente, el algoritmo de medias k itera hasta alcanzar el número óptimo de conglomerados. El número máximo de iteraciones se alcanza una vez que los centroides han logrado la convergencia.

El método del codo

Un método para lograr el número óptimo de clústeres es el método del codo. El método del codo es un método gráfico para encontrar el número óptimo de clústeres dentro de un algoritmo de clustering de medias k. Mide la distancia euclidiana entre cada punto de datos y el centro de su clúster y elige el número de clústeres en función de dónde se estabiliza el cambio en la "suma de cuadrados dentro del clúster" (WCSS). Este valor representa la varianza total dentro de cada clúster que se representa en función del número de clústeres7.

El primer paso del método del codo es calcular el WCSS para cada clúster (k). A continuación, el valor del WCSS se traza en el eje Y y el número de clústeres se traza en el eje X. A medida que aumenta el número de clústeres, los puntos de la gráfica deben formar un patrón coherente. A partir de este patrón, se obtiene un rango para el número óptimo de clústeres8. A la hora de decidir el número de clústeres, tenga en cuenta los costos computacionales. Cuanto mayor sea el número de clústeres, más potencia de procesamiento se necesitará, especialmente con grandes conjuntos de datos.

Este método no es necesariamente el mejor, sobre todo para conjuntos de datos con alta dimensionalidad o forma irregular. Otro método para elegir el número óptimo de clústeres es el análisis de la silueta9.

Gráfico ilustrado de k significa agrupamiento

Aplicaciones en aprendizaje automático

El algoritmo de agrupamiento de medias k se utiliza en casi todos los dominios e industrias. Generalmente se aplica a datos de aprendizaje automático que tienen pocas dimensiones, son numéricos y se pueden dividir fácilmente.

Los investigadores han integrado el clustering de medias k con métodos de deep learning como CNN y RNN para mejorar el rendimiento de diversas tareas de machine learning como visión artificial, PLN y muchos otros dominios. A continuación se muestra una lista de aplicaciones comunes de clustering de medias k:

Segmentación de clientes: la práctica de dividir a los clientes de una empresa en grupos según características comunes que reflejen similitud. Esta estrategia permite a las empresas dirigirse a grupos o clusters específicos de clientes para campañas publicitarias específicas.

Clasificación de documentos: procedimiento para asignar varias categorías a los documentos. Muchas organizaciones utilizan este método para moderar el contenido. Consulte esta documentación de watsonx Discover para crear un clasificador de documentos.

Segmentación de imágenes: técnica de visión artificial que divide una imagen digital en distintos conjuntos de píxeles. Esta investigación profundiza en cómo se utilizan los modelos de medias k para ayudar a identificar los límites en las imágenes médicas10.

Motores de recomendación: las aplicaciones de toda la web utilizan motores de recomendación. El análisis de componentes principales y las técnicas de clustering de medias k se utilizan para crear recomendaciones de productos para empresas de comercio electrónico11.

Entrenamiento de modelos de medias k con Python

Para una experiencia de aprendizaje práctico, consulte el tutorial que explica los fundamentos de la realización de clustering de medias k en Python utilizando IBM® watsonx Studio en watsonx.ai.

Este tutorial utiliza un módulo de la biblioteca scikit-learn (sklearn) que realiza la agrupación de medias k. El módulo incluye técnicas de optimización integradas que son manipuladas por sus parámetros de clase. La clase para el módulo tiene este aspecto:

class sklearn.cluster.KMeans(n_clusters=8*init='k-means++'n_init='auto'max_iter=300tol=0.0001verbose=0random_state=Nonecopy_x=Truealgorithm='lloyd')12

Los parámetros incluyen el número de clusters que hay que formar y el número de centroides que hay que generar (n_clusters). Hay dos métodos de inicialización disponibles: medias k++ y aleatorio. También incluye atributos para fijar el número máximo de iteraciones. Cada iteración comienza particionando el conjunto de datos en el valor del parámetro n_clustersparameter.

Estas bibliotecas se utilizan para generar un conjunto de datos de prueba y realizar clusterings:

import pandas as pd 
import sklearn
import matplotlib.pyplot as plt
import seaborn as sns
import numpy

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

Ventajas y desventajas

Ventajas

Algunas de las ventajas habituales de la agrupación k-means en las aplicaciones de aprendizaje automático son:

Simple: la agrupación de medias k es fácil de entender y poner en práctica. Es la técnica de aprendizaje automático no supervisado más popular.

Rápido: el clustering de medias k está diseñado con un enfoque iterativo computacionalmente simple. El algoritmo de clustering de medias k es más rápido que el clustering jerárquico, que implica construir una estructura de clústeres en forma de árbol y requiere calcular la distancia por pares entre todos los puntos de datos.

Escalable: las medias k también son fácilmente escalable a grandes conjuntos de datos y se generaliza a clústeres de diferentes formas y tamaños, lo que resulta ideal para el análisis de clústeres. Dado que el algoritmo es tan eficiente desde el punto de vista computacional, es más escalable y adecuado para grandes conjuntos de datos en comparación con otros métodos.

Desventajas

Algunos desafíos comunes asociados con la agrupación de medias k incluyen:

Dependencia de los parámetros de entrada: la agrupación de medias k depende de parámetros de entrada establecidos correctamente. La inicialización del centroide y el número de clústeres adecuados es impecable para obtener resultados de clúster significativos. Una inicialización incorrecta del centroide podría provocar un aumento del tiempo de ejecución y asignaciones de clústeres de baja calidad. Se ha investigado mucho para mejorar el procedimiento de inicialización del centroide para obtener mejores resultados de agrupamiento y un tiempo de convergencia más rápido.

Posible bajo rendimiento en ciertos conjuntos de datos: las medias k funcionan de forma eficaz cuando el conjunto de datos contiene clústeres de tamaño similar y no hay valores atípicos ni variaciones de densidad notables. Las medias k funcionan mal cuando el conjunto de datos contiene muchas variaciones o es muy dimensional. Los datos que no se alinean con ciertas suposiciones de conjuntos de datos pueden provocar que las medias k produzcan clústeres de baja calidad13. Por ejemplo, los clústeres de tamaños desiguales pueden sesgar los centroides hacia los clústeres más grandes, lo que provoca sesgos y errores de clasificación entre los clústeres más pequeños. Para resolver este problema, las medias k se pueden generalizar mediante modelos probabilísticos, como el nodo de mezcla gaussiana.

Impacto significativo de los valores atípicos: los valores atípicos tienen un impacto significativo en los resultados de la agrupación en clústeres de medias k. Los diferentes clústeres deben estar muy separados, pero no tanto como para sesgar los puntos de datos. Es importante tener en cuenta las suposiciones de los datos antes de aplicar k-means. Las medias K son especialmente sensibles a los valores atípicos, ya que su objetivo es determinar los centroides promediando los valores con un clúster. Esta sensibilidad hace que sea propenso al sobreajuste para incluir estos valores atípicos.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo