¿Qué es el algoritmo k vecinos más cercanos? El algoritmo k vecinos más cercanos (KNN) es un método de aprendizaje automático supervisado que se utiliza para la clasificación y la regresión. Asigna etiquetas basadas en los puntos de datos más cercanos del conjunto de entrenamiento y es uno de los clasificadores más utilizados en el aprendizaje automático. Demostración de la IA
Cosas que hay que saber sobre los datos sintéticos
¿Qué son los vectores y la búsqueda de vectores? ¿Para qué se utiliza el algoritmo KNN? ¿Qué son las métricas de distancia? ¿Cómo se debe definir el valor de "k"? ¿Por qué es importante el algoritmo KNN? ¿Cuáles son sus ventajas? ¿Cuáles son sus desventajas? ¿Cómo funciona el algoritmo KNN? ¿Cuáles son sus distintas formas? Sacar partido del algoritmo KNN

En el aprendizaje automático y la inteligencia artificial, clasificar los datos es un proceso fundamental. Se trata de asignar etiquetas a los puntos de datos en función de sus características. Para ello, es necesario analizar datos conocidos (datos de entrenamiento), en los que cada ejemplo está etiquetado con una categoría o valor. Las etiquetas ayudan a establecer patrones y relaciones dentro de los datos, lo que permite que el modelo haga predicciones precisas sobre puntos de datos nuevos que no se habían visto. Lamentablemente, trabajar con datos etiquetados presenta sus propios problemas: los procesos manuales que implica el etiquetado de datos pueden llevar mucho tiempo y ser difíciles, y la inversión en recursos puede hacer que no sea una opción para algunas organizaciones. 

El algoritmo k vecinos más cercanos (KNN) ofrece una solución sencilla y eficiente a este problema. En lugar de requerir cálculos complejos por adelantado, KNN funciona almacenando todos los datos y, a continuación, haciendo predicciones de nuevos datos en función de su similitud a los datos existentes. Esta estrategia permite a KNN hacer predicciones precisas sin necesidad de grandes ajustes, algo especialmente útil cuando se trabaja con conjuntos de datos más pequeños y con una potencia informática limitada.

Expandir todo Contraer todo ¿Qué son los vectores y la búsqueda de vectores en KNN?

Los vectores son fundamentales para la funcionalidad del algoritmo k vecinos más cercanos. Un vector es una secuencia de números que representa un punto en un espacio multidimensional. Los modelos de aprendizaje automático deben ser capaces de transformar datos sin procesar y no estructurados en representaciones numéricas de este tipo, conocidas como incrustaciones. Las incrustaciones capturan la esencia semántica o estructural de los datos de entrada, y las relaciones entre las incrustaciones se representan según su proximidad espacial (lo cerca o lejos que están entre sí) en el espacio vectorial.

KNN utiliza esta disposición espacial identificando los "vecinos" de un punto de consulta, otras incrustaciones colocadas cerca en el espacio multidimensional. Estos vecinos son puntos de datos con características compartidas o características similares.

Por ejemplo, dos documentos con temas similares tendrán incrustaciones más cercanas entre sí, lo que permitirá a KNN reconocer las similitudes y asociaciones para poder clasificar nuevos datos o predecir resultados basados en estas relaciones.

Presentamos Now Intelligence Descubre cómo ServiceNow saca la IA y los análisis fuera del laboratorio para transformar la forma de trabajar de las empresas y acelerar la transformación digital. Descargar eBook
¿Para qué se utiliza el algoritmo KNN? 

El algoritmo k vecinos más cercanos opera utilizando vectores para identificar los "k" (puntos de datos más cercanos o vecinos) a un nuevo punto de datos y haciendo predicciones basadas en esos vecinos. Por ejemplo, si el objetivo es clasificar los correos electrónicos como deseados o no deseados, el algoritmo KNN se fijaría en los "k" correos electrónicos más similares y clasificaría los nuevos según la calificación de la mayoría de esos correos vecinos.

Imagina una organización que tiene datos de distintos clientes, con características como la edad, los intereses y el historial de compras. El algoritmo KNN puede comparar sus características para dividirlos en categorías como compradores frecuentes, ocasionales y que solo miran. Si un nuevo cliente visita el sitio web, KNN puede predecir su comportamiento de compra evaluando a qué grupo se asemeja más. 

