Glosario

Vecinos más próximos K (KNN)

Descubre cómo K-Nearest Neighbors (KNN) simplifica el aprendizaje automático con su enfoque intuitivo y no paramétrico para tareas de clasificación y regresión.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

K-Nearest Neighbors (KNN) es un algoritmo fundamental en el aprendizaje automático (AM) que se utiliza tanto para tareas de clasificación como de regresión. Destaca por su sencillez y su enfoque intuitivo. KNN se clasifica como método no paramétrico porque no hace suposiciones sobre la distribución subyacente de los datos. También se conoce como algoritmo de "aprendizaje perezoso" porque no construye un modelo general durante la fase de datos de entrenamiento; en su lugar, almacena todo el conjunto de datos y realiza cálculos sólo cuando se necesita una predicción.

Cómo funciona KNN

La idea central de KNN se basa en la similitud, a menudo definida mediante métricas de distancia como la distancia euclidiana. Al predecir un nuevo punto de datos no visto, el algoritmo identifica los "K" puntos de datos más cercanos (vecinos) a él del conjunto de datos de entrenamiento almacenados. El valor "K" es un número entero definido por el usuario y representa el número de vecinos considerados.

  • Para la Clasificación: El nuevo punto de datos se asigna a la clase más común entre sus K vecinos más próximos. Si K=3, y dos vecinos pertenecen a la Clase A y uno a la Clase B, el nuevo punto se clasifica como Clase A.
  • Para la Regresión: La predicción para el nuevo punto de datos suele ser la media (o a veces la mediana) de los valores de sus K vecinos más próximos.

La elección de la métrica de distancia y el valor de "K" son hiperparámetros cruciales que influyen significativamente en el rendimiento del modelo.

Elegir el valor de "K

Seleccionar la "K" óptima es fundamental. Un valor "K" pequeño hace que el modelo sea sensible al ruido y a los valores atípicos, lo que puede llevar a un ajuste excesivo. Por el contrario, un valor de "K" grande puede suavizar en exceso los límites de decisión, lo que puede llevar a un ajuste insuficiente y a un alto coste computacional. A menudo se emplean técnicas como la validación cruzada para encontrar una "K" adecuada que equilibre la relación sesgo-varianza.

Aplicaciones de KNN

La simplicidad de KNN se presta a diversas aplicaciones, sobre todo cuando se valora la interpretabilidad:

  1. Sistemas de recomendación: KNN puede sugerir elementos (como películas o productos) a los usuarios basándose en las preferencias de sus vecinos "más cercanos" (usuarios con gustos similares). Servicios como Netflix han explorado métodos similares basados en instancias.
  2. Reconocimiento de imágenes: En tareas básicas de clasificación de imágenes, KNN puede clasificar una imagen basándose en las clases de las imágenes más similares del conjunto de entrenamiento (por ejemplo, identificar dígitos manuscritos basándose en la similitud de píxeles). Aunque es eficaz para conjuntos de datos más sencillos como MNIST, las tareas más complejas suelen requerir modelos sofisticados.
  3. Detección de anomalías: Al identificar puntos de datos alejados de cualquier grupo de vecinos, KNN puede utilizarse para detectar valores atípicos o anomalías, útiles en áreas como la detección de fraudes o la identificación de artículos defectuosos en la fabricación. Explora más sobre los métodos de detección de anomalías.
  4. Análisis de la expresión génica: En bioinformática, KNN ayuda a clasificar muestras basándose en patrones de expresión génica, agrupando perfiles genéticos similares. Más información sobre la IA en aplicaciones sanitarias.

Ventajas y desventajas de KNN

KNN ofrece varias ventajas, pero también tiene limitaciones:

Ventajas:

  • Simplicidad e intuición: Fácil de entender y poner en práctica.
  • Sin fase de entrenamiento: Aprende instantáneamente almacenando el conjunto de datos, por lo que es adaptable a nuevos datos.
  • Flexibilidad: Maneja naturalmente la clasificación multiclase y puede adaptarse para la regresión.

Desventajas:

  • Coste computacional: La predicción puede ser lenta y costosa computacionalmente, sobre todo con grandes conjuntos de datos, ya que requiere calcular distancias a todos los puntos de entrenamiento.
  • Sensibilidad a las características irrelevantes: El rendimiento se degrada significativamente con datos de alta dimensión (maldición de la dimensionalidad) o cuando hay características irrelevantes. Pueden ser necesarias técnicas como la reducción de la dimensionalidad.
  • Necesidad de escalado de características: Sensible a la escala de los datos; los rasgos con rangos mayores pueden dominar los cálculos de distancia, haciendo necesaria la normalización.
  • Determinar el valor óptimo de "K Encontrar el mejor valor de "K" requiere un cuidadoso ajuste de los hiperparámetros.

KNN frente a conceptos relacionados

Es importante distinguir el KNN de otros algoritmos:

  • Agrupación de K-Means: Aunque ambos utilizan "K" y medidas de distancia, K-Means es un algoritmo de aprendizaje no supervisado para agrupar datos en grupos basándose en la similitud. KNN es un algoritmo de aprendizaje supervisado para clasificación o regresión basado en vecinos etiquetados.
  • Máquina de vectores de apoyo (SVM): La SVM es un algoritmo supervisado que encuentra un hiperplano óptimo para separar las clases. A diferencia del enfoque basado en instancias de KNN, SVM construye un modelo explícito, que a menudo funciona mejor con datos de alta dimensión.
  • Árboles de decisión: Los árboles de decisión construyen un modelo basado en divisiones de características, proporcionando reglas claras para la clasificación o la regresión. KNN se basa en la similitud local en lugar de en reglas explícitas.

Mientras que KNN es valioso para ciertas tareas y para comprender conceptos fundamentales de ML, los problemas complejos como la detección de objetos en tiempo real a menudo se benefician de modelos más avanzados como Ultralytics YOLOque ofrecen una velocidad y precisión superiores, especialmente en conjuntos de datos de visión por ordenador a gran escala. Puedes entrenar y desplegar tales modelos utilizando plataformas como Ultralytics HUB.

Leer todo