¿Por qué KNN no está "basado en modelos"?

10

El capítulo 2.4 de ESL parece clasificar la regresión lineal como "basada en el modelo", porque supone que , mientras que no se establece una aproximación similar para los vecinos k más cercanos. ¿Pero no están ambos métodos haciendo suposiciones sobre ?f(x)xβf(x)

Más adelante en 2.4 incluso dice:

  • Los mínimos cuadrados suponen que está bien aproximado por una función globalmente lineal.f(x)
  • k-vecinos más cercanos asume que está bien aproximado por una función localmente constante.f(x)

La suposición de KNN parece que también podría formalizarse (aunque no estoy seguro de si hacerlo conduciría al algoritmo de KNN de la forma en que suponer que es lineal conduce a una regresión lineal).f

Entonces, si KNN en realidad no está basado en modelos, ¿por qué? ¿O estoy leyendo mal ESL?

Alec
fuente

Respuestas:

9

Es bastante difícil comparar kNN y la regresión lineal directamente, ya que son cosas muy diferentes, sin embargo, creo que el punto clave aquí es la diferencia entre "modelar " y "tener suposiciones sobre ".f(x)f(x)

Al hacer una regresión lineal, uno modela específicamente la , a menudo algo entre las líneas de donde es un término de ruido gaussiano. Puede deducir que el modelo de máxima verosimilitud es equivalente al modelo de error mínimo de suma de cuadrados.f(x)f(x)=wx+ϵϵ

KNN, por otro lado, como sugiere su segundo punto, supone que podría aproximarse a esa función mediante una función localmente constante : alguna medida de distancia entre las -ses, sin modelar específicamente toda la distribución.x

En otras palabras, la regresión lineal a menudo tendrá una buena idea del valor de para algunas invisibles solo por el valor de la , mientras que kNN necesitaría alguna otra información (es decir, las k vecinas) para hacer predicciones sobre , porque el valor de , y solo el valor en sí mismo, no proporcionará ninguna información, ya que no existe un modelo para .f(x)xxf(x)xf(x)

EDITAR: reiterando esto a continuación para volver a expresar esto más claro (ver comentarios)

Está claro que tanto la regresión lineal como los métodos de vecino más cercano apuntan a predecir el valor de para una nueva . Ahora hay dos enfoques. La regresión lineal continúa suponiendo que los datos caen en una línea recta (más menos algo de ruido) y, por lo tanto, el valor de y es igual al valor de multiplicado por la pendiente de la línea. En otras palabras, la expresión lineal modela los datos como una línea recta.x f ( x )y=f(x)xf(x)

Ahora, los métodos del vecino más cercano no se preocupan por cómo se ven los datos (no modela los datos), es decir, no les importa si es una línea, una parábola, un círculo, etc. Todo lo que se supone es que y será similar, si y son similares. Tenga en cuenta que esta suposición es más o menos cierta para casi cualquier modelo, incluidos todos los que mencioné anteriormente. Sin embargo, un método NN no podría decir cómo se relaciona el valor de con (si es una línea, una parábola, etc.), ya que no tiene un modelo de esta relación, simplemente supone que puede ser aproximado por mirando en puntos cercanos.f ( x 2 ) x 1 x 2 f ( x ) xf(x1)f(x2)x1x2f(x)x

Saulius Lukauskas
fuente
"uno modela específicamente la f (x)" ¿Qué significa esto? Parece que uno podría formalizar la suposición de que f es localmente constante. ¿Es solo que KNN no puede derivarse de tal formalización?
Alec
"la regresión lineal a menudo tendrá una buena idea del valor de f (x) para algunas x invisibles a partir del valor de la x" tampoco estoy seguro de qué quiere decir con esto ... todavía necesita los parámetros del modelo lineal, solo ya que necesitaría parámetros para KNN (aunque sus parámetros están más involucrados)
Alec
Buenos puntos, traté de editar mi respuesta para que sea más clara y espero responder sus puntos (el límite de caracteres para los comentarios es bajo).
Saulius Lukauskas
+1, esto está bien explicado. 'la diferencia entre "modelar f (x)" y "tener supuestos sobre f (x)"', capta muy bien la idea, OMI. Quizás otra forma de decir esto es considerar que modelar f (x) equivale a hacer suposiciones sobre el proceso de generación de datos , mientras que knn no hace esto, sino que solo calcula que el valor de un dato dado podría ser similar al valor de cerca datos.
gung - Restablece a Monica
Hm, está bien Su edición definitivamente lo hace un poco más claro, pero todavía tengo problemas para ver realmente una distinción formal. Parece que por "modelar" te refieres a "tener una buena idea para la forma de f globalmente", mientras que KNN solo se preocupa por el comportamiento local. Entonces, ¿es esta diferencia en global versus local lo que hace que el modelado de regresión lineal y KNN no?
Alec
5

La regresión lineal se basa en el modelo porque supone una suposición sobre la estructura de los datos para generar un modelo. Cuando se carga un conjunto de datos en un programa estadístico y lo utiliza para ejecutar una regresión lineal, la salida es de hecho un modelo: . Puede alimentar nuevos datos en este modelo y obtener una salida pronosticada porque ha hecho suposiciones sobre cómo se genera realmente la variable de salida.f^(X)=β^X

Con KNN no hay realmente un modelo en absoluto: solo se supone que las observaciones que están cerca unas de otras en el espacio probablemente se comportarán de manera similar en términos de la variable de salida. No introduce una nueva observación en un 'modelo KNN', solo determina qué observaciones existentes son más similares a una nueva observación y predice la variable de salida para la nueva observación a partir de los datos de entrenamiento.X

tjnel
fuente
Aunque intuitivamente entiendo lo que quieres decir, la distinción todavía me parece inestable ... ¿no puedes ver que KNN está parametrizado por una partición de R ^ d y pesos asignados a las particiones?
Alec
1
Si alguien le pidiera que justificara sus predicciones, podría hacerlo si utilizara la regresión lineal explicando las relaciones entre las entradas y salidas que asume su modelo. Un modelo intenta explicar la relación b / w entradas y salidas. KNN no intenta explicar la relación b / w entradas y salidas, por lo tanto, no hay modelo.
tjnel
3

El término basado en modelo es sinónimo de "basado en distribución" cuando se discuten los métodos de agrupación. La regresión lineal hace suposiciones de distribución (que los errores son gaussianos). KNN no hace suposiciones de distribución. Esa es la distinción.

DL Dahly
fuente
1
Esto tiene más sentido hasta ahora para mí en términos de una distinción formal, aunque ESL realmente no presentó regresión lineal de esta manera. Primero introdujeron la función de costo de error al cuadrado, de manera arbitraria (en lugar de hacer un MLE para un gaussiano), la usaron para encontrar que debemos predecir f (x) = E (Y | X = x), explicaron cómo se aproxima KNN esto bajo ciertos supuestos, y luego asumió que f era lineal para obtener una regresión lineal.
Alec
Propuesta interesante, pero sería mucho mejor si tuviéramos algunas referencias al respecto.
ivanmp