Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

K-Means Clustering

Explora el agrupamiento K-Means para el aprendizaje no supervisado. Descubre cómo este algoritmo divide los datos, mejora las aplicaciones de IA e informa a modelos como Ultralytics .

El agrupamiento K-Means es un algoritmo fundamental y ampliamente utilizado en el campo del aprendizaje no supervisado, diseñado para descubrir estructuras ocultas dentro de datos sin etiquetar. Su objetivo principal es dividir un conjunto de datos en subgrupos distintos, conocidos como clústeres, de modo que los puntos de datos dentro del mismo grupo sean lo más similares posible, mientras que los de diferentes grupos sean distintos. Como piedra angular de la minería de datos y el análisis exploratorio, K-Means permite a los científicos de datos organizar automáticamente información compleja en categorías manejables sin necesidad de etiquetas predefinidas ni supervisión humana.

Cómo funciona el algoritmo

El funcionamiento de K-Means es iterativo y se basa en métricas de distancia para determinar la agrupación óptima de los datos de entrenamiento. El algoritmo funciona organizando los elementos en K clústeres, donde cada elemento pertenece al clúster con la media más cercana, o centroide. Este proceso minimiza la varianza dentro de cada grupo. El flujo de trabajo sigue generalmente estos pasos:

  1. Inicialización: El algoritmo selecciona K puntos iniciales como centroides. Estos pueden elegirse aleatoriamente o mediante métodos optimizados como k-means++ para acelerar la convergencia.
  2. Asignación: cada punto de datos del conjunto de datos se asigna al centroide más cercano basándose en una métrica de distancia específica, normalmente la distancia euclidiana.
  3. Actualización: Los centroides se recalculan tomando la media (promedio) de todos los puntos de datos asignados a ese clúster.
  4. Iteración: Los pasos 2 y 3 se repiten hasta que los centroides ya no se mueven significativamente o se alcanza un número máximo de iteraciones.

Determinar el número correcto de clústeres (K) es un aspecto crítico del uso de este algoritmo. Los profesionales suelen utilizar técnicas como el método del codo o analizar la puntuación de silueta para evaluar lo bien separados que están los clústeres resultantes.

Aplicaciones reales de la IA

La agrupación por métodos K-Means es muy versátil y resulta útil en diversos sectores para la simplificación y el preprocesamiento de datos.

  • Compresión de imágenes y cuantificación del color: En la visión por computadora (CV), K-Means ayuda a reducir el tamaño de los archivos de imágenes agrupando los colores de los píxeles. Al agrupar miles de colores en un conjunto más pequeño de colores dominantes , el algoritmo realiza eficazmente una reducción de la dimensionalidad al tiempo que conserva la estructura visual de la imagen. Esta técnica se utiliza a menudo antes de entrenar modelos avanzados de detección de objetos para normalizar los datos de entrada.
  • Segmentación de clientes: Las empresas aprovechan la agrupación para clasificar a los clientes en función de su historial de compras , datos demográficos o comportamiento en el sitio web. Esto permite aplicar estrategias de marketing específicas, un componente clave de la IA en las soluciones minoristas. Al identificar a los compradores de alto valor o los riesgos de pérdida de clientes, las empresas pueden adaptar sus mensajes de manera eficaz.
  • Detección de anomalías: al aprender la estructura de los clústeres de datos «normales», los sistemas pueden identificar valores atípicos que se alejan mucho de cualquier centroide. Esto es muy útil para la detección de fraudes en las finanzas y la detección de anomalías en la seguridad de las redes, ya que ayuda a señalar actividades sospechosas que se desvían de los patrones estándar.
  • Generación de cuadros de anclaje: Históricamente, los detectores de objetos como YOLO anteriores YOLO utilizaban K-Means para calcular los cuadros de anclaje óptimos a partir de conjuntos de datos de entrenamiento . Aunque los modelos modernos como YOLO26 utilizan métodos avanzados sin anclajes, comprender K-Means sigue siendo relevante para la evolución de las arquitecturas de detección.

Ejemplo de aplicación

Mientras que los marcos de aprendizaje profundo como la Ultralytics gestionan complejos procesos de formación, K-Means se utiliza a menudo para analizar estadísticas de conjuntos de datos. El siguiente Python muestra cómo agrupar coordenadas 2D, simulando centroides de objetos, utilizando la popular biblioteca Scikit-learn.

import numpy as np
from sklearn.cluster import KMeans

# Simulated coordinates of detected objects (e.g., from YOLO26 inference)
points = np.array([[10, 10], [12, 11], [100, 100], [102, 101], [10, 12], [101, 102]])

# Initialize K-Means to find 2 distinct groups (clusters)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(points)

# Output the cluster labels (0 or 1) for each point
print(f"Cluster Labels: {kmeans.labels_}")
# Output: [1 1 0 0 1 0] -> Points near (10,10) are Cluster 1, near (100,100) are Cluster 0

Comparación con algoritmos afines

Es importante distinguir K-Means de otros algoritmos con nombres o funciones similares para garantizar que se seleccione la herramienta correcta para un proyecto.

  • K-Means frente a K-Nearest Neighbors (KNN): A menudo se confunden debido a la «K» de sus nombres. K-Means es un algoritmo no supervisado que se utiliza para agrupar datos sin etiquetar. Por el contrario, K-Nearest Neighbors (KNN) es un algoritmo de aprendizaje supervisado que se utiliza para la clasificación y regresión de imágenes, y que se basa en datos etiquetados para realizar predicciones basadas en la clase mayoritaria de vecinos.
  • K-Means frente a DBSCAN: Aunque ambos agrupan datos, K-Means asume que los clústeres son esféricos y requiere que se defina de antemano el número de clústeres. DBSCAN agrupa los datos en función de la densidad, puede encontrar clústeres de formas arbitrarias y gestiona mejor el ruido. Esto hace que DBSCAN sea superior para datos espaciales complejos que se encuentran en conjuntos de datos con estructuras irregulares en las que se desconoce el número de clústeres.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora