talón ¿Qué es un KNN (K-vecinos más cercanos)? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué es un KNN (K-vecinos más cercanos)?

mm
Actualizado on

¿Qué es K-vecinos más cercanos (KNN)?

K-Nearest Neighbors es una técnica y un algoritmo de aprendizaje automático que se puede utilizar tanto para tareas de regresión como de clasificación. K-Vecinos más cercanos examina las etiquetas de un número elegido de puntos de datos que rodea un punto de datos de destino, para hacer una predicción sobre la clase en la que cae el punto de datos. K-Nearest Neighbors (KNN) es un algoritmo conceptualmente simple pero muy poderoso y, por esas razones, es uno de los algoritmos de aprendizaje automático más populares. Profundicemos en el algoritmo KNN y veamos exactamente cómo funciona. Tener una buena comprensión de cómo funciona KNN le permitirá apreciar los mejores y peores casos de uso de KNN.

Descripción general de K-vecinos más cercanos (KNN)

Foto: Antti Ajanki AnAj a través de Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

Visualicemos un conjunto de datos en un plano 2D. Imagine un montón de puntos de datos en un gráfico, distribuidos a lo largo del gráfico en pequeños grupos. KNN examina la distribución de los puntos de datos y, según los argumentos dados al modelo, separa los puntos de datos en grupos. A estos grupos se les asigna una etiqueta. La suposición principal que hace un modelo KNN es que los puntos/instancias de datos que existen muy cerca unos de otros son muy similares, mientras que si un punto de datos está lejos de otro grupo, es diferente a esos puntos de datos.

Un modelo KNN calcula la similitud usando la distancia entre dos puntos en un gráfico. Cuanto mayor es la distancia entre los puntos, menos similares son. Hay varias formas de calcular la distancia entre puntos, pero la métrica de distancia más común es solo la distancia euclidiana (la distancia entre dos puntos en línea recta).

KNN es un algoritmo de aprendizaje supervisado, lo que significa que los ejemplos en el conjunto de datos deben tener etiquetas asignadas a ellos/sus clases deben ser conocidas. Hay otras dos cosas importantes que debe saber sobre KNN. Primero, KNN es un algoritmo no paramétrico. Esto significa que no se hacen suposiciones sobre el conjunto de datos cuando se usa el modelo. Más bien, el modelo se construye completamente a partir de los datos proporcionados. En segundo lugar, no se divide el conjunto de datos en conjuntos de entrenamiento y prueba cuando se usa KNN. KNN no hace generalizaciones entre un conjunto de entrenamiento y prueba, por lo que todos los datos de entrenamiento también se usan cuando se le pide al modelo que haga predicciones.

Cómo funciona un algoritmo KNN

Un algoritmo KNN pasa por tres fases principales a medida que se lleva a cabo:

  1. Ajuste K al número de vecinos elegido.
  2. Cálculo de la distancia entre un ejemplo proporcionado/de prueba y los ejemplos del conjunto de datos.
  3. Ordenar las distancias calculadas.
  4. Obtener las etiquetas de las K entradas principales.
  5. Devolver una predicción sobre el ejemplo de prueba.

En el primer paso, el usuario elige K y le dice al algoritmo cuántos vecinos (cuántos puntos de datos circundantes) se deben considerar al emitir un juicio sobre el grupo al que pertenece el ejemplo de destino. En el segundo paso, tenga en cuenta que el modelo verifica la distancia entre el ejemplo de destino y cada ejemplo en el conjunto de datos. Luego, las distancias se agregan a una lista y se ordenan. Posteriormente, se comprueba la lista ordenada y se devuelven las etiquetas de los elementos K superiores. En otras palabras, si K se establece en 5, el modelo verifica las etiquetas de los 5 puntos de datos más cercanos al punto de datos de destino. Al representar una predicción sobre el punto de datos de destino, importa si la tarea es un regresión or clasificación tarea. Para una tarea de regresión, se usa la media de las K etiquetas principales, mientras que la moda de las K etiquetas principales se usa en el caso de la clasificación.

Las operaciones matemáticas exactas utilizadas para llevar a cabo KNN difieren según la métrica de distancia elegida. Si desea obtener más información sobre cómo se calculan las métricas, puede leer sobre algunas de las métricas de distancia más comunes, como Euclidiana, Manhattany minkowski.

Por qué importa el valor de K

La principal limitación al usar KNN es que se puede elegir un valor incorrecto de K (el número incorrecto de vecinos a considerar). Si esto sucede, las predicciones que se devuelven pueden ser sustancialmente incorrectas. Es muy importante que, al usar un algoritmo KNN, se elija el valor adecuado para K. Quiere elegir un valor para K que maximice la capacidad del modelo para hacer predicciones sobre datos no vistos mientras reduce la cantidad de errores que comete.

Foto: Agor153 vía Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

Los valores más bajos de K significan que las predicciones realizadas por KNN son menos estables y confiables. Para obtener una intuición de por qué esto es así, considere un caso en el que tenemos 7 vecinos alrededor de un punto de datos de destino. Supongamos que el modelo KNN funciona con un valor K de 2 (le pedimos que mire a los dos vecinos más cercanos para hacer una predicción). Si la gran mayoría de los vecinos (cinco de siete) pertenecen a la clase Azul, pero resulta que los dos vecinos más cercanos son Rojos, el modelo predecirá que el ejemplo de consulta es Rojo. A pesar de la conjetura del modelo, en tal escenario, Azul sería una mejor suposición.

Si este es el caso, ¿por qué no elegir el valor K más alto que podamos? Esto se debe a que decirle al modelo que considere demasiados vecinos también reducirá la precisión. A medida que aumenta el radio que el modelo KNN considera, eventualmente comenzará a considerar puntos de datos que están más cerca de otros grupos que el punto de datos de destino y comenzará a ocurrir una clasificación errónea. Por ejemplo, incluso si el punto que se eligió inicialmente estaba en una de las regiones rojas anteriores, si K se configuraba demasiado alto, el modelo llegaría a las otras regiones para considerar los puntos. Cuando se usa un modelo KNN, se prueban diferentes valores de K para ver qué valor le da al modelo el mejor rendimiento.

Pros y contras de KNN

Examinemos algunos de los pros y los contras del modelo KNN.

Pros:

KNN se puede utilizar tanto para tareas de regresión como de clasificación, a diferencia de otros algoritmos de aprendizaje supervisado.

KNN es muy preciso y fácil de usar. Es fácil de interpretar, comprender e implementar.

KNN no hace suposiciones sobre los datos, lo que significa que puede usarse para una amplia variedad de problemas.

Contras:

KNN almacena la mayoría o la totalidad de los datos, lo que significa que el modelo requiere mucha memoria y es computacionalmente costoso. Los grandes conjuntos de datos también pueden hacer que las predicciones tarden mucho tiempo.

KNN demuestra ser muy sensible a la escala del conjunto de datos y puede verse afectado por características irrelevantes con bastante facilidad en comparación con otros modelos.

Resumen de K-vecinos más cercanos (KNN)

K-Nearest Neighbors es uno de los algoritmos de aprendizaje automático más simples. A pesar de lo simple que es KNN, en concepto, también es un algoritmo poderoso que brinda una precisión bastante alta en la mayoría de los problemas. Cuando use KNN, asegúrese de experimentar con varios valores de K para encontrar el número que proporcione la mayor precisión.