Perché KNN non è "basato sul modello"?


10

Il capitolo 2.4 dell'ESL sembra classificare la regressione lineare come "basata sul modello", poiché assume , mentre non viene dichiarata un'approssimazione simile per i vicini k-più vicini. Ma entrambi i metodi non fanno ipotesi su ?f ( x )f(x)xβf(x)

Più avanti nel 2.4 dice anche:

  • I minimi quadrati presuppongono che sia ben approssimato da una funzione globalmente lineare.f(x)
  • k-vicini più vicini presuppone che sia ben approssimato da una funzione localmente costante.f(x)

L'ipotesi KNN sembra che potrebbe anche essere formalizzata (anche se non sono sicuro che farlo porterebbe all'algoritmo KNN nel modo in cui assumere è lineare porta a regressione lineare).f

Quindi se KNN in realtà non è basato su modello, perché? O sto leggendo male ESL?

Risposte:


8

È abbastanza difficile confrontare direttamente kNN e la regressione lineare in quanto sono cose molto diverse, tuttavia, penso che il punto chiave qui sia la differenza tra "modellare " e "avere ipotesi su ".f ( x )f(x)f(x)

Quando si esegue la regressione lineare, si modella specificamente la , spesso qualcosa tra le righe di dove è un termine di rumore gaussiano. Puoi capire che il modello di massima verosimiglianza equivale al modello di errore di somma dei quadrati minima.f ( x ) = w x + ϵ ϵf(x)f(x)=wx+ϵϵ

KNN, d'altra parte, come suggerisce il secondo punto, presuppone che potresti approssimare quella funzione con una funzione localmente costante - una misura della distanza tra gli -ses, senza modellare specificamente l'intera distribuzione.x

In altre parole, la regressione lineare avrà spesso una buona idea del valore di per alcuni invisibili solo dal valore di , mentre kNN avrebbe bisogno di alcune altre informazioni (cioè i vicini k), per fare previsioni su , poiché il valore di , e solo il valore stesso, non fornirà alcuna informazione, in quanto non esiste un modello per .x x f ( x ) x f ( x )f(x)xxf(x)xf(x)

EDIT: ribadendo questo sotto per ri-esprimere questo più chiaro (vedi commenti)

