K vecinos m谩s cercanos para principiantes: entender la clasificaci贸n en machine learning mediante voto de vecinos

Explicaci贸n para principiantes de la idea b谩sica de K-nearest neighbors: qu茅 significa K, por qu茅 importan las muestras cercanas, c贸mo funciona la votaci贸n y d贸nde KNN es 煤til o limitado.

K-nearest neighbors, a menudo escrito como KNN o k-NN, es uno de los algoritmos de aprendizaje automático más sencillos para empezar. Su idea es muy simple: para decidir a qué clase pertenece una muestra nueva, mira las muestras más similares a su alrededor y observa qué clase aparece con mayor frecuencia.

Si explicamos KNN en una frase, sería:

A menudo eres juzgado por la compañía que mantienes.

Por ejemplo, imagina que acabas de mudarte a un barrio y quieres saber cuál es la mejor tienda de desayunos cercana para los estudiantes. Le preguntas a los 5 vecinos más cercanos, y 4 de ellos recomiendan la misma tienda. Probablemente confiarás en esa tienda primero. KNN hace algo similar al clasificar datos: encuentra vecinos y sigue la mayoría.

false

1. Comience con un Ejemplo Pequeño

Suponga que queremos decidir si una fruta es una manzana o una naranja. Ya conocemos algunas características de la fruta, tales como:

  • Peso
  • Color
  • Dulzura
  • Si la cáscara es rugosa

Ahora llega una fruta nueva y no sabemos qué es. KNN no resume primero una regla compleja. En cambio, busca directamente las frutas conocidas que son más similares a ella.

Si las 5 frutas más similares incluyen 4 manzanas y 1 naranja, KNN juzgará que es más probable que la fruta nueva sea una manzana.

Aquí, K significa “cuántos vecinos mirar”. Si K=5, miramos los 5 muestras más cercanas.

false

2. Un Diagrama Simple

El siguiente esquema bidimensional ayuda a construir la intuición. Supongamos que A significa manzana, O significa naranja, y ? es la nueva fruta que queremos clasificar.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Sweetness ^

 High |        A       A
      |
      |           ?
      |       A       O
      |
  Low |   O       O
      +--------------------> Weight
         Light          Heavy

Si establecemos K=3, miramos los 3 puntos más cercanos a ?. Supongamos que esos 3 vecinos más cercanos contienen 2 A y 1 O. KNN clasificará ? como A, es decir, manzana.

Ese es el proceso central de KNN: encontrar los K vecinos más cercanos y luego votar.

false

3. Pasos Básicos de KNN

Sin usar fórmulas, el proceso de clasificación KNN funciona de la siguiente manera:

  1. Preparar un conjunto de datos cuyas clases ya son conocidas
  2. Recibir una nueva muestra con una clase desconocida
  3. Comparar su similitud con todas las muestras conocidas
  4. Encontrar las K muestras más similares
  5. Verificar qué clase aparece con más frecuencia entre esas K muestras
  6. Asignar la nueva muestra a esa clase

Por eso KNN es fácil de entender. A diferencia de algunos modelos que primero necesitan entrenar muchos parámetros, KNN es más parecido a almacenar los datos de entrenamiento primero y buscar vecinos cuando se necesita una predicción.

También por eso a KNN se le llama a menudo un método de “lazy learning”. “Lazy” no es negativo aquí. Significa que el algoritmo no realiza mucha computación durante el entrenamiento; la mayor parte del trabajo se pospone hasta el momento de la predicción.

false

4. ¿Qué Significa “Más Cercano”?

En KNN, “más cercano” no significa necesariamente la distancia en un mapa. Usualmente significa “más similar en características”.

Para la clasificación de frutas, dos frutas pueden considerarse más cercanas si su peso, color y dulzura son similares. Para la predicción de interés de usuarios, dos usuarios pueden considerarse más cercanos si tienen un historial de visualización, comportamiento de clic y registros de compra similares.

Por lo tanto, la clave en KNN no es la ubicación física, sino cómo describes una muestra.

Las características comunes pueden incluir:

  • Precio, peso y volumen de ventas del producto
  • Edad del usuario, vistas de página y frecuencia de compra
  • Color, textura y forma de la imagen
  • Si ciertas palabras aparecen en un texto

Si las características se eligen bien afecta directamente el rendimiento de KNN.

false

5. Cómo Elegir K

K no es una respuesta fija. Debe elegirse basándose en los datos.

Si K es demasiado pequeño, como K=1, el modelo confía demasiado en la única muestra más cercana. Esto puede ser sensible: si esa muestra más cercana resulta ser datos ruidosos, la predicción puede estar fácilmente equivocada.

Si K es demasiado grande, el modelo examina demasiados vecinos, y muestras distantes que no son muy relevantes pueden afectar el resultado. El límite entre las clases puede volverse borroso.

Puedes pensarlo como pedir consejo a personas:

  • Preguntar solo a 1 persona: es fácil ser engañado por una opinión
  • Preguntar a demasiadas personas: algunas personas pueden no entender tu situación
  • Preguntar a algunas personas cercanas y relevantes: usualmente más estable

En la clasificación binaria, las personas a menudo eligen un K impar, como 3, 5 o 7, para reducir la posibilidad de un empate en la votación.

false

6. KNN No es Solo para Clasificación

