Glossar

K-Nächste Nachbarn (KNN)

Entdecken Sie, wie K-Nearest Neighbors (KNN) das maschinelle Lernen mit seinem intuitiven, nicht-parametrischen Ansatz für Klassifizierungs- und Regressionsaufgaben vereinfacht.

K-Nächste Nachbarn (KNN) ist ein grundlegender Algorithmus des überwachten Lernens, der sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet wird. Er gilt als instanzbasierter oder "fauler" Lernalgorithmus, da er während der Trainingsdatenphase kein Modell aufbaut. Stattdessen speichert er den gesamten Datensatz und macht Vorhersagen, indem er die "K" ähnlichsten Instanzen (Nachbarn) in den gespeicherten Daten findet. Der Kerngedanke ist, dass ähnliche Datenpunkte in unmittelbarer Nähe existieren. Für einen neuen, nicht klassifizierten Datenpunkt identifiziert KNN seine nächsten Nachbarn und verwendet deren Kennzeichnungen, um seine eigene Klassifizierung oder seinen Wert zu bestimmen.

Wie funktioniert KNN?

Der KNN-Algorithmus beruht auf einem einfachen Ähnlichkeitsprinzip, das in der Regel durch eine Abstandsmetrik gemessen wird. Die gebräuchlichste ist der euklidische Abstand, obwohl je nach Datensatz auch andere Metriken verwendet werden können.

Das Verfahren zur Erstellung einer Vorhersage ist einfach zu handhaben:

  1. Wählen Sie den Wert von K: Die Anzahl der zu berücksichtigenden Nachbarn (K) ist ein kritischer Hyperparameter. Die Wahl von K kann die Leistung des Modells erheblich beeinflussen.
  2. Berechnen der Abstände: Für einen neuen Datenpunkt berechnet der Algorithmus den Abstand zwischen ihm und jedem anderen Punkt im Trainingsdatensatz.
  3. Nachbarn identifizieren: Es werden die K Datenpunkte aus dem Trainingssatz identifiziert, die dem neuen Punkt am nächsten sind. Dies sind die "nächsten Nachbarn".
  4. Eine Vorhersage treffen:
    • Bei Klassifizierungsaufgaben führt der Algorithmus eine Mehrheitsabstimmung durch. Der neue Datenpunkt wird der Klasse zugeordnet, die unter seinen K nächsten Nachbarn am häufigsten vorkommt. Wenn z. B. K=5 und drei Nachbarn der Klasse A und zwei der Klasse B angehören, wird der neue Punkt der Klasse A zugeordnet.
    • Bei Regressionsaufgaben berechnet der Algorithmus den Durchschnitt der Werte seiner K nächsten Nachbarn. Dieser Durchschnitt wird zum vorhergesagten Wert für den neuen Datenpunkt.

Anwendungen in der realen Welt

Die Einfachheit und Intuitivität von KNN machen es in verschiedenen Anwendungen nützlich, insbesondere als Basismodell.

  • Empfehlungssysteme: KNN ist eine beliebte Wahl für den Aufbau von Empfehlungssystemen. So kann beispielsweise ein Streaming-Dienst einem Nutzer Filme empfehlen, indem er andere Nutzer (Nachbarn) mit ähnlichen Sehgewohnheiten identifiziert. Die Filme dieser Nachbarn, die der Zielnutzer noch nicht gesehen hat, werden dann empfohlen. Diese Technik ist eine Form des kollaborativen Filterns.
  • Finanzdienstleistungen: Im Finanzwesen kann KNN für die Kreditwürdigkeitsprüfung verwendet werden. Durch den Vergleich eines neuen Kreditantragstellers mit einer Datenbank früherer Antragsteller mit bekannten Kreditergebnissen kann der Algorithmus vorhersagen, ob der neue Antragsteller wahrscheinlich ausfallen wird. Die Nachbarn sind frühere Antragsteller mit ähnlichen Finanzprofilen (z. B. Alter, Einkommen, Verschuldungsgrad), und ihre Ausfallgeschichte fließt in die Vorhersage ein. Auf diese Weise lassen sich erste Risikobewertungen automatisieren.

KNN vs. Verwandte Konzepte

Es ist wichtig, KNN von anderen gängigen Algorithmen des maschinellen Lernens zu unterscheiden:

  • K-Means Clustering: Obwohl die Namen ähnlich sind, sind ihre Funktionen sehr unterschiedlich. K-Means ist ein unüberwachter Lernalgorithmus, der Daten in K verschiedene, sich nicht überschneidende Untergruppen (Cluster) aufteilt. KNN hingegen ist ein überwachter Algorithmus, der für Vorhersagen auf der Grundlage von markierten Daten verwendet wird.
  • Support-Vektor-Maschine (SVM): SVM ist ein überwachter Algorithmus, der versucht, die bestmögliche Hyperebene zu finden, die verschiedene Klassen im Merkmalsraum trennt. Während KNN Entscheidungen auf der Grundlage lokaler Nachbarschaftsähnlichkeit trifft, zielt SVM darauf ab, eine globale optimale Grenze zu finden, was seinen Ansatz grundlegend unterscheidet. Weitere Einzelheiten finden Sie auf der Scikit-learn SVM-Seite.
  • Entscheidungsbäume: Ein Entscheidungsbaum klassifiziert Daten, indem er ein Modell hierarchischer, regelbasierter Entscheidungen erstellt. Dies führt zu einer baumähnlichen Struktur, während KNN sich auf abstandsbasierte Ähnlichkeit stützt, ohne explizite Regeln zu lernen. Sie können mehr in der Scikit-learn-Dokumentation zu Entscheidungsbäumen erfahren.

KNN ist zwar ein wertvolles Werkzeug für das Verständnis grundlegender Konzepte des maschinellen Lernens und für die Verwendung bei kleineren, gut kuratierten Datensätzen, kann aber für Echtzeit-Inferenz mit großen Daten sehr rechenintensiv sein. Für komplexe Computer-Vision-Aufgaben wie die Objekterkennung in Echtzeit werden fortschrittlichere Modelle wie Ultralytics YOLO aufgrund ihrer überlegenen Geschwindigkeit und Genauigkeit bevorzugt. Diese Modelle lassen sich mit Plattformen wie Ultralytics HUB leicht trainieren und einsetzen.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert