¿Qué es el algoritmo del vecino más cercano? El algoritmo del vecino más cercano (KNN) es un método de aprendizaje automático supervisado que se utiliza para la clasificación y la regresión. Asigna etiquetas en función de los puntos de datos “k” más cercanos en el conjunto de formación y es uno de los clasificadores más utilizados en aprendizaje automático. Demostración de IA
Cosas que debes saber sobre los datos sintéticos
¿Qué son los vectores y la búsqueda vectorial? ¿Para qué se utiliza el algoritmo KNN? ¿Qué métricas de distancia? ¿Cómo se debe definir el valor de “k”? ¿Por qué es importante el algoritmo KNN? ¿Cuáles son las ventajas? ¿Cuáles son las desventajas? ¿Cómo funciona el algoritmo KNN? ¿Cuáles son las diferentes maneras? Cómo aprovechar el algoritmo KNN

En el aprendizaje automático y la inteligencia artificial, la clasificación de datos es un proceso fundamental. El objetivo es asignar etiquetas a puntos de datos en función de sus características. Esto implica analizar datos conocidos (datos de formación) en los que cada ejemplo se etiqueta con una categoría o valor. Las etiquetas ayudan a establecer patrones y relaciones dentro de los datos, lo que hace posible que el modelo haga predicciones precisas sobre puntos de datos nuevos no vistos. Desafortunadamente, trabajar con datos etiquetados presenta sus propios problemas: los procesos manuales involucrados en el etiquetado de datos pueden llevar mucho tiempo y ser difíciles, y la inversión en recursos puede hacer que esto no sea una opción para algunas organizaciones. 

El algoritmo del vecino más cercano (KNN) ofrece una solución directa y eficiente a este problema. En lugar de requerir cálculos complejos por adelantado, KNN funciona almacenando todos los datos y luego haciendo predicciones para nuevos datos, en función con su similitud con los datos existentes. Este enfoque permite a KNN hacer predicciones precisas sin necesidad de ajustes exhaustivos, un enfoque particularmente útil cuando se trabaja con conjuntos de datos más pequeños y una potencia informática limitada.

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

Los vectores son parte integral de la funcionalidad del algoritmo del vecino más cercano. 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 estas representaciones numéricas, conocidas como incrustaciones. Las incrustaciones capturan la esencia semántica o estructural de los datos de entrada, con las relaciones entre las incrustaciones representadas como su proximidad espacial (cuán cerca o lejos están unas de otras) en el espacio vectorial.

KNN utiliza esta disposición espacial al identificar a los “vecinos” de un punto de consulta: otras incrustaciones colocadas cerca dentro del espacio multidimensional. Estos vecinos reflejan puntos de datos con características compartidas o similares.

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

Presentación de Now Intelligence Descubre cómo ServiceNow saca la IA y los análisis de los laboratorios para transformar la forma en que las empresas trabajan y acelerar la transformación digital. Obtener eBook
¿Para qué se utiliza el algoritmo KNN? 

El algoritmo del vecino más cercano funciona mediante el uso de vectores para identificar los “k” (puntos de datos o vecinos más cercanos) a un nuevo punto de datos y hacer predicciones basadas en estos vecinos. Por ejemplo, si el objetivo es clasificar los correos electrónicos como spam o no spam, KNN analizaría los correos electrónicos “k” más similares y clasificaría el nuevo correo electrónico en función de la clasificación mayoritaria de estos vecinos.

Alternativamente, imagina que una organización tiene datos de varios clientes, con características como la edad, los intereses y el historial de compras. KNN puede agrupar a estos clientes en categorías como compradores frecuentes, compradores ocasionales y visitantes de tiendas comparando sus características. Si un nuevo cliente visita el sitio web, KNN puede predecir su comportamiento de compra evaluando a qué grupo se parece más. 

La adaptabilidad del algoritmo se extiende aún más cuando se utiliza con conjuntos de datos multimodales. Aquí, la información se combina de varias fuentes a la vez, como texto, imágenes o audio. KNN puede analizar estas incrustaciones en un espacio vectorial compartido, identificando similitudes entre distintas modalidades. La aplicación de KNN a los datos multimodales le permite encontrar al vecino más similar, independientemente de los tipos de datos. Esto convierte a KNN en un algoritmo versátil para manejar escenarios de datos cada vez más complejos y diversos.

  • Reconocimiento de patrones

KNN se utiliza ampliamente en tareas de reconocimiento de patrones, como el reconocimiento de 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 rostros en función de la similitud con patrones conocidos. 

  • Procesamiento de datos 

KNN es eficaz en el preprocesamiento de datos, como la imputación de valores faltantes o la detección de valores atípicos. Mediante el análisis de los vecinos más cercanos, KNN puede estimar los valores faltantes en función de los puntos de datos más similares, lo que mejora la calidad y la coherencia de los datos. 

  • Motores de recomendaciones 

KNN ayuda a desarrollar sistemas de recomendaciones mediante el análisis del comportamiento y las preferencias de los usuarios. Al encontrar usuarios con intereses similares, KNN puede sugerir productos, películas o contenido que a otros con perfiles similares les hayan gustado, lo que mejora la experiencia y el compromiso del usuario. 

  • 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 imágenes con las de las descripciones textuales, KNN permite que los sistemas de IA realicen tareas complejas, como el subtitulado automatizado, donde las coincidencias más cercanas proporcionan texto contextualmente apropiado para una imagen determinada. 

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

En cada enfoque enumerado anteriormente, 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. Las métricas de distancia en KNN miden la similitud entre los puntos de datos, lo que es crucial para las predicciones precisas. Estas métricas determinan cómo el algoritmo calcula la “cercanía” de los puntos de datos para clasificar o predecir los nuevos puntos de datos de manera eficaz.

Distancia euclidiana 

La distancia euclidiana es la métrica más común utilizada en KNN, la cual 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 se considerará que son los puntos. Por ejemplo, al comparar la altura y el peso de diferentes individuos, la distancia euclidiana ayudaría a determinar qué individuos son más similares en función de estas dos características, que están separadas por la distancia euclidiana más corta. 

 

Distancia de Manhattan 

La distancia de Manhattan mide las diferencias absolutas entre los puntos a lo largo de cada dimensión, como navegar por una cuadrícula de calles de la ciudad. Imagina una cuadrícula de la ciudad donde el movimiento solo puede progresar a lo largo de las calles (en lugar de diagonalmente a través de los edificios). Esta métrica es útil cuando los puntos de datos se estructuran en un patrón similar a una cuadrícula, como la comparación de rutas de entrega o escenarios de planificación urbana.

Distancia Minkowski  

La distancia de Minkowski es una generalización de las distancias euclidiana y de Manhattan. Al ajustar un parámetro “p”, puede comportarse como cualquier métrica. Piensa en la distancia de Minkowski como una herramienta flexible que puede adaptarse a diferentes escenarios en función de las necesidades específicas del análisis de datos. Por ejemplo, si alguien comparara propiedades con diferentes dimensiones (como el precio, el área y el número de habitaciones), ajustar el valor “p” ayudaría a enfatizar ciertas dimensiones sobre otras, lo que la convertiría en una métrica versátil para diversos tipos de comparaciones de datos. 

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

Si no se define el valor correcto para “k”, el algoritmo KNN no funcionará como se esperaba. Elegir un valor demasiado pequeño de “k” puede hacer que las predicciones sean demasiado sensibles al ruido en los datos, lo que lleva a una alta varianza y predicciones menos estables. Por otro lado, un valor demasiado grande puede suavizar las predicciones, pero puede hacer que el modelo sea demasiado generalizado, de modo que no tenga patrones específicos.

