Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

K-Nearest Neighbors (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 de aprendizaje supervisado que se utiliza tanto para tareas de clasificación como de regresión. Se considera un algoritmo basado en instancias o de "aprendizaje perezoso" porque no construye un modelo durante la fase de datos de entrenamiento. En cambio, almacena todo el conjunto de datos y realiza predicciones encontrando las 'K' instancias (vecinos) más similares en los datos almacenados. La idea central es que los puntos de datos similares existen en estrecha proximidad. Para un nuevo punto de datos no clasificado, KNN identifica a sus vecinos más cercanos y utiliza sus etiquetas para determinar su propia clasificación o valor.

¿Cómo funciona KNN?

El algoritmo KNN opera sobre un principio simple de similitud, típicamente medido por una métrica de distancia. La más común es la distancia euclidiana, aunque se pueden utilizar otras métricas dependiendo del conjunto de datos.

El proceso para hacer una predicción es sencillo:

  1. Elija el valor de K: El número de vecinos (K) a considerar es un hiperparámetro crítico. La elección de K puede afectar significativamente el rendimiento del modelo.
  2. Calcular distancias: Para un nuevo punto de datos, el algoritmo calcula la distancia entre él y todos los demás puntos del conjunto de datos de entrenamiento.
  3. Identificar Vecinos: Identifica los puntos de datos K del conjunto de entrenamiento que están más cerca del nuevo punto. Estos son los "vecinos más cercanos".
  4. Hacer una Predicción:
    • Para las tareas de clasificación, el algoritmo realiza una votación por mayoría. El nuevo punto de datos se asigna a la clase que es más común entre sus K vecinos más cercanos. Por ejemplo, si K=5 y tres vecinos son de la Clase A y dos son de la Clase B, el nuevo punto se clasifica como Clase A.
    • Para las tareas de regresión, el algoritmo calcula el promedio de los valores de sus K vecinos más cercanos. Este promedio se convierte en el valor predicho para el nuevo punto de datos.

Aplicaciones en el mundo real

La simplicidad y la naturaleza intuitiva de KNN lo hacen útil en diversas aplicaciones, especialmente como modelo de referencia.

  • Sistemas de Recomendación: KNN es una opción popular para la construcción de motores de recomendación. Por ejemplo, un servicio de streaming puede recomendar películas a un usuario identificando a otros usuarios (vecinos) con historiales de visualización similares. Las películas disfrutadas por estos vecinos, que el usuario objetivo no ha visto, se recomiendan entonces. Esta técnica es una forma de filtrado colaborativo.
  • Servicios Financieros: En finanzas, KNN se puede utilizar para la calificación crediticia. Al comparar un nuevo solicitante de préstamo con una base de datos de solicitantes anteriores con resultados crediticios conocidos, el algoritmo puede predecir si es probable que el nuevo solicitante incumpla. Los vecinos son solicitantes anteriores con perfiles financieros similares (por ejemplo, edad, ingresos, nivel de deuda), y su historial de incumplimiento informa la predicción. Esto ayuda a automatizar las evaluaciones de riesgo iniciales.

KNN vs. Conceptos relacionados

Es importante distinguir KNN de otros algoritmos comunes de aprendizaje automático:

  • Agrupamiento K-Means: Si bien los nombres son similares, sus funciones son muy diferentes. K-Means es un algoritmo de aprendizaje no supervisado que se utiliza para dividir los datos en K subgrupos (clusters) distintos y no superpuestos. KNN, por el contrario, es un algoritmo supervisado que se utiliza para la predicción basada en datos etiquetados.
  • Máquina de Vectores de Soporte (SVM): SVM es un algoritmo supervisado que busca encontrar el mejor hiperplano posible que separe diferentes clases en el espacio de características. Mientras que KNN toma decisiones basadas en la similitud local de los vecinos, SVM tiene como objetivo encontrar un límite óptimo global, lo que lo hace fundamentalmente diferente en su enfoque. Se pueden encontrar más detalles en la página de Scikit-learn SVM.
  • Árboles de Decisión: Un árbol de decisión clasifica los datos creando un modelo de decisiones jerárquicas basadas en reglas. Esto da como resultado una estructura en forma de árbol, mientras que KNN se basa en la similitud basada en la distancia sin aprender reglas explícitas. Puede obtener más información en la documentación de árboles de decisión de Scikit-learn.

Si bien KNN es una herramienta valiosa para comprender los conceptos fundamentales del aprendizaje automático y para su uso en conjuntos de datos más pequeños y bien seleccionados, puede ser computacionalmente intensivo para la inferencia en tiempo real con big data. Para tareas complejas de visión artificial como la detección de objetos en tiempo real, se prefieren modelos más avanzados como Ultralytics YOLO por su velocidad y precisión superiores. Estos modelos se pueden entrenar e implementar fácilmente utilizando plataformas como Ultralytics HUB.

Únete a la comunidad de Ultralytics

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

Únete ahora
Enlace copiado al portapapeles