La adaptabilidad del algoritmo es aún mayor cuando se utiliza con conjuntos de datos multimodales. En ese caso, se combina información de varias fuentes a la vez, como texto, imágenes o audio. KNN puede analizar esas incrustaciones en un espacio vectorial compartido e identificar similitudes entre distintas modalidades. Al aplicar KNN a datos multimodales, puede encontrar el vecino más similar independientemente del tipo de datos, lo que lo convierte en un algoritmo versátil para abordar datos cada vez más complejos y diversos.

  • Reconocimiento de patrones

KNN se utiliza ampliamente en tareas de reconocimiento de patrones, por ejemplo, en imágenes y escritura a mano. Al comparar nuevas imágenes o muestras con un conjunto de datos etiquetado, KNN puede clasificar con precisión objetos, caracteres o caras en función de la similitud con patrones conocidos. 

  • Procesamiento de datos 

KNN es eficaz en el procesamiento previo de datos, por ejemplo, a la hora de introducir valores que faltan o detectar valores atípicos. Mediante el análisis de los vecinos más cercanos, KNN puede estimar los valores que faltan basándose en los puntos de datos más similares, lo que mejora la calidad y la coherencia de los datos. 

  • Motores de recomendaciones 

KNN ayuda a crear sistemas de recomendación analizando el comportamiento y las preferencias de los usuarios. Cuando encuentra usuarios con intereses similares, KNN puede sugerir productos, películas o contenido que les haya gustado a otros con perfiles parecidos, lo que mejora la experiencia y el interés de los usuarios. 

  • Transformación de imagen a texto 

KNN se utiliza cada vez más en tareas de transformación de imagen a texto dentro de sistemas multimodales. Al comparar las incrustaciones de las imágenes con las de las descripciones textuales, KNN permite a los sistemas de IA hacer tareas complejas, como los títulos automáticos, una tarea para la cual las coincidencias más cercanas proporcionan texto que concuerda con el contexto de una determinada imagen. 

¿Qué métricas de distancia se utilizan en KNN?

En todos los casos anteriores, la precisión de las predicciones de KNN depende en gran medida de las métricas de distancia utilizadas para medir la similitud de los datos. En el algoritmo KNN, las métricas de distancia miden la similitud entre los puntos de datos, lo que es crucial para obtener predicciones precisas. Estas métricas determinan cómo calcula el algoritmo la "proximidad" entre los puntos de datos para clasificarlos o predecir nuevos puntos de datos de forma eficaz.

Distancia euclidiana 

La distancia euclidiana es la métrica que más se usa en KNN. Calcula la distancia en línea recta entre dos puntos en el espacio euclidiano. Imagina usar un mapa y una regla para medir el camino más corto entre dos ubicaciones. Cuanto más corta sea la distancia, más similares serán los puntos. Por ejemplo, si quisiéramos comparar la altura y el peso de diferentes individuos, la distancia euclidiana ayudaría a determinar quiénes son más similares entre sí en base a estas dos características que los separan empleando la distancia más corta. 

 

Distancia Manhattan 

La distancia Manhattan mide la diferencia absoluta entre distintos puntos teniendo en cuenta todas las dimensiones, como si se estuviera recorriendo la cuadrícula del plano de una ciudad. Imagina un plano urbano en forma de cuadrícula en el que solo fuera posible desplazarse por las calles, no diagonalmente a través de los edificios. Esta métrica es útil cuando los puntos de datos están estructurados en un patrón tipo cuadrícula, por ejemplo, para comparar rutas de entrega o hacer proyectos de planificación urbana.

Distancia de Minkowski  

La distancia de Minkowski es una generalización de las distancias Manhattan y euclidiana. Al ajustar un parámetro "p", puede comportarse como cualquiera de las dos métricas. La distancia de Minkowski es como una herramienta flexible que puede adaptarse a diferentes situaciones según las necesidades específicas del análisis de datos. Por ejemplo, si alguien quisiera comparar propiedades con diferentes dimensiones (como precio, área y número de habitaciones), ajustar el valor "p" ayudaría a dar prioridad a unas dimensiones sobre otras, lo que hace que sea una métrica versátil para comparar diversos tipos de datos. 

¿Cómo se debe definir el valor de "k"? 

Si el valor de "k" no se define correctamente, el algoritmo KNN no funcionará como debe. En caso de escoger un valor demasiado pequeño, las predicciones serán demasiado sensibles al ruido de los datos, lo que llevará a una variación muy alta y a predicciones menos estables. Por otro lado, un valor demasiado grande puede estabilizar las predicciones, pero es posible que el modelo sea tan general que no se observen patrones específicos.