Para encontrar el valor óptimo para “k”, los profesionales suelen utilizar la validación cruzada (una técnica en la que el conjunto de datos se divide en conjuntos de formación y validación varias veces para probar diferentes valores “k”). Esto ayuda a identificar un “k” que minimiza los errores de predicción, al mismo tiempo que mantiene la competencia de generalización del algoritmo.

Este proceso puede implicar algo de ensayo y error. Encontrar el “k” correcto implica probar varios valores para garantizar que el modelo funcione bien tanto en los datos vistos como en 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 valiosa en varios escenarios en los que las relaciones entre los puntos de datos no son obvias de inmediato, y aprovecha la similitud entre los puntos de datos para hacer predicciones precisas sin una amplia formación en modelos. Esto es particularmente ú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 categorizar a los usuarios en grupos significativos. 
¿Cuáles son las ventajas del algoritmo KNN? 

Establecer conexiones, similitudes y relaciones entre puntos de datos es el propósito general del algoritmo del vecino más cercano. Lo que ayuda a que este modelo sea una opción tan popular para las organizaciones es el conjunto adicional de ventajas que aporta a la mesa. Estos son algunos beneficios de KNN:

Implementación sencilla 

KNN es fácil de implementar y comprender, incluso para principiantes en el aprendizaje automático. No requiere una fase de formación compleja; en su lugar, memoriza el conjunto de datos de formación y lo utiliza directamente para hacer predicciones.

Adaptabilidad 

Ya sea que se utilice para tareas de clasificación o regresión, KNN puede manejar las diversas estructuras y relaciones de datos necesarias para agrupar los puntos de datos. Esta flexibilidad permite que se aplique en varios dominios: finanzas, atención médica, comercio electrónico y más.

Complejidad reducida

KNN requiere solo unos pocos hiperparámetros, principalmente el valor de “k” y la métrica de distancia. Esto reduce la complejidad involucrada en el ajuste de modelos en comparación con otros algoritmos que pueden requerir una amplia optimización de parámetros. Como resultado, simplifica el proceso general de desarrollo del modelo y facilita el logro de un rendimiento superior con ajustes mínimos.

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

Si bien el algoritmo KNN ofrece varias ventajas, también presenta ciertas debilidades notables. A continuación, se brindan algunos ejemplos: 

Problemas de alta dimensionalidad 

La alta dimensionalidad se refiere al aumento exponencial de los datos necesarios para mantener el mismo nivel de rendimiento a medida que crece el número de características (o dimensiones). En espacios de alta dimensión, la distancia entre los puntos de datos se vuelve menos significativa, lo que dificulta que KNN identifique a los vecinos verdaderamente “más cercanos”. Este problema puede reducir significativamente la precisión y eficacia del algoritmo en conjuntos de datos con muchas características. 

Susceptibilidad al sobreajuste 

KNN puede verse afectado negativamente por el ruido y los valores atípicos en el conjunto de datos, especialmente cuando el valor de “k” es pequeño. Esta sensibilidad puede llevar a un sobreajuste, en el que el algoritmo captura el ruido y las anomalías como si fueran patrones verdaderos. El sobreajuste da como resultado una generalización deficiente de datos nuevos y nunca vistos, lo que reduce el rendimiento predictivo del modelo. 

Dificultad para escalar 

La complejidad computacional crece con el tamaño del conjunto de datos, lo que hace que KNN sea ineficiente para conjuntos de datos demasiado grandes. Cada predicción requiere calcular la distancia entre el nuevo punto de datos y todos los puntos existentes en el conjunto de formación, lo que lleva a un gran uso de memoria y tiempos de cálculo prolongados. Esta falta de escalabilidad limita la aplicabilidad de KNN en escenarios con grandes volúmenes de datos. 

¿Cómo funciona el algoritmo KNN? 

Como se indicó anteriormente, el algoritmo KNN clasifica los puntos de datos en función de su proximidad a otros puntos de datos en el conjunto de datos. Para ello, el algoritmo debe seguir un conjunto específico de pasos:

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

