Schalten Sie ein zu YOLO Vision 2025!
25. September 2025
10:00 — 18:00 Uhr BST
Hybride Veranstaltung
Yolo Vision 2024
Glossar

K-Nearest Neighbors (KNN)

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

K-Nearest Neighbors (KNN) ist ein grundlegender Algorithmus für überwachtes Lernen, der sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet wird. Er gilt als instanzbasierter oder "Lazy Learning"-Algorithmus, da er während der Trainingsdaten-Phase kein Modell erstellt. Stattdessen speichert er den gesamten Datensatz und trifft Vorhersagen, indem er die 'K' ähnlichsten Instanzen (Nachbarn) in den gespeicherten Daten findet. Die Grundidee ist, dass ähnliche Datenpunkte in unmittelbarer Nähe zueinander liegen. Für einen neuen, nicht klassifizierten Datenpunkt identifiziert KNN seine nächsten Nachbarn und verwendet deren Labels, um seine eigene Klassifizierung oder seinen Wert zu bestimmen.

Wie funktioniert KNN?

Der KNN-Algorithmus arbeitet nach einem einfachen Prinzip der Ähnlichkeit, das typischerweise durch eine Distanzmetrik gemessen wird. Die gebräuchlichste ist die euklidische Distanz, obwohl je nach Datensatz auch andere Metriken verwendet werden können.

Der Prozess zur Erstellung einer Vorhersage ist unkompliziert:

  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. Distanzen berechnen: Für einen neuen Datenpunkt berechnet der Algorithmus den Abstand zwischen diesem und jedem anderen Punkt im Trainingsdatensatz.
  3. Identifizieren von Nachbarn: Es identifiziert die K-Datenpunkte aus dem Trainingsdatensatz, die dem neuen Punkt am nächsten sind. Dies sind die „nächsten Nachbarn“.
  4. Eine Vorhersage treffen:
    • Für Klassifizierungsaufgaben führt der Algorithmus eine Mehrheitswahl durch. Dem neuen Datenpunkt wird die Klasse zugewiesen, die unter seinen K nächsten Nachbarn am häufigsten vorkommt. Wenn beispielsweise K=5 ist und drei Nachbarn Klasse A und zwei Klasse B sind, wird der neue Punkt als Klasse A klassifiziert.
    • Für Regressionsaufgaben berechnet der Algorithmus den Durchschnitt der Werte seiner K nächsten Nachbarn. Dieser Durchschnitt wird zum vorhergesagten Wert für den neuen Datenpunkt.

Anwendungsfälle in der Praxis

Die Einfachheit und intuitive Natur von KNN machen es in verschiedenen Anwendungen nützlich, insbesondere als Basismodell.

  • Empfehlungssysteme: KNN ist eine beliebte Wahl für die Entwicklung von Empfehlungs-Engines. Beispielsweise kann ein Streaming-Dienst einem Benutzer Filme empfehlen, indem er andere Benutzer (Nachbarn) mit ähnlichen Sehgewohnheiten identifiziert. Die Filme, die diesen Nachbarn gefallen und die der Zielbenutzer noch nicht gesehen hat, werden dann empfohlen. Diese Technik ist eine Form des Collaborative Filtering.
  • Finanzdienstleistungen: Im Finanzwesen kann KNN für das Kreditscoring 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 in Zahlungsverzug gerät. Die Nachbarn sind frühere Antragsteller mit ähnlichen Finanzprofilen (z. B. Alter, Einkommen, Schuldenstand), und ihre Zahlungsausfallhistorie beeinflusst die Vorhersage. Dies hilft bei der Automatisierung erster Risikobewertungen.

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 Algorithmus für unüberwachtes Lernen, der verwendet wird, um Daten in K verschiedene, nicht überlappende Untergruppen (Cluster) zu partitionieren. KNN ist dagegen ein überwachter Algorithmus, der für Vorhersagen auf der Grundlage beschrifteter Daten verwendet wird.
  • Support Vector Machine (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 der lokalen Ähnlichkeit von Nachbarn trifft, zielt SVM darauf ab, eine global optimale Grenze zu finden, was sie in ihrem Ansatz grundlegend unterscheidet. Weitere Details 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 baumartigen Struktur, während KNN auf distanzbasierter Ähnlichkeit beruht, ohne explizite Regeln zu lernen. Weitere Informationen finden Sie in der Scikit-learn-Dokumentation zu Entscheidungsbäumen.

Obwohl KNN ein wertvolles Werkzeug ist, um grundlegende Konzepte des maschinellen Lernens zu verstehen und auf kleineren, gut kuratierten Datensätzen eingesetzt zu werden, kann es für die Echtzeit-Inferenz mit Big Data rechenintensiv sein. Für komplexe Computer Vision-Aufgaben wie die Echtzeit-Objekterkennung werden fortschrittlichere Modelle wie Ultralytics YOLO aufgrund ihrer überlegenen Geschwindigkeit und Genauigkeit bevorzugt. Diese Modelle lassen sich einfach mit Plattformen wie Ultralytics HUB trainieren und bereitstellen.

Treten Sie der Ultralytics-Community bei

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert