Compartir a través de


kNN frente a ANN

Hay dos categorías principales de algoritmos de búsqueda vectorial que son k-Nearest Neighbors (kNN) y Approximate Nearest Neighbors (ANN, que no debe confundirse con Artificial Neural Network). kNN es preciso, pero es de gran uso computacional, lo que hace que sea menos adecuado para grandes conjuntos de datos. ANN, por otro lado, ofrece un equilibrio entre la precisión y la eficiencia, lo que hace que sea más adecuado para aplicaciones a gran escala.

Funcionamiento de kNN

  1. Vectorización: cada punto de datos del conjunto de datos se representa como un vector en un espacio multidimensional.
  2. Cálculo de distancia: para clasificar un nuevo punto de datos (punto de consulta), el algoritmo calcula la distancia entre el punto de consulta y todos los demás puntos del conjunto de datos mediante una función de distancia.
  3. Búsqueda de vecinos: el algoritmo identifica los puntos de datos K más cercanos (vecinos) al punto de consulta en función de las distancias calculadas. El valor de K (el número de vecinos) es fundamental. Un valor de K pequeño puede ser sensible al ruido, mientras que un valor de K grande puede suavizar los detalles.
  4. Realizar predicciones:
  • Clasificación: para las tareas de clasificación, kNN asigna la etiqueta de clase al punto de consulta más común entre los vecinos K. Básicamente, realiza un "voto mayoritario".
  • Regresión: para las tareas de regresión, kNN predice el valor del punto de consulta como el promedio (o, a veces, la media ponderada) de los valores de los vecinos K.

Funcionamiento de ANN

  1. Vectorización: cada punto de datos del conjunto de datos se representa como un vector en un espacio multidimensional.
  2. Indexación y estructuras de datos: los algoritmos ANN usan estructuras de datos avanzadas (por ejemplo, árboles KD, hash con distinción de localidad o métodos basados en grafos) para indexar los puntos de datos, lo que permite búsquedas más rápidas.
  3. Cálculo de distancia: en lugar de calcular la distancia exacta a cada punto, los algoritmos ANN usan la heurística para identificar rápidamente las regiones del espacio que probablemente contienen los vecinos más cercanos.
  4. Búsqueda de vecinos: el algoritmo identifica un conjunto de puntos de datos que probablemente están cerca del punto de consulta. No se garantiza que estos vecinos sean los puntos más cercanos exactos, pero son lo suficientemente cercanos para fines prácticos.
  5. Realizar predicciones:
  • Clasificación: para las tareas de clasificación, ANN asigna la etiqueta de clase al punto de consulta más común entre los vecinos identificados, de manera similar a kNN.
  • Regresión: para las tareas de regresión, ANN predice el valor del punto de consulta como el promedio (o la media ponderada) de los valores de los vecinos identificados.