Define el valor de “k” a considerar al hacer la clasificación o regresión. Este valor influirá en la forma en que el algoritmo evalúa la similitud entre los puntos de datos.

2. Calcula la distancia 

Para cada punto de datos del conjunto de formación, calcula la distancia entre este y el nuevo punto de datos utilizando una de las métricas de distancia estándar (distancia euclidea, de Manhattan o de Minkowski). Esta medición de distancia ayuda a identificar lo que se debe considerar como los vecinos más cercanos al nuevo punto de datos.

3. Identifica a los vecinos más cercanos 

Ordena las distancias calculadas en el paso 2 y determina los vecinos “k” más cercanos. Estos vecinos son los puntos de datos más cercanos al nuevo punto de datos en función de la métrica de distancia elegida. 

4. Haz una predicción 

Para las tareas de clasificación, asigna el nuevo punto de datos a la clase que es más común entre sus vecinos “k” más cercanos. Para las tareas de regresión, calcula el valor promedio o medio de los vecinos “k” más cercanos y usa este valor como predicción para el nuevo punto de datos.

5. Evalúa el modelo

Evalúa la precisión y el rendimiento del modelo 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 realizar KNN? 

Existen varios métodos para realizar el algoritmo del vecino más cercano (KNN), 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 fuerza bruta calcula la distancia entre el punto de consulta y todos los demás puntos del conjunto de datos. Es simple pero computacionalmente costoso, lo que lo hace más adecuado para conjuntos de datos pequeños. 

  • Árbol k-dimensional (árbol k-d)

Un árbol k-d organiza puntos en un espacio k-dimensional dividiendo recursivamente el espacio en hiperrectángulos. Reduce los cálculos de distancia y acelera las búsquedas KNN para datos de dimensiones moderadamente altas. 

  • Árbol de bolas

Un árbol de bolas divide el espacio en hiperesferas anidadas, lo que permite búsquedas eficientes de vecinos más cercanos al eliminar porciones irrelevantes del conjunto de datos. Es particularmente efectivo para datos de alta dimensión y, a menudo, supera a los árboles k-d en estos escenarios. 

Precios de ServiceNow ServiceNow ofrece paquetes de productos competitivos que escalan contigo a medida que tu empresa crece y tus necesidades cambian. Ver precios
Cómo aprovechar el algoritmo del vecino más cercano con ServiceNow 

El algoritmo del vecino más cercano es invaluable por su capacidad para clasificar puntos de datos y cuantificar relaciones para sistemas de IA. ServiceNow, líder en soluciones de TI empresariales, integra la IA avanzada y KNN, lo que proporciona herramientas potentes para la transformación digital. La galardonada plataforma Now Platform® de ServiceNow aprovecha la IA y el aprendizaje automático para automatizar, optimizar y modernizar los flujos de trabajo en toda la gama de funciones empresariales, lo que permite una optimización inteligente en toda la empresa. 

Al integrar 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 optimizar la eficiencia del enfoque empresarial. Experimenta el poder transformador de la IA y Now Platform; demuestra ServiceNow hoy mismo. 

Alt
Explorar los flujos de trabajo de IA Descubre cómo la plataforma ServiceNow ofrece IA procesable en cada aspecto de tu empresa. Explorar la IA generativa Comunícate con nosotros
Recursos Artículos ¿Qué es la IA? ¿Qué es GenAI? Informes de analista Resumen informativo de IDC: Maximiza el valor de la IA con una plataforma digital IA generativa en operaciones de TI Implementación de GenAI en la industria de las telecomunicaciones Ficha técnica Búsqueda basada en IA Predecir y evitar interrupciones con ServiceNow® Predictive AIOps Resource Management eBooks Moderniza los servicios y las operaciones de TI con IA GenAI: ¿es realmente la gran cosa? Libere la productividad empresarial con GenAI White papers Índice de madurez de la IA empresarial GenAI para telecomunicaciones