Para determinar el valor de "k" de manera óptima, los profesionales suelen utilizar la validación cruzada (una técnica en la que el conjunto de datos se divide en conjuntos de entrenamiento y validación varias veces para probar diferentes valores de "k"). Esto ayuda a identificar un valor que minimice los errores de predicción al tiempo que se mantiene la capacidad de generalización del algoritmo.

Este proceso puede conllevar cierto ensayo y error. Para encontrar el valor de "k" adecuado, es necesario probar varios valores para garantizar que el modelo funcione bien tanto con los datos vistos como con los no vistos, lo que permite lograr el equilibrio óptimo de estabilidad y especificidad.

¿Por qué es importante el algoritmo KNN? 
El algoritmo KNN es una herramienta útil en varias situaciones en las que las relaciones entre los puntos de datos no son evidentes de inmediato, ya que se basa en la similitud entre ellos para hacer predicciones precisas sin que el modelo esté entrenado de forma exhaustiva. Resulta especialmente útil en campos como el reconocimiento de imágenes, donde las similitudes visuales pueden ser cruciales para identificar objetos, o en la segmentación de clientes, donde los patrones de comportamiento ayudan a clasificar a los usuarios en grupos representativos. 
¿Cuáles son las ventajas del algoritmo KNN? 

El propósito general del algoritmo k vecinos más cercanos es establecer conexiones, similitudes y relaciones entre puntos de datos. Lo que ayuda a que este modelo sea una elección tan popular para las organizaciones es el conjunto adicional de ventajas que aporta. Estas son algunas de las ventajas del algoritmo KNN:

Fácil implementación 

KNN es fácil de implementar y entender, incluso para principiantes en el aprendizaje automático. No requiere una fase de entrenamiento compleja, sino que memoriza el conjunto de datos de entrenamiento y lo usa directamente para hacer predicciones.

Adaptabilidad 

En tareas tanto de clasificación como de regresión, KNN puede abordar las distintas estructuras y relaciones de datos necesarias para agrupar los puntos de datos. Esta flexibilidad permite aplicarlo en distintos sectores, como las finanzas, la atención sanitaria, el comercio electrónico, etc.

Menor complejidad

KNN solo requiere unos pocos hiperparámetros, principalmente el valor de "k" y la métrica de distancia. Esto reduce la complejidad que implica el ajuste de modelos en comparación con otros algoritmos que pueden requerir una mayor optimización de los parámetros. Como resultado, simplifica el proceso general de desarrollo de modelos y ayuda a lograr un rendimiento superior con unos ajustes mínimos.

¿Cuáles son las desventajas de utilizar el algoritmo KNN? 

Aunque el algoritmo KNN ofrece varias ventajas, también presenta algunas debilidades notables. Entre estas limitaciones se incluyen las siguientes: 

Problemas cuando la dimensionalidad es alta 

La dimensionalidad alta hace referencia al aumento exponencial de los datos necesarios para mantener el mismo nivel de rendimiento a medida que aumenta el número de características (o dimensiones). En los espacios de donde la dimensionalidad es alta, la distancia entre los puntos de datos se vuelve menos significativa, por lo que al algoritmo KNN le resulta más difícil identificar a los verdaderos vecinos más próximos. Este problema puede reducir significativamente la precisión y la eficacia del algoritmo en conjuntos de datos con muchas características. 

Riesgo de sobreajuste 

El algoritmo KNN puede verse afectado negativamente por el ruido y los valores atípicos del conjunto de datos, especialmente cuando el valor de "k" es pequeño. Esta sensibilidad puede llevar al sobreajuste, lo que da lugar a que el algoritmo capture ruido y anomalías como si fueran patrones reales. El sobreajuste da lugar a una generalización deficiente de datos nuevos e invisibles, lo que reduce el rendimiento de las predicciones del modelo. 

Dificultad para escalar 

La complejidad computacional aumenta con el tamaño del conjunto de datos, lo que hace que KNN sea ineficaz si los conjuntos de datos son demasiado grandes. Cada predicción requiere calcular la distancia entre el nuevo punto de datos y todos los puntos existentes en el conjunto de entrenamiento, lo que conlleva un uso elevado de la memoria y tiempos de cálculo prolongados. Esta falta de escalabilidad limita la aplicabilidad de KNN en situaciones con grandes volúmenes de datos. 

¿Cómo funciona el algoritmo KNN? 

Como ya hemos mencionado, el algoritmo KNN clasifica los puntos de datos en función de su proximidad a otros puntos del conjunto de datos. Para ello, debe seguir una serie de pasos concreta:

1. Elegir el número de vecinos (k) 

Define el valor de "k" que se debe tener en cuenta al hacer la clasificación o la regresión. Este valor influirá en cómo evaluará el algoritmo la similitud entre puntos de datos.