KNN se utiliza con mayor frecuencia para clasificación, como para determinar:

  • Si un correo electrónico es spam
  • Si una imagen contiene un gato o un perro
  • Si un usuario podría abandonarnos (churn)
  • Si una reseña es positiva o negativa

Pero también se puede usar para regresión. Regresión significa predecir un valor numérico.

Por ejemplo, si queremos estimar el precio de una casa, podemos encontrar varias casas que sean más similares a ella y usar sus precios como referencia. En lugar de votar por una clase, combinamos los valores numéricos de los vecinos.

En resumen:

  • Clasificación: los vecinos votan por una clase
  • Regresión: se utilizan los valores de los vecinos para estimar un resultado

false

7. KNN Ponderado: Los Vecinos Más Cercanos Importan Más

El KNN ordinario otorga aproximadamente el mismo peso de votación a cada vecino. Pero en situaciones reales, los vecinos más cercanos suelen ser más fiables.

Por ejemplo, entre 5 vecinos, una muestra puede ser casi idéntica a la nueva muestra, mientras que las otras 4 son solo algo similares. Tratar todos los votos por igual puede no ser razonable.

Así que existe una idea mejorada llamada “KNN ponderado” (weighted KNN): los vecinos más cercanos tienen más influencia y los vecinos más lejanos tienen menos influencia.

Esto es fácil de entender. Cuando compras un teléfono, el consejo de alguien cuyo presupuesto, caso de uso y preferencia de marca están muy cerca del tuyo suele ser más útil que el consejo general.

false

8. Ventajas de KNN

KNN tiene varias ventajas aptas para principiantes:

  • La idea es intuitiva y fácil de explicar
  • No requiere un proceso de entrenamiento complejo
  • Se puede usar tanto para clasificación como para regresión
  • Es flexible para problemas con límites irregulares
  • Los datos nuevos generalmente se pueden añadir fácilmente

Si recién estás empezando a aprender machine learning, KNN es un punto de entrada muy bueno. Te ayuda a comprender conceptos básicos como samples, features, distancia, clasificación y training data.

false

9. Limitaciones de KNN

KNN también tiene debilidades claras.

Primero, la predicción puede ser lenta. Cada vez que llega una muestra nueva, puede que deba compararse con muchas muestras existentes. Si el conjunto de datos es grande, el coste de cómputo puede aumentar.

Segundo, depende en gran medida de las escalas de las características. Por ejemplo, una característica puede ser “ingreso” (income), a menudo en miles o decenas de miles, mientras que otra es “edad” (age), generalmente de solo decenas. Sin procesamiento, el ingreso puede dominar demasiado el cálculo de la distancia.

Por eso a menudo se necesita la estandarización de datos antes de usar KNN, para que las diferentes características se comparen de manera más equitativa.

Tercero, se ve fácilmente afectado por características irrelevantes. Si estás clasificando frutas pero incluyes información irrelevante como “fecha de compra” (purchase date), el modelo puede distraerse.

Cuarto, es sensible a la distribución local de los datos. Si una clase tiene muchos más ejemplos que otra, puede dominar más fácilmente la votación.

false

10. No Confundirlo con K-Means

KNN y K-means ambos contienen K en sus nombres, pero no son lo mismo.

KNN es aprendizaje supervisado. Normalmente utiliza datos que ya tienen etiquetas para clasificar nuevas muestras.

K-means se utiliza más a menudo para clústeres (clustering), lo que significa dividir automáticamente los datos en grupos cuando no hay etiquetas claras.

Una forma simple de recordarlo:

  • KNN: mira a los vecinos, luego clasifica o realiza regresión
  • K-means: encuentra centros, luego agrupa los datos

false

11. Cuándo KNN Es una Buena Opción

KNN es adecuado para estas situaciones:

  • El conjunto de datos no es demasiado grande
  • Las características (Features) se pueden representar en números de forma bastante sencilla
  • La similitud entre muestras es significativa
  • Necesitas un método base (baseline) fácil de explicar
  • Quieres probar rápidamente si una idea de clasificación funciona

Si el conjunto de datos es enorme, el número de características es muy grande o la velocidad de predicción es crítica, KNN puede no ser la mejor opción, o puede necesitar ser combinado con métodos de búsqueda de vecinos más eficientes (nearest-neighbor search methods).

false

12. Lo que los principiantes deben recordar

Al aprender KNN, no necesitas empezar con fórmulas complejas. Recuerda primero estas intuiciones:

  1. KNN usa “vecinos” para juzgar una muestra nueva.
  2. K significa cuántos vecinos más cercanos hay que considerar.
  3. La clasificación utiliza votación, mientras que la regresión utiliza los valores de los vecinos.
  4. La selección de características y la estandarización de datos son importantes.
  5. Si K es demasiado pequeño, el ruido importa demasiado; si es demasiado grande, el modelo puede volverse lento.

KNN es valioso no solo porque puede resolver algunos problemas, sino también porque introduce claramente varias ideas básicas en el aprendizaje automático (machine learning): cómo se representan los datos, cómo se mide la similitud y cómo se producen las predicciones a partir de muestras existentes.

Una vez que entiendes “encuentra muestras similares y luego juzga basándote en los vecinos”, has captado el núcleo de KNN.

false

Enlaces relacionados

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy