Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
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-Nächste Nachbarn (KNN) ist ein nicht-parametrischer, überwachter Lernalgorithmus, der häufig für Klassifizierungs- und Regressionsaufgaben verwendet. Oft wird er als als "fauler Lerner" oder instanzbasierte Lernmethode bezeichnet, erzeugt KNN während einer Trainingsphase keine diskriminierende Funktion aus den den Trainingsdaten während einer Trainingsphase. Stattdessen, Stattdessen speichert es den gesamten Datensatz und führt nur dann Berechnungen durch, wenn es Vorhersagen für neue Instanzen trifft. Dieser Ansatz geht davon aus, dass ähnliche Datenpunkte im Merkmalsraum nahe beieinander liegen, so dass der Algorithmus neue Eingaben auf der Grundlage der Mehrheitsklasse oder des Durchschnittswerts ihrer nächsten Nachbarn zu klassifizieren.

Wie KNN funktioniert

Der Funktionsmechanismus von K-Nächste Nachbarn beruht auf Abstandsmetriken zur Quantifizierung der Ähnlichkeit zwischen Daten Punkten zu quantifizieren. Die häufigste Metrik ist der Euklidische Distanz, aber auch andere wie Manhattan-Distanz oder Minkowski-Distanz verwendet werden können abhängig von der Problemdomäne. Der Vorhersageprozess umfasst mehrere verschiedene Schritte:

  1. K auswählen: Der Benutzer legt die Anzahl der Nachbarn fest, die als "K" bezeichnet wird. Dies ist ein entscheidender Schritt bei der Abstimmung der Hyperparameter, da der Wert von K einen direkten Einfluss auf das Modell Verzerrung-Varianz-Abgleich des Modells beeinflusst. Ein kleines K kann zu zu Rauschempfindlichkeit führen, während ein großes K deutliche Grenzen glätten kann.
  2. Berechnen von Entfernungen: Wenn ein neuer Abfragepunkt eingeführt wird, berechnet der Algorithmus den Abstand zwischen diesem Punkt und jedem Beispiel im gespeicherten Datensatz.
  3. Nachbarn identifizieren: Der Algorithmus sortiert die Abstände und wählt die obersten K Einträge mit den kleinsten Werte.
  4. Aggregierter Output:
    • Klassifizierung: Der Algorithmus ordnet das Klassenlabel zu, das am häufigsten unter den K Nachbarn auftaucht (Mehrheitsentscheidung).
    • Regression: Die Vorhersage wird als Durchschnitt der Zielwerte der K Nachbarn.

Die Einfachheit von KNN macht es zu einer effektiven Grundlage für viele Probleme des maschinellen Lernens. Nachfolgend finden Sie ein kurzes Beispiel mit der beliebten Bibliothek Scikit-learn, um einen um einen grundlegenden Klassifizierungsablauf zu demonstrieren.

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# distinct classes: 0 and 1
X_train = np.array([[1, 1], [1, 2], [2, 2], [5, 5], [5, 6], [6, 5]])
y_train = np.array([0, 0, 0, 1, 1, 1])

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Predict class for a new point [4, 4]
prediction = knn.predict([[4, 4]])
print(f"Predicted Class: {prediction[0]}")
# Output: 1 (Closer to the cluster at [5,5])

Anwendungsfälle in der Praxis

Trotz seiner Einfachheit wird K-Nearest Neighbors in verschiedenen anspruchsvollen Bereichen eingesetzt, in denen Interpretierbarkeit und Instanz-basierte Argumentation wertvoll sind.

  • Recommendation Engines: KNN erleichtert kollaborative Filterung in Empfehlungssystemen. Streaming Streaming-Plattformen nutzen es, um Inhalte vorzuschlagen, indem sie Nutzer mit ähnlichen Sehgewohnheiten (Nachbarn) finden und ihnen die ihnen gefallen haben. Diese Methode ist effektiv für personalisierte Nutzererfahrungen.
  • Medizinische Diagnose: Bei der medizinischen Bildanalyse kann KNN bei der bei der Diagnose von Krankheiten helfen, indem es Patientenmetriken oder Bildmerkmale mit einer Datenbank von historischen Fällen vergleicht. Für kann es zum Beispiel helfen Brustkrebstumore als Brustkrebstumore als bösartig oder gutartig zu klassifizieren, basierend auf der Ähnlichkeit der Zellmerkmale mit bestätigten Fällen.
  • Erkennung von Anomalien: Finanzinstitute nutzen KNN für die Anomalieerkennung, um Betrug zu erkennen. Durch Analyse von Transaktionsmustern kann das System Aktivitäten aufzeigen, die erheblich vom Standardverhalten eines Nutzers abweichen Verhalten abweichen - im Wesentlichen Punkte, die von ihren "nächsten Nachbarn" weit entfernt sind.

Unterscheidung zwischen KNN und verwandten Algorithmen

Das Verständnis der Unterschiede zwischen KNN und anderen Algorithmen ist entscheidend für die Auswahl des richtigen Werkzeugs für ein Computer Vision oder Datenanalyse-Projekt zu wählen.

  • K-Means Clustering: KNN ist leicht zu verwechseln mit K-Means Clustering zu verwechseln, da die Namen ähnlich sind. K-Means ist jedoch eine nicht überwachte Lerntechnik, die gruppiert, während KNN ein überwachtes Verfahren ist, das für die Vorhersage markierte Daten benötigt.
  • Support-Vektor-Maschine (SVM): Während beide zur Klassifizierung verwendet werden, konzentriert sich eine Stützvektormaschine (SVM) konzentriert sich darauf, eine globale Entscheidungsgrenze (Hyperebene) zu finden, die die Spanne zwischen den Klassen maximiert. KNN hingegen trifft Entscheidungen auf der Grundlage der lokalen Datendichte, ohne ein globales Modell zu erstellen. Weitere Informationen zu diesen Unterschieden finden Sie in der SVM-Dokumentation.
  • Entscheidungsbäume: A Entscheidungsbaum klassifiziert Daten durch Lernen expliziter, hierarchische Regeln, die den Merkmalsraum aufteilen. KNN stützt sich ausschließlich auf Abstandsmetriken im Merkmalsraum, wodurch Es ist flexibler bei unregelmäßigen Entscheidungsgrenzen, aber rechenintensiver bei der Inferenz.

Während KNN für kleinere Datensätze leistungsstark ist, steht es bei großen Daten großen Datenmengen, da die Berechnung der Abstände für jede Entfernungen für jede Abfrage. Für Hochleistungs, Echtzeit-Inferenz bei Aufgaben wie Objekterkennung, moderne Deep Learning Architekturen wie YOLO11 aufgrund ihrer überragenden überragenden Geschwindigkeit und Genauigkeit bevorzugt.

Werden Sie Mitglied der Ultralytics

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

Jetzt beitreten