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 enfoque intuitivo, lo que lo convierte en un gran punto de partida para comprender el aprendizaje basado en instancias. KNN se clasifica como método no paramétrico porque no hace suposiciones sobre la distribución de datos subyacente. También se conoce como algoritmode "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 se asigna a la clase más común entre sus K vecinos (votación por mayoría). Para la regresión, la predicción suele ser el valor medio de los K vecinos. La elección de la métrica de distancia (por ejemplo, Manhattan, Minkowski) y el valor de "K" son hiperparámetros cruciales que influyen significativamente en el rendimiento del modelo. Una aplicación eficiente suele basarse en estructuras de datos como los árboles KD o los árboles de Ball para acelerar la búsqueda de vecinos, especialmente con conjuntos de datos más grandes.

Elegir el valor de "K

Seleccionar la "K" óptima es fundamental. Un valor de "K" pequeño (por ejemplo, K=1) hace que el modelo sea muy sensible al ruido y a los valores atípicos de los datos, lo que puede dar lugar a un ajuste excesivo, en el que el modelo funcione bien con los datos de entrenamiento, pero mal con los datos no vistos. Por el contrario, un valor "K" grande puede suavizar en exceso los límites de decisión, haciendo que el modelo sea menos sensible a los patrones locales y conduciendo potencialmente a un ajuste insuficiente y a un alto coste computacional durante la predicción. A menudo se emplean técnicas como la validación cruzada (consulta la Guía de validación cruzada de Scikit-learn) para encontrar una "K" adecuada que equilibre la relación sesgo-varianza. La biblioteca Scikit-learn proporciona herramientas para implementar KNN y realizar búsquedas de hiperparámetros, y puedes encontrar consejos generales en la Guía de ajuste de hiperparámetrosUltralytics .

Aplicaciones de KNN

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

Ventajas y desventajas de KNN

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

Ventajas:

Desventajas:

KNN frente a conceptos relacionados

Es importante distinguir el KNN de otros algoritmos:

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 un rendimiento 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