Warum ist KNN nicht „modellbasiert“?

10

ESL Kapitel 2.4 scheint die lineare Regression als "modellbasiert" zu klassifizieren, da sie annimmt , während für k-nächste Nachbarn keine ähnliche Näherung angegeben wird. Aber machen nicht beide Methoden Annahmen über f ( x ) ?f(x)xβf(x)

Später in 2.4 heißt es sogar:

  • Die kleinsten Quadrate nehmen an, dass durch eine global lineare Funktion gut angenähert wird.f(x)
  • k-nächste Nachbarn nehmen an, dass durch eine lokal konstante Funktion gut angenähert wird.f(x)

Die KNN-Annahme scheint auch formalisiert werden zu können (obwohl nicht sicher ist, ob dies zu dem KNN-Algorithmus führen würde, wenn angenommen wird , dass linear ist, führt dies zu einer linearen Regression).f

Wenn KNN also nicht modellbasiert ist, warum? Oder verstehe ich ESL falsch?

Alec
quelle

Antworten:

9

Es ist ziemlich schwierig, kNN und lineare Regression direkt zu vergleichen, da es sich um sehr unterschiedliche Dinge handelt. Ich denke jedoch, dass der entscheidende Punkt hier der Unterschied zwischen "Modellierung von " und "Annahmen über f ( x ) " ist.f(x)f(x)

Wenn man eine lineare Regression durchführt, modelliert man spezifisch das , oft etwas unter den Linien von f ( x ) = w x + ϵ, wobei ϵ ein Gaußscher Rauschausdruck ist. Sie können herausfinden, dass das Maximum-Likelihood-Modell dem minimalen Quadratsummenfehlermodell entspricht.f(x)f(x)=wx+ϵϵ

KNN hingegen geht, wie Ihr zweiter Punkt andeutet, davon aus, dass Sie diese Funktion durch eine lokal konstante Funktion approximieren können - ein Abstandsmaß zwischen den -se, ohne die gesamte Verteilung spezifisch zu modellieren.x

Mit anderen Worten, die lineare Regression hat oft eine gute Vorstellung vom Wert von für ein unsichtbares x nur aus dem Wert von x , während kNN einige andere Informationen (dh die k Nachbarn) benötigt, um Vorhersagen über f zu treffen ( x ) , da der Wert von x und nur der Wert selbst keine Informationen liefern, da es kein Modell für f ( x ) gibt .f(x)xxf(x)xf(x)

BEARBEITEN: Wiederholen Sie dies unten, um dies klarer auszudrücken (siehe Kommentare)

Es ist klar, dass sowohl die lineare Regression als auch die Methode des nächsten Nachbarn darauf abzielen, den Wert von für ein neues x vorherzusagen . Nun gibt es zwei Ansätze. Die lineare Regression wird fortgesetzt, indem angenommen wird, dass die Daten auf eine gerade Linie fallen (plus minus etwas Rauschen), und daher der Wert von y gleich dem Wert von f ( x ) mal der Steigung der Linie ist. Mit anderen Worten, der lineare Ausdruck modelliert die Daten als gerade Linie.y=f(x)xf(x)

f(x1)f(x2)x1x2f(x)x (ob es sich um eine Linie, eine Parabel usw. handelt), da es kein Modell dieser Beziehung gibt, wird lediglich davon ausgegangen, dass sie durch Betrachten von Nahpunkten angenähert werden kann.

Saulius Lukauskas
quelle
"man modelliert spezifisch das f (x)" Was bedeutet das? Es scheint, man könnte die Annahme formalisieren, dass f lokal konstant ist. Ist es nur so, dass KNN durch eine solche Formalisierung nicht abgeleitet werden kann?
Alec
"Die lineare Regression hat oft eine gute Vorstellung vom Wert von f (x) für ein unsichtbares x, nur aus dem Wert des x." Ich bin mir nicht sicher, was Sie damit meinen. Sie benötigen immer noch die Parameter des linearen Modells wie Sie Parameter für KNN benötigen würden (obwohl seine Parameter mehr beteiligt sind)
Alec
Gute Punkte, ich habe versucht, meine Antwort zu bearbeiten, um sie klarer zu machen und hoffentlich Ihre Punkte zu beantworten (Zeichenbeschränkung für Kommentare ist niedrig).
Saulius Lukauskas
+1, das ist gut erklärt. 'Der Unterschied zwischen "Modellierung von f (x)" und "Annahmen über f (x)"' fängt die Idee sehr gut ein, IMO. Vielleicht ein anderer Weg , dies zu setzen ist zu berücksichtigen , dass die Modellierung f (x) beträgt Annahmen über die zu machen Daten - Erzeugungsprozess , während knn dies nicht tut, sondern nur Zahlen , dass der Wert eines bestimmten Datums könnte auf den Wert in der Nähe ähnlich sein Daten.
Gung - Reinstate Monica
Hm, okay. Ihre Bearbeitung macht es definitiv ein wenig klarer, aber ich habe immer noch Probleme, wirklich eine formale Unterscheidung zu sehen. Es scheint, dass Sie mit "Modellieren" "eine gute Vorstellung von der Form von f global bekommen" meinen, während sich KNN nur um das lokale Verhalten kümmert. Es ist also dieser Unterschied zwischen global und lokal, der die lineare Regressionsmodellierung und KNN nicht ausmacht?
Alec
5

f^(X.)=β^X.

X.

tjnel
quelle
Während ich intuitiv verstehe, was Sie meinen, fühlt sich die Unterscheidung für mich immer noch wackelig an ... können Sie KNN nicht als durch eine Partition von R ^ d und den Partitionen zugewiesene Gewichte parametrisiert ansehen?
Alec
1
Wenn Sie jemand gebeten hat, Ihre Vorhersagen zu begründen, können Sie dies tun, wenn Sie die lineare Regression verwenden, indem Sie die Beziehungen zwischen den Eingaben und Ausgaben erläutern, die Ihr Modell annimmt. Ein Modell versucht, die Beziehung zwischen Ein- und Ausgängen zu erklären. KNN versucht nicht, die Beziehung zwischen Ein- und Ausgängen zu erklären, daher gibt es kein Modell.
tjnel
3

Der Begriff modellbasiert ist gleichbedeutend mit "verteilungsbasiert", wenn Clustering-Methoden diskutiert werden. Die lineare Regression geht von Verteilungsannahmen aus (dass die Fehler Gaußsch sind). KNN trifft keine Verteilungsannahmen. Das ist der Unterschied.

DL Dahly
quelle
1
Dies ist für mich bisher im Hinblick auf eine formale Unterscheidung am sinnvollsten, obwohl ESL auf diese Weise keine lineare Regression darstellte. Sie führten zuerst die Quadratfehler-Kostenfunktion ein, irgendwie willkürlich (anstatt eine MLE für einen Gaußschen Wert durchzuführen), verwendeten sie, um herauszufinden, dass wir f (x) = E (Y | X = x) vorhersagen sollten, und erklärten, wie sich KNN annähert Dies unter bestimmten Annahmen und dann angenommen, dass f linear war, um eine lineare Regression zu erhalten.
Alec
Interessanter Vorschlag, aber es wäre viel besser, wenn wir einige Referenzen dazu hätten.
ivanmp