Für viele maschinelle Lernprojekte, die wir durchführen, beginnen wir mit dem Klassifikator k Nearest Neighbor. Dies ist ein idealer Startklassifikator, da wir normalerweise genügend Zeit haben, um alle Entfernungen zu berechnen, und die Anzahl der Parameter begrenzt ist (k, Entfernungsmetrik und Gewichtung).
Dies hat jedoch häufig den Effekt, dass wir beim knn-Klassifikator bleiben, da später im Projekt kein Platz mehr für den Wechsel zu einem anderen Klassifikator vorhanden ist. Was wäre ein guter Grund, einen neuen Klassifikator auszuprobieren. Offensichtliche sind Speicher- und Zeitbeschränkungen, aber gibt es Fälle, in denen ein anderer Klassifikator die Genauigkeit tatsächlich verbessern kann?
Antworten:
k-NN verallgemeinert in einem sehr restriktiven Sinne. Es werden einfach Glättungsprioren (oder Kontinuitätsannahmen) verwendet. Diese Annahme impliziert, dass Muster, die sich im Merkmalsraum befinden, höchstwahrscheinlich zur selben Klasse gehören. Durch k-NN kann keine funktionelle Regelmäßigkeit in der Musterverteilung wiederhergestellt werden.
Daher sind repräsentative Trainingsmuster erforderlich, die insbesondere bei hochdimensionalen Merkmalsräumen extrem groß sein können. Schlimmer noch, diese Beispiele sind möglicherweise nicht verfügbar. Folglich kann es keine Invarianten lernen. Wenn Muster einigen Transformationen unterzogen werden können, ohne ihre Beschriftungen zu ändern, und das Trainingsmuster nicht Muster enthält, die auf alle zulässigen Arten transformiert wurden, erkennt k-NN niemals transformierte Muster, die während des Trainings nicht präsentiert wurden. Dies gilt beispielsweise für verschobene oder gedrehte Bilder, wenn sie vor dem Ausführen von k-NN nicht in einer invarianten Form dargestellt werden. k-NN kann nicht einmal von irrelevanten Merkmalen abstrahieren.
Ein weiteres etwas künstliches Beispiel folgt. Stellen Sie sich vor, dass Muster, die zu verschiedenen Klassen gehören, periodisch verteilt werden (z. B. gemäß Sinus - wenn es kleiner als 0 ist, gehören Muster zu einer Klasse und es ist größer, dann gehören Muster zu einer anderen Klasse). Trainingsset ist endlich. Es wird sich also in einer endlichen Region befinden. Außerhalb dieser Region beträgt der Erkennungsfehler 50%. Man kann sich die logistische Regression mit periodischen Basisfunktionen vorstellen, die in diesem Fall viel besser abschneiden. Andere Methoden können andere Regelmäßigkeiten in Musterverteilungen lernen und gut extrapolieren.
Wenn man also den Verdacht hat, dass der verfügbare Datensatz nicht repräsentativ ist und eine Invarianz gegenüber einigen Transformationen von Mustern erreicht werden sollte, dann ist dies der Fall, in dem man über k-NN hinausgehen sollte.
quelle
Wenn Sie durch die Komplexität der Berechnungen eingeschränkt wären, sind Entscheidungsbäume (Quinal, 1986) schwer zu übertreffen (insbesondere wenn ein Framework die direkte Konvertierung des DT-Modells in eine Reihe von
if
Anweisungen bietet - wie Accord.NET ).Für hochdimensionale Daten wird der Begriff der Entfernung, auf dem k-NN basiert, wertlos (Kriegel, Kröger, Zimek, 2009) (auch: Wikipedia-Artikel ). Andere Klassifikatoren wie SVM (Corter, Vapnik, 1995) oder Random Forests (Breiman, 2001) könnten daher eine bessere Leistung erbringen .
Verweise:
Kriegel, Hans-Peter; Kröger, Peer; Zimek, Arthur (2009), "Clustering hochdimensionaler Daten: Eine Umfrage zu Subraum-Clustering, musterbasiertem Clustering und Korrelationsclustering", ACM-Transaktionen zur Wissensentdeckung aus Daten (New York, NY: ACM) 3 (1): 1–58
Cortes, Corinna; und Vapnik, Vladimir N.; "Support-Vector Networks", Machine Learning, 20, 1995
Leo Breiman. 2001. Zufällige Wälder. Mach. Lernen. 45, 1 (Oktober 2001), 5-32.
JR Quinlan. 1986. Induktion von Entscheidungsbäumen. Mach. Lernen. 1, 1 (März 1986), 81-106.
quelle
kNN ist nützlich für große Datenproben
Die Nachteile sind jedoch:
Es ist normalerweise nur dann effektiv, wenn die Trainingsdaten groß sind und das Training sehr schnell ist.
quelle