Glossar

K-Nächste Nachbarn (KNN)

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

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

K-Nächste Nachbarn (KNN) ist ein grundlegender Algorithmus im maschinellen Lernen (ML), der sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet wird. Er zeichnet sich durch seine Einfachheit und seinen intuitiven Ansatz aus. KNN wird als nicht-parametrisches Verfahren eingestuft, weil es keine Annahmen über die zugrunde liegende Datenverteilung macht. Er wird auch als "Lazy Learning"-Algorithmus bezeichnet, weil er während der Trainingsdatenphase kein allgemeines Modell aufbaut, sondern den gesamten Datensatz speichert und nur dann Berechnungen durchführt, wenn eine Vorhersage benötigt wird.

Wie KNN funktioniert

Der Kerngedanke hinter KNN basiert auf Ähnlichkeit, die oft mit Hilfe von Abstandsmetriken wie dem euklidischen Abstand definiert wird. Bei der Vorhersage eines neuen, ungesehenen Datenpunkts ermittelt der Algorithmus die "K" nächstgelegenen Datenpunkte (Nachbarn) aus dem gespeicherten Trainingsdatensatz. Der Wert "K" ist eine benutzerdefinierte Ganzzahl und steht für die Anzahl der berücksichtigten Nachbarn.

  • Für die Klassifizierung: Der neue Datenpunkt wird der Klasse zugeordnet, die unter seinen K nächsten Nachbarn am häufigsten vorkommt. Wenn K=3 und zwei Nachbarn zur Klasse A und einer zur Klasse B gehören, wird der neue Punkt der Klasse A zugeordnet.
  • Für die Regression: Die Vorhersage für den neuen Datenpunkt ist in der Regel der Durchschnitt (oder manchmal auch der Median) der Werte seiner K nächstgelegenen Nachbarn.

Die Wahl der Distanzmetrik und der Wert von "K" sind entscheidende Hyperparameter, die die Leistung des Modells maßgeblich beeinflussen.

Auswahl des Wertes von "K

Die Wahl des optimalen "K" ist entscheidend. Ein kleiner "K"-Wert macht das Modell anfällig für Rauschen und Ausreißer, was zu einer Überanpassung führen kann. Umgekehrt kann ein großer "K"-Wert die Entscheidungsgrenzen zu sehr glätten, was zu einer Unteranpassung und hohen Rechenkosten führen kann. Techniken wie die Kreuzvalidierung werden häufig eingesetzt, um einen geeigneten "K"-Wert zu finden, der den Kompromiss zwischen Verzerrung und Varianz ausgleicht.

Anwendungen von KNN

Die Einfachheit von KNN eignet sich für verschiedene Anwendungen, insbesondere dort, wo es auf die Interpretierbarkeit ankommt:

  1. Empfehlungssysteme: KNN kann Nutzern Artikel (wie Filme oder Produkte) vorschlagen, die auf den Vorlieben ihrer "nächsten" Nachbarn (Nutzer mit ähnlichem Geschmack) basieren. Dienste wie Netflix haben ähnliche instanzbasierte Methoden erforscht.
  2. Bilderkennung: Bei grundlegenden Bildklassifizierungsaufgaben kann KNN ein Bild auf der Grundlage der Klassen der ähnlichsten Bilder in der Trainingsmenge klassifizieren (z. B. die Identifizierung handgeschriebener Ziffern auf der Grundlage der Pixelähnlichkeit). Während dies für einfachere Datensätze wie MNIST effektiv ist, erfordern komplexere Aufgaben oft ausgefeilte Modelle.
  3. Erkennung von Anomalien: Durch die Identifizierung von Datenpunkten, die weit von einer Gruppe von Nachbarn entfernt sind, kann KNN verwendet werden, um Ausreißer oder Anomalien zu erkennen, was in Bereichen wie der Erkennung von Betrug oder der Identifizierung von fehlerhaften Artikeln in der Produktion nützlich ist. Erfahre mehr über Methoden zur Erkennung von Anomalien.
  4. Genexpressionsanalyse: In der Bioinformatik hilft KNN dabei, Proben anhand von Genexpressionsmustern zu klassifizieren und ähnliche genetische Profile zusammenzufassen. Erfahre mehr über KI im Gesundheitswesen.

Vorteile und Nachteile von KNN

KNN bietet einige Vorteile, hat aber auch seine Grenzen:

Vorteile:

  • Einfachheit und Intuition: Leicht zu verstehen und umzusetzen.
  • Keine Trainingsphase: Es lernt sofort, indem es den Datensatz speichert und so an neue Daten anpassbar ist.
  • Flexibilität: Kann natürlich mit Mehrklassen-Klassifikation umgehen und kann für Regression angepasst werden.

Nachteile:

  • Berechnungsaufwand: Die Vorhersage kann langsam und rechenintensiv sein, vor allem bei großen Datensätzen, da sie die Berechnung von Abständen zu allen Trainingspunkten erfordert.
  • Empfindlichkeit gegenüber irrelevanten Merkmalen: Bei hochdimensionalen Daten (Fluch der Dimensionalität) oder wenn irrelevante Merkmale vorhanden sind, sinkt die Leistung erheblich. Techniken wie die Dimensionalitätsreduktion können erforderlich sein.
  • Notwendigkeit der Skalierung von Merkmalen: Empfindlich gegenüber der Skalierung der Daten; Merkmale mit größeren Bereichen können die Abstandsberechnungen dominieren, was eine Normalisierung erforderlich macht.
  • Bestimmung des optimalen "K": Um den besten Wert für "K" zu finden, müssen die Hyperparameter sorgfältig abgestimmt werden.

KNN vs. Verwandte Konzepte

Es ist wichtig, KNN von anderen Algorithmen zu unterscheiden:

  • K-Means Clustering: K-Means ist ein unüberwachter Lernalgorithmus zur Einteilung von Daten in Gruppen auf der Grundlage von Ähnlichkeit. KNN ist ein überwachter Lernalgorithmus zur Klassifizierung oder Regression auf der Grundlage von markierten Nachbarn.
  • Support Vector Machine (SVM): SVM ist ein überwachter Algorithmus, der eine optimale Hyperebene zur Trennung der Klassen findet. Im Gegensatz zum instanzbasierten Ansatz von KNN baut SVM ein explizites Modell auf, das bei hochdimensionalen Daten oft besser funktioniert.
  • Entscheidungsbäume: Entscheidungsbäume erstellen ein Modell auf der Grundlage von Merkmalsaufteilungen und liefern klare Regeln für die Klassifizierung oder Regression. KNN beruht auf lokaler Ähnlichkeit und nicht auf expliziten Regeln.

Während KNN für bestimmte Aufgaben und das Verständnis grundlegender ML-Konzepte wertvoll ist, profitieren komplexe Probleme wie die Objekterkennung in Echtzeit oft von fortschrittlicheren Modellen wie Ultralytics YOLOdie vor allem bei großen Bildverarbeitungsdatensätzen eine höhere Geschwindigkeit und Genauigkeit bieten. Du kannst solche Modelle mit Plattformen wie Ultralytics HUB trainieren und einsetzen.

Alles lesen