È chiaro che sia la regressione lineare sia i metodi vicini più vicini mirano a prevedere il valore di per una nuova . Ora ci sono due approcci. La regressione lineare prosegue assumendo che i dati cadano su una linea retta (più meno un po 'di rumore), e quindi il valore di y è uguale al valore di la pendenza della linea. In altre parole, l'espressione lineare modella i dati come una linea retta.x f ( x )y=f(x)xf(x)

Ora i metodi del vicino più vicino non si preoccupano del loro aspetto (non modellano i dati), cioè, non gli importa se si tratta di una linea, una parabola, un cerchio, ecc. Tutto ciò che assume, è che e sarà simile, se e sono simili. Si noti che questo assunto è approssimativamente vero per quasi tutti i modelli, compresi tutti quelli che ho menzionato sopra. Tuttavia, un metodo NN non è in grado di dire in che modo il valore di è correlato a (se si tratta di una linea, parabola, ecc.), Poiché non ha un modello di questa relazione, presuppone che possa essere approssimato da guardando in punti vicini.f ( x 2 ) x 1 x 2 f ( x ) xf(x1)f(x2)x1x2f(x)x


"one specifica il modello f (x)" Cosa significa? Sembra che si possa formalizzare l'assunto che f sia localmente costante. È solo che KNN non può essere derivato da una tale formalizzazione?
Alec,

"La regressione lineare avrà spesso una buona idea del valore di f (x) per qualche x invisibile dal solo valore di x" non sono sicuro di cosa tu intenda con questo ... hai ancora bisogno dei parametri del modello lineare, solo poiché avresti bisogno di parametri per KNN (anche se i suoi parametri sono più coinvolti)
Alec,

Buoni punti, ho provato a modificare la mia risposta per renderlo più chiaro e spero di rispondere ai tuoi punti (il limite di caratteri per i commenti è basso).
Saulius Lukauskas il

+1, questo è ben spiegato. 'la differenza tra "modellare f (x)" e "avere ipotesi su f (x)"', cattura molto bene l'idea, IMO. Forse un altro modo per dirlo è considerare che la modellazione f (x) equivale a fare ipotesi sul processo di generazione dei dati , mentre knn non lo fa, ma solo calcola che il valore di un dato dato potrebbe essere simile al valore di vicini dati.
gung - Ripristina Monica

Va bene. La tua modifica lo rende sicuramente un po 'più chiaro, ma ho ancora problemi a vedere una distinzione formale. Sembra che "modellando" intendi "ottenere una buona idea per la forma di f a livello globale", mentre KNN si preoccupa solo del comportamento locale. Quindi è questa differenza tra globale e locale che rende la modellazione di regressione lineare e KNN no?
Alec,

5

La regressione lineare è basata sul modello perché presuppone la struttura dei dati al fine di generare un modello. Quando si carica un set di dati in un programma statistico e utilizzarlo per eseguire una regressione lineare l'uscita è in realtà un modello: . È possibile inserire nuovi dati in questo modello e ottenere un output previsto poiché sono state formulate ipotesi su come viene effettivamente generata la variabile di output.f^(X)=β^X

Con KNN non esiste proprio un modello: c'è solo un presupposto che le osservazioni vicine l'una all'altra nello spazio probabilmente si comporteranno in modo simile in termini di variabile di output. Non si inserisce una nuova osservazione in un "modello KNN", si determina semplicemente quali osservazioni esistenti sono più simili a una nuova osservazione e si predice la variabile di output per la nuova osservazione dai dati di addestramento.X


Mentre intuitivamente capisco cosa intendi, la distinzione mi sembra ancora traballante ... non riesci a vedere KNN come parametrizzato da una partizione di R ^ de pesi assegnati alle partizioni?
Alec,

1
Se qualcuno ti chiedesse di giustificare le tue previsioni, potresti farlo se avessi usato la regressione lineare spiegando le relazioni tra gli input e gli output che il tuo modello presume. Un modello tenta di spiegare la relazione tra input e output in b / n. KNN non tenta di spiegare la relazione tra input e output, quindi non esiste un modello.
tjnel

4

Il termine basato sul modello è sinonimo di "basato sulla distribuzione" quando si discute dei metodi di clustering. La regressione lineare fa ipotesi distributive (che gli errori sono gaussiani). KNN non fa alcuna ipotesi distributiva. Questa è la distinzione.


1
Questo finora ha molto senso per me in termini di distinzione formale, sebbene ESL non abbia realmente presentato una regressione lineare in questo modo. Hanno introdotto prima la funzione di costo dell'errore al quadrato, in qualche modo arbitrariamente (invece di fare un MLE per un gaussiano), l'hanno usata per scoprire che dovremmo prevedere f (x) = E (Y | X = x), ha spiegato come KNN si avvicina questo sotto certe ipotesi, e poi ha continuato assumendo che f fosse lineare per ottenere una regressione lineare.
Alec,

Proposta interessante, ma sarebbe molto meglio se avessimo dei riferimenti a riguardo.
Ivanmp,

0

kNN è basato su istanza

Per fare una previsione per una nuova osservazione, è necessario conservare tutti i set di dati di training, perché non esiste alcun modello sul set di dati.

Ecco come funziona kNN: data una nuova osservazione, calcoleremo la distanza tra questa nuova osservazione e tutte le altre osservazioni nel set di dati di addestramento. Quindi ottieni i vicini (quelli che sono i più vicini alla nuova osservazione).

k=5

Come posso trovare un modello?

Ora, se proviamo a trovare una funzione che non sia "localmente costante", sarebbe una distribuzione normale. In questo caso, otterrai un algoritmo chiamato Linear Discriminant Analysis o Naive Bayes (a seconda di alcuni altri presupposti).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.