← Lumbre

Aprendizaje Supervisado · 5.º Vecinos más cercanos (KNN)

Portada de Vecinos más cercanos (KNN)

Vecinos más cercanos (KNN)

✦ El modelo más humilde del repertorio: dime quiénes son tus vecinos y te diré qué eres · Aprendizaje Supervisado · Machine Learning · 9 minutos que valen la pena

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Clasificar y predecir por semejanza local con k vecinos más cercanos, eligiendo k y la distancia, y comprendiendo su dependencia del escalado y de la dimensionalidad.

9 min Aprendizaje Supervisado · Machine Learning 18–30 años
Más
Vecinos más cercanos (KNN)

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Aprendizaje Supervisado · 5.º semestre Cursos Explorar Mi cuenta Salir del modo estudio

Vecinos más cercanos

K-vecinos más cercanos aplicado con Python
Vídeo en español que explica el algoritmo k-vecinos más cercanos y lo aplica con Python.

Un modelo perezoso

knn es un aprendiz perezoso: no generaliza hasta el momento de predecir, cuando busca en los datos guardados. Toda la «inteligencia» reside en la métrica de distancia y en el vecindario local. No hay parámetros que ajustar más allá de elegir k.

Cómo clasifica

Para un nuevo punto, encuentra los k ejemplos entrenados más cercanos y asigna la clase mayoritaria entre ellos. En regresión, devuelve el promedio de esos vecinos. Es un votante local: la respuesta depende solo de quién está al lado.

La elección de k

k pequeño: el modelo sigue el ruido, fronteras rugosas, alta varianza, sensible a outliers. k grande: suaviza y sesga, hasta que con k igual al total siempre predice la clase mayoritaria. K impar en binaria evita empates. Es el único hiperparámetro y manda.

Todo depende de la distancia

La distancia euclídea mide vecindad en las unidades originales. Si una característica varía entre cero y un millón y otra entre cero y uno, la primera domina y la segunda desaparece. El vecindario resultante es un artefacto de las escalas, no del mundo.

Escalar siempre

Por eso knn exige tipificar las variables a escala comparable antes de nada. Sin estandarizar, el modelo es ciego a las columnas de rango pequeño. Es el ejemplo más claro de por qué el preprocesado no es opcional.

La maldición dimensional

Al acumular dimensiones, todos los puntos acaban estando lejos de todos: las distancias se igualan y el «vecino más cercano» deja de ser cercano. knn se degrada rápido con muchas características, revelando crudamente la maldición de la dimensionalidad.

Fronteras de decisión

Su límite entre clases es local y flexible: puede dibujar formas arbitrarias siguiendo los datos. Por eso se parece a un método de ventana: mucho detalle con k pequeño, decisiones casi globales con k grande.

Un diagrama de dispersión de puntos teal y coral con un rombo central rodeado por un anillo discontinuo del que salen líneas hacia los cinco puntos más cercanos.
La predicción por vecindario: el punto nuevo no consulta ninguna fórmula, solo mira a sus k vecinos más próximos dentro del anillo y deja que voten.

Coste de predecir

Al no comprimir nada en un modelo, knn debe comparar el punto nuevo contra todo el entrenamiento en cada predicción. Barato de «entrenar», carísimo de predecir y de almacenar cuando los datos son millonarios.

Errores frecuentes

  • Omitir el estandarizado y dejar que domine la variable de mayor rango.
  • Usar knn con cientos de dimensiones sin reducción previa.

Ejemplo resuelto: clasificar una flor con vecinos

Se quieren asignar especies a partir de medidas de pétalos, la tarea clásica. El procedimiento:

  1. Escalar: tipificar pétalos y sépalos a escala comparable para que nadie domine la distancia.
  2. Medir: calcular la distancia del punto nuevo a todos los ejemplos guardados.
  3. Votar: quedarse con los k más próximos y asignar la clase mayoritaria entre ellos.
  4. Sintonizar k: explorar de uno en uno hasta achicar la brecha entre entrenamiento y validación.
  5. Desconfiar en alto: si hay muchas columnas, reducir dimensiones o elegir otro modelo.

¿Para qué sirve en la realidad?

El vecindario local explica recomendadores de «clientes como tú», sistemas de búsqueda por imagen y detección de anomalías por distancia a lo conocido. Además, knn es el mejor maestro: quien lo entiende entiende escalado, dimensión y el compromiso sesgo-varianza de una vez.

En k vecinos más cercanos, disminuir el valor de k tiende a:

knn requiere estandarizar las características antes de calcular distancias.

Por qué enseñar knn primero

Aunque rara vez gana, knn cristaliza ideas de todo el campo: vecindad, escalado, la maldición dimensional y el sesgo-varianza en un solo dial. Quien entiende por qué knn falla en alta dimensión entiende algo profundo sobre casi todos los modelos.

KNN

Aprendiz que no generaliza hasta predecir
perezoso
Asigna la clase mayoritaria entre vecinos
voto
Hiperparámetro que controla rugosidad
k
Domina la variable de mayor rango si no escalas
distancia
Todos los puntos se alejan al crecer dimensiones
maldicion dimensional

Toca una tarjeta para ver la respuesta.

Ordena la predicción con k vecinos más cercanos:

Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.

Une cada característica de knn con su consecuencia práctica.

      Aprender sin entrenar

      • K-vecinos más cercanos
        • Idea
          • voto local
            • sin parámetros
            • Decisiones
              • elegir k
                • elegir distancia
                • Cuidados
                  • escalar
                    • reducir dimensiones
                    • Costes
                      • guardar todo
                        • predecir despacio

                      Con k igual a uno tu modelo clava el entrenamiento pero falla en validación. ¿Qué tipo de error es y cómo lo confirmarías variando k?

                      Tu texto se guarda sólo en este dispositivo.

                      Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
                      Más sobre esta lección
                      Explora temas relacionados

                      Conceptos

                      Comentarios

                      Inicia sesión para comentar.

                      Todavía no hay comentarios. Sé la primera persona en opinar.