2. Calcular la distancia 

Calcula la distancia entre cada punto de datos del conjunto de entrenamiento y los nuevos puntos de datos empleando una de las métricas de distancia estándar (euclidiana, Manhattan o de Minkowski). Medir esta distancia ayuda a identificar los elementos que deben considerarse los vecinos más cercanos al nuevo punto de datos.

3. Identificar los vecinos más cercanos 

Ordena las distancias calculadas en el paso anterior y determina los "k" vecinos más cercanos. Esos vecinos son los puntos de datos más cercanos al nuevo punto de datos en función de la métrica de distancia seleccionada. 

4. Hacer una predicción 

Para las tareas de clasificación, asigna el nuevo punto de datos a la clase más común entre los "k" vecinos más cercanos. Para las tareas de regresión, calcula el valor promedio o mediano de los "k" vecinos más cercanos y utiliza ese valor como predicción para el nuevo punto de datos.

5. Evalúa el modelo

Evaluar la precisión y el rendimiento del modelo de KNN mediante técnicas de validación cruzada. Ajusta el valor de "k" y la métrica de distancia según sea necesario para optimizar las predicciones del modelo. 

¿Cuáles son las diferentes formas de emplear el algoritmo KNN? 

Hay varios métodos para emplear el algoritmo de los k vecinos más cercanos, cada uno con sus propias ventajas y aplicaciones adecuadas. Los siguientes métodos ayudan a optimizar el proceso de búsqueda de los vecinos más cercanos, lo que convierte a KNN en una opción eficiente para diferentes tipos de conjuntos de datos.  

  • Fuerza bruta 

El método de la fuerza bruta calcula la distancia entre el punto de consulta y el resto de los puntos del conjunto de datos. Aunque es sencillo, resulta costoso desde el punto de vista informático, lo que lo hace más adecuado para conjuntos de datos pequeños 

  • Árbol kd

Un árbol k-dimensional (árbol kd) organiza los puntos en un espacio k-dimensional dividiendo recursivamente el espacio en hiperrectángulos. Reduce los cálculos de distancia y acelera las búsquedas de KNN para datos con una dimensionalidad moderadamente alta. 

  • Árbol de bolas

Un árbol de bolas divide el espacio en hiperesferas anidadas, lo que permite buscar los vecinos más cercanos de forma eficiente al eliminar partes irrelevantes del conjunto de datos. Es particularmente eficaz con los datos con muchas dimensiones y suele ofrecer mejores resultados con ellos que los árboles kd. 

Precios de ServiceNow ServiceNow ofrece paquetes de productos competitivos que se adaptan a medida que tu empresa crece y tus necesidades cambian. Ver precios
Sacar partido del algoritmo KNN con ServiceNow 

El algoritmo k vecinos más cercanos es muy útil por su capacidad de clasificar puntos de datos y cuantificar relaciones para sistemas de inteligencia artificial. ServiceNow, líder en soluciones de TI empresariales, integra la IA avanzada y el algoritmo KNN, lo que proporciona herramientas muy potentes para la transformación digital. La galardonada Now Platform de ServiceNow® aprovecha la IA y el aprendizaje automático para automatizar, optimizar y modernizar los flujos de trabajo de todas las funciones empresariales, lo que permite optimizar la empresa al completo de manera inteligente. 

Gracias a la integración de KNN y otros algoritmos avanzados, ServiceNow permite a las organizaciones aprovechar la IA para mejorar la toma de decisiones, reducir los tiempos de respuesta y adoptar una estrategia empresarial más eficiente. Prueba hoy mismo la demostración de ServiceNow y experimenta la capacidad de transformación de la IA y Now Platform. 

Alt
Explora los flujos de trabajo de IA Descubre cómo la plataforma de ServiceNow lleva la IA práctica a cada aspecto de tu empresa. Explorar la GenAI Contactar
Recursos Artículos ¿Qué es la IA? ¿Qué es la IA generativa? Informes de analistas IDC InfoBrief: Maximiza el valor de la IA con una plataforma digital IA generativa en las operaciones de TI Implementación de la IA generativa en el sector de las telecomunicaciones Fichas técnicas Búsqueda IA Predice y evita interrupciones con AIOps predictivos de ServiceNow® Gestión de recursos eBooks Moderniza los servicios y las operaciones de TI con la IA IA generativa: ¿es tan grande como parece? Aumenta la productividad empresarial con la IA generativa White papers Índice de madurez de la IA empresarial IA generativa para telecomunicaciones