Glosario

Vecinos más próximos (KNN)

Descubra 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.

K-Nearest Neighbors (KNN) es un algoritmo fundamental en el aprendizaje automático (AM), utilizado tanto para tareas de clasificación como de regresión. Destaca por su sencillez y su enfoque intuitivo, lo que lo convierte en un excelente 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 partir 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 eficaz 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 de gran tamaño.

Elegir el valor de "K

Seleccionar el valor óptimo de "K" 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 una adaptación excesiva, en la que el modelo funcione bien con los datos de entrenamiento, pero mal con los datos no observados. Por el contrario, un valor "K" elevado puede suavizar en exceso los límites de decisión, lo que hace que el modelo sea menos sensible a los patrones locales y puede dar lugar a una adaptación insuficiente y a un elevado coste computacional durante la predicción. A menudo se emplean técnicas como la validación cruzada (véase 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 puede encontrar consejos generales en la Guía de ajuste de hiperparámetros de Ultralytics.

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 sus limitaciones:

Ventajas:

Desventajas:

KNN frente a conceptos relacionados

Es importante distinguir 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 YOLO, que ofrecen una velocidad y un rendimiento superiores, especialmente en conjuntos de datos de visión por ordenador a gran escala. Puede entrenar y desplegar estos modelos utilizando plataformas como Ultralytics HUB.

Únase a la comunidad Ultralytics

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

Únete ahora
Enlace copiado en el portapapeles