KNN: 1 vecino más cercano

9

Mi pregunta es sobre el clasificador vecino más cercano y sobre una declaración hecha en el excelente libro The Elements of Statistical Learning, de Hastie, Tibshirani y Friedman. La declaración es (p. 465, sección 13.3):

"Debido a que usa solo el punto de entrenamiento más cercano al punto de consulta, el sesgo de la estimación del vecino más cercano a menudo es bajo, pero la varianza es alta".

El libro está disponible en
http://www-stat.stanford.edu/~tibs/ElemStatLearn/download.html

Para empezar, podemos definir qué sesgo y varianza son. De la pregunta "cómo-puede-aumentar-la-dimensión-aumentar-la-varianza-sin-aumentar-la-bi" , tenemos que:

"En primer lugar, el sesgo de un clasificador es la discrepancia entre su función promedio estimada y verdadera, mientras que la varianza de un clasificador es la divergencia esperada de la función de predicción estimada de su valor promedio (es decir, qué tan dependiente es el clasificador del azar) muestreo realizado en el conjunto de entrenamiento).

Por lo tanto, la presencia de sesgo indica algo básicamente incorrecto con el modelo, mientras que la varianza también es mala, pero un modelo con alta varianza podría al menos predecir bien en promedio ".

¿Podría alguien explicar por qué la varianza es alta y el sesgo es bajo para el clasificador vecino más cercano?

FredikLAa
fuente

Respuestas:

13

El sesgo es bajo, porque ajusta su modelo solo al punto 1 más cercano. Esto significa que su modelo estará muy cerca de sus datos de entrenamiento.

La variación es alta, porque optimizar solo en el punto 1 más cercano significa que la probabilidad de que modele el ruido en sus datos es realmente alta. Siguiendo su definición anterior, su modelo dependerá en gran medida del subconjunto de puntos de datos que elija como datos de entrenamiento. Si reorganiza aleatoriamente los puntos de datos que elija, el modelo será dramáticamente diferente en cada iteración. Entonces

divergencia esperada de la función de predicción estimada de su valor promedio (es decir, qué tan dependiente es el clasificador del muestreo aleatorio realizado en el conjunto de entrenamiento)

será alto, porque cada vez su modelo será diferente.

Ejemplo En general, un modelo k-NN se ajusta a un punto específico en los datos con los N puntos de datos más cercanos en su conjunto de entrenamiento. Para 1-NN, este punto depende solo de 1 punto único. Por ejemplo, desea dividir sus muestras en dos grupos (clasificación): rojo y azul. Si entrena su modelo para un cierto punto p para el cual los 4 vecinos más cercanos serían rojo, azul, azul, azul (ascendiendo por distancia a p). Luego, un 4-NN clasificaría su punto en azul (3 veces azul y 1 vez en rojo), pero su modelo 1-NN lo clasifica en rojo, porque el rojo es el punto más cercano. Esto significa que su modelo está realmente cerca de sus datos de entrenamiento y, por lo tanto, el sesgo es bajo. Si calcula el RSS entre su modelo y sus datos de entrenamiento, está cerca de 0. En contraste con esto, la variación en su modelo es alta, porque su modelo es extremadamente sensible y ondulante. Como se señaló anteriormente, una combinación aleatoria de su conjunto de entrenamiento podría cambiar drásticamente su modelo. En contraste, 10-NN sería más robusto en tales casos, pero podría ser rígido. Qué k elegir depende de su conjunto de datos. Esto depende en gran medida de laBias-Variance-Tradeoff , que se relaciona exactamente con este problema.

Alex VII
fuente
Gracias @alexvii. Está diciendo que para un nuevo punto, este clasificador dará como resultado un nuevo punto que "imita" el conjunto de prueba muy bien. Y si el conjunto de prueba es bueno, la predicción será cercana a la verdad, lo que resulta en un bajo sesgo? ¿Correcto? ¿O me estoy perdiendo algo?
FredikLAa
Agregué información para aclarar mi punto.
Alex VII
Una cosa más: si usa los tres vecinos más cercanos en comparación con el más cercano, ¿no estaría más "seguro" de que tenía razón y no clasificaría la "nueva" observación a un punto que podría ser "inconsistente" con los otros puntos? y, por lo tanto, reducir el sesgo?
FredikLAa
Esto se explica bastante bien en la página de wikipedia debajo del punto K-vecinos más cercanos casi al final de la página.
Alex VII
11

Debe tener en cuenta que el clasificador de 1 vecino más cercano es en realidad el modelo de vecino más cercano más complejo . Por más complejo, quiero decir que tiene el límite de decisión más irregular, y es más probable que se sobreajuste. Si usa un clasificador vecino más cercano a N (N = número de puntos de entrenamiento), clasificará todo como la clase mayoritaria. Las diferentes permutaciones de los datos le darán la misma respuesta, dándole un conjunto de modelos que tienen una variación cero (todos son exactamente iguales), pero un alto sesgo (todos están constantemente equivocados). Reducir la configuración de K te acerca cada vez más a los datos de entrenamiento (bajo sesgo), pero el modelo dependerá mucho más de los ejemplos de entrenamiento particulares elegidos (alta varianza).

Wang nuclear
fuente
gracias @Matt. Una pregunta: ¿cómo sabe que el sesgo es el más bajo para el vecino más cercano? ¿Cómo sabes que no usar tres vecinos más cercanos sería mejor en términos de sesgo?
FredikLAa
Imagine un problema discreto de kNN en el que tenemos una gran cantidad de datos que cubre completamente el espacio muestral. Cualquier punto de prueba se puede clasificar correctamente comparándolo con su vecino más cercano, que de hecho es una copia del punto de prueba. El sesgo es cero en este caso. Si usamos más vecinos, es posible clasificar erróneamente, como resultado del aumento del sesgo. Este ejemplo es cierto para tamaños de set de entrenamiento muy grandes. En realidad, puede ser posible lograr un sesgo experimentalmente más bajo con unos pocos vecinos más, pero la tendencia general con muchos datos es menos vecinos -> sesgo más bajo.
Nuclear Wang
3

Aquí hay una publicación de blog muy interesante sobre sesgo y varianza. La sección 3.1 trata sobre el algoritmo knn y explica por qué una k baja conduce a una alta varianza y un bajo sesgo.

La figura 5 es muy interesante: puede ver en tiempo real cómo cambia el modelo mientras k aumenta. Para k bajo, hay una gran cantidad de sobreajuste (algunas "islas" aisladas) que conduce a un bajo sesgo pero una gran varianza. Para k muy alto, tienes un modelo más suave con baja varianza pero alto sesgo. En este ejemplo, un valor de k entre 10 y 20 dará un modelo de descenso que es lo suficientemente general (variación relativamente baja) y lo suficientemente preciso (sesgo relativamente bajo).

Anil Narassiguin
fuente