Glosario

Vecinos más próximos K (KNN)

Explora KNN, un versátil algoritmo de aprendizaje automático para clasificación, regresión, reconocimiento de imágenes y mucho más. Aprende cómo predice utilizando la proximidad de datos.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

K-Nearest Neighbors (KNN) es un algoritmo de aprendizaje automático sencillo, pero potente, que se utiliza para tareas de clasificación y regresión. Su función principal es predecir la clase o el valor de un punto de datos basándose en los "k" puntos de datos más cercanos en el espacio de características. KNN es conocido por su sencillez y eficacia en el manejo de problemas de clasificación, sobre todo con conjuntos de datos en los que el límite de decisión no es lineal.

Cómo funcionan los vecinos más próximos K

KNN funciona almacenando todos los puntos de datos disponibles y, cuando se requiere una predicción, identificando los "k" vecinos más próximos al punto de consulta. A continuación, el algoritmo determina como predicción la clase más común (para clasificación) o el valor medio (para regresión) entre estos vecinos.

  • Métrica de distancia: La elección de la métrica de distancia es crucial en KNN. Entre las métricas habituales están las distancias euclídea, de Manhattan y de Minkowski. Esta métrica determina cómo se mide la "cercanía" de los puntos de datos.

  • Elección de "k": Seleccionar el valor adecuado de "k" es fundamental para el rendimiento del modelo. Un valor "k" pequeño hace que el modelo sea más sensible al ruido, mientras que un valor "k" grande puede simplificar en exceso el límite de decisión, con lo que podrían perderse pautas sutiles.

  • Complejidad computacional: KNN requiere el cálculo de distancias entre el punto de consulta y todos los demás puntos del conjunto de datos, lo que lo hace computacionalmente intensivo a medida que aumenta el tamaño del conjunto de datos. Esta característica puede dificultar el uso de KNN con grandes conjuntos de datos sin optimización.

Aplicaciones de KNN

  1. Reconocimiento de imágenes: KNN puede categorizar imágenes basándose en los valores de intensidad de los píxeles. En visión por ordenador, se utiliza para detectar patrones en conjuntos de datos de imágenes comparando imágenes nuevas con otras categorizadas previamente.

  2. Sistemas de recomendación: Aprovechando los datos de interacción usuario-artículo, KNN identifica usuarios o artículos similares para ofrecer recomendaciones. Esta técnica se utiliza habitualmente en plataformas de comercio electrónico para sugerir productos basándose en el comportamiento histórico y las preferencias de un usuario.

  3. Diagnóstico sanitario: KNN ayuda a predecir las afecciones de los pacientes comparando los datos de los nuevos pacientes con los datos existentes de los registros históricos de pacientes, lo que ayuda en el diagnóstico y la planificación del tratamiento.

Ejemplos reales

  • Detección de fraudes: Las instituciones financieras utilizan KNN para detectar transacciones fraudulentas identificando patrones típicos de fraude basados en el historial de transacciones anteriores.

  • Predicción del precio de las acciones: En finanzas, KNN se aplica para predecir los precios de las acciones analizando tendencias pasadas e identificando patrones históricos similares para predecir movimientos futuros.

Ventajas y desventajas

  • Pros:

    • Aplicación sencilla sin necesidad de una fase de entrenamiento del modelo.
    • No es necesario ajustar los parámetros del modelo, salvo decidir "k" y la métrica de distancia.
    • Funciona bien con conjuntos de datos pequeños y problemas de clasificación multiclase.
  • Contras:

    • Alto coste computacional durante la fase de predicción.
    • Sensible a los rasgos irrelevantes o redundantes, ya que todos los rasgos contribuyen por igual.
    • Rápida degradación del rendimiento con el aumento de la dimensionalidad, conocida como la "maldición de la dimensionalidad".

Conceptos relacionados y alternativas

  • Agrupación de K-Means: Mientras que KNN se utiliza para la clasificación, K-Means Clustering es un algoritmo de aprendizaje no supervisado que agrupa los datos en clusters basándose en la similitud de las características.

  • Máquina de vectores de apoyo (SVM): A diferencia de KNN, SVM es un modelo de aprendizaje supervisado que encuentra el hiperplano en el espacio de características que mejor separa las distintas clases. Más información sobre las máquinas de vectores de soporte.

  • Árboles de decisión: Estos modelos crean un gráfico de decisiones en forma de árbol para ayudar en la clasificación. Más información sobre los Árboles de Decisión.

Para aplicaciones prácticas y despliegue, explora las capacidades de Ultralytics HUB, una plataforma que permite entrenar y desplegar fácilmente modelos de aprendizaje automático como KNN y más allá. Visita Ultralytics HUB para aprovechar las soluciones sin código para tus proyectos de IA.

Para comprender cómo encaja KNN en tareas más amplias de aprendizaje automático, explora más a fondo el Aprendizaje Supervisado y otros conceptos de aprendizaje automático relacionados.

Leer todo