Bei maschinellem Lernen und künstlicher Intelligenz ist die Datenklassifizierung ein wichtiger Prozess. Das Ziel besteht darin, Datenpunkten basierend auf ihren Funktionen Bezeichnungen zuzuweisen. Dazu gehört die Analyse bekannter Daten (Trainingsdaten), bei denen jedes Beispiel mit einer Kategorie oder einem Wert gekennzeichnet ist. Bezeichnungen helfen dabei, Muster und Beziehungen innerhalb der Daten zu finden, sodass das Modell genaue Vorhersagen über neue, bisher unbekannte Datenpunkte treffen kann. Leider bringt die Arbeit mit gekennzeichneten Daten eigene Probleme mit sich: Die manuellen Prozesse zur Kennzeichnung von Daten können zeitaufwändig und schwierig sein, und die erforderlichen Ressourceninvestitionen machen diesen Ansatz für einige Unternehmen unmöglich.
Der K-Nächste-Nachbarn-Algorithmus (KNN) bietet eine einfache und effiziente Lösung für dieses Problem. Anstatt komplexe Berechnungen im Voraus zu erfordern, speichert KNN alle Daten und stellt dann Vorhersagen für neue Daten an, basierend auf ihrer Ähnlichkeit mit den vorhandenen Daten. Dieser Ansatz ermöglicht es KNN, genaue Vorhersagen zu treffen, ohne umfangreiche Feinabstimmungen zu erfordern. Das ist besonders nützlich, wenn Unternehmen mit kleineren Datensätzen und begrenzter Rechenleistung arbeiten.
Vektoren sind ein integraler Bestandteil des K-Nächste-Nachbarn-Algorithmus. Ein Vektor ist eine Sequenz von Zahlen, die einen Punkt in einem mehrdimensionalen Raum darstellt. ML-Modelle müssen in der Lage sein, unstrukturierte Rohdaten in diese numerischen Darstellungen zu verwandeln, die als Einbettungen bezeichnet werden. Einbettungen erfassen das semantische oder strukturelle Wesen der Eingabedaten. Die Beziehungen zwischen Einbettungen werden hierbei durch ihre räumliche Nähe im Vektorraum dargestellt (also wie nah oder weit sie voneinander entfernt sind).
Der KNN-Algorithmus nutzt diese räumliche Anordnung, indem er die „Nachbarn“ eines Abfragepunkts identifiziert – also andere Einbettungen, die sich im mehrdimensionalen Raum eng beieinander befinden. Diese Nachbarn spiegeln Datenpunkte mit gemeinsamen Eigenschaften oder ähnlichen Funktionen wider.
So liegen beispielsweise die Einbettungen zweier Dokumente näher beieinander, wenn sie ähnliche Themen behandeln. Daran kann KNN Ähnlichkeiten und Zusammenhänge erkennen. So kann er anhand dieser Beziehungen neue Daten klassifizieren oder Ergebnisse vorhersagen.
Der K-Nächste-Nachbarn-Algorithmus verwendet Vektoren, um die „k“ nächstgelegenen Datenpunkte (oder Nachbarn) eines neuen Datenpunkts zu identifizieren und basierend auf diesen Nachbarn Vorhersagen zu treffen. Wenn das Ziel beispielsweise darin besteht, E-Mails als Spam oder legitim zu klassifizieren, würde KNN die „k“ ähnlichsten E-Mails betrachten und die neue E-Mail-Nachricht basierend auf der Mehrheitsklassifizierung dieser Nachbarn klassifizieren.
Ein weiteres Beispiel wäre ein Unternehmen, das Daten zu verschiedenen Kunden hat, mit Merkmalen wie Alter, Interessen und bisherigen Käufen. Der KNN-Algorithmus kann diese Kunden in Kategorien wie regelmäßige Käufer, Gelegenheitskäufer oder bloße Besucher einteilen, indem er ihre Merkmale vergleicht. Wenn ein neuer Kunde die Website besucht, kann KNN sein Einkaufsverhalten vorhersagen, indem er auswertet, welcher Gruppe der Kunde am stärksten ähnelt.
Die Anpassungsfähigkeit des Algorithmus steigt sogar noch weiter, wenn er mit multimodalen Datensätzen verwendet wird. Dabei werden Informationen aus mehreren Quellen gleichzeitig kombiniert, z. B. Text, Bilder oder Audioinhalte. KNN kann diese Einbettungen in einem gemeinsamen Vektorbereich analysieren und Ähnlichkeiten zwischen verschiedenen Modalitäten identifizieren. Durch die Anwendung von KNN auf multimodale Daten können unabhängig von Datentypen die ähnlichsten Nachbarn gefunden werden. Das macht KNN zu einem vielseitigen Algorithmus für immer komplexere und vielfältigere Datenszenarien.
- Mustererkennung
KNN wird häufig für die Mustererkennung verwendet, beispielsweise Bild- oder Handschrifterkennung. Durch den Vergleich neuer Bilder oder Muster mit einem gekennzeichneten Datensatz kann KNN Objekte, Zeichen oder Gesichter genau klassifizieren, basierend auf der Ähnlichkeit zu bekannten Mustern.
- Datenverarbeitung
KNN ist effektiv bei der Vorverarbeitung von Daten, z. B. bei der Imputation fehlender Werte oder der Erkennung von Ausreißern. Durch die Analyse der nächsten Nachbarn kann KNN fehlende Werte basierend auf den ähnlichsten Datenpunkten schätzen und so die Datenqualität und -beständigkeit verbessern.
- Empfehlungsmodule
KNN hilft beim Aufbau von Empfehlungssystemen, indem Anwenderverhalten und -präferenzen analysiert werden. Durch die Suche nach Anwendern mit ähnlichen Interessen kann KNN Produkte, Filme oder Inhalte vorschlagen, die anderen Personen mit ähnlichen Profilen gefallen haben. Das verbessert die Anwender-Experience und -Interaktion.
- Bild-zu-Text-Umwandlung
KNN wird zunehmend für Aufgaben der Bild-zu-Text-Umwandlung in multimodalen Systemen verwendet. Durch den Vergleich von Bildeinbettungen mit Textbeschreibungen können KI-Systeme mit KNN komplexe Aufgaben durchführen, wie z. B. automatisierte Beschriftung. Hierbei nutzt KNN die engsten Übereinstimmungen, um kontextbezogenen Text für ein bestimmtes Bild zu liefern.
Bei jedem oben aufgeführten Ansatz hängt die Genauigkeit der KNN-Vorhersagen stark von den Entfernungsmetriken ab, die zum Messen der Datenähnlichkeit verwendet werden. Entfernungsmetriken in KNN messen die Ähnlichkeit zwischen Datenpunkten, was für genaue Vorhersagen entscheidend ist. Diese Metriken bestimmen, wie der Algorithmus die „Nähe“ von Datenpunkten berechnet, um neue Datenpunkte effektiv zu klassifizieren oder vorherzusagen.
Der euklidische Abstand ist die am häufigsten in KNN verwendete Metrik, die den linearen Abstand zwischen zwei Punkten im euklidischen Raum berechnet. Stellen Sie sich vor, Sie verwenden eine Karte und ein Lineal, um den kürzesten Pfad zwischen zwei Standorten zu messen. Je kürzer die Entfernung ist, desto ähnlicher sind die Punkte. Beim Vergleich der Größe und des Gewichts verschiedener Personen lässt sich beispielsweise mit der euklidischen Distanz bestimmen, welche Personen aufgrund dieser beiden Merkmale durch die kürzeste euklidische Distanz getrennt und damit am ähnlichsten sind.
Manhattan-Distanz misst die absoluten Unterschiede zwischen Punkten in jeder Dimension, z. B. beim Navigieren in einem Straßennetz. Stellen Sie sich ein Stadtraster vor, in dem Bewegungen nur auf der Straße (anstatt diagonal durch Gebäude) voranschreiten können. Diese Metrik ist nützlich, wenn Datenpunkte in einem rasterartigen Muster strukturiert sind, z. B. beim Vergleich von Lieferrouten oder Stadtplanungsszenarien.
Die Minkowski-Distanz (p-Norm) ist eine Verallgemeinerung der euklidischen und Manhattan-Distanzen. Durch Anpassen eines Parameters „p“ kann sie sich wie jede der beiden Metriken verhalten. Stellen Sie sich die Minkowski-Distanz als eine flexible Methode vor, die sich je nach den spezifischen Anforderungen der Datenanalyse an verschiedene Szenarien anpassen lässt. Wenn jemand beispielsweise Eigenschaften mit verschiedenen Dimensionen (z. B. Preis, Fläche und Raumanzahl) vergleichen möchte, trägt das Anpassen des Werts „p“ dazu bei, bestimmte Dimensionen gegenüber anderen hervorzuheben. Das macht die Minkowski-Distanz zu einer vielseitigen Metrik für verschiedene Arten von Datenvergleichen.
Ohne den richtigen Wert für „k“ zu definieren, funktioniert der KNN-Algorithmus nicht wie vorgesehen. Wenn Sie einen zu kleinen Wert für „k“ wählen, können Vorhersagen überempfindlich gegenüber Datenrauschen sein. Und das führt zu einer hohen Varianz und weniger stabilen Vorhersagen. Auf der anderen Seite kann ein zu großer Wert die Vorhersagen verbessern, jedoch kann das Modell hierdurch zu allgemein werden, sodass es bestimmte Muster nicht mehr berücksichtigt.
Um den optimalen Wert für „k“ zu finden, verwenden Experten in der Regel eine Kreuzvalidierung (eine Technik, bei der der Datensatz in Trainings- und Validierungssätze unterteilt wird, um verschiedene „k“-Werte zu testen). Das hilft dabei, ein „k“ zu identifizieren, das Vorhersagefehler minimiert und gleichzeitig die Verallgemeinerungsfähigkeit des Algorithmus aufrechterhält.
Diesen Prozess zu optimieren, kann einige Versuche erfordern. Wenn Sie das richtige „k“ finden wollen, müssen Sie verschiedene Werte testen, um sicherzustellen, dass das Modell sowohl bei bekannten als auch bei unbekannten Daten gut abschneidet. So entsteht am Ende ein optimales Gleichgewicht zwischen Stabilität und Genauigkeit.
Das Finden von Verbindungen, Ähnlichkeiten und Beziehungen zwischen Datenpunkten ist der allgemeine Zweck des K-Nächste-Nachbarn-Algorithmus. Der Grund, warum dieses Modell so beliebt bei Unternehmen ist, sind seine zusätzlichen Vorteile. Zu diesen Vorteilen gehören:
KNN ist einfach zu implementieren und zu verstehen, selbst für Anfänger im Bereich maschinelles Lernen. Es ist keine komplexe Trainingsphase erforderlich. Stattdessen merkt sich der Algorithmus den Trainingsdatensatz und verwendet ihn direkt für Vorhersagen.
Unabhängig davon, ob KNN für Klassifizierungs- oder Regressionsaufgaben verwendet wird, können damit die verschiedenen Datenstrukturen und -beziehungen verwaltet werden, die zum Gruppieren von Datenpunkten erforderlich sind. Diese Flexibilität ermöglicht es, den Algorithmus in verschiedenen Bereichen anzuwenden, darunter Finanzen, Gesundheitswesen, E-Commerce und viele mehr.
KNN erfordert nur wenige Hyperparameter, hauptsächlich den Wert von „k“ und die Distanzmetrik. Das reduziert die Komplexität der Modelloptimierung im Vergleich zu anderen Algorithmen, die möglicherweise eine umfassende Parameteroptimierung erfordern. So wird der gesamte Modellentwicklungsprozess vereinfacht, und es lässt sich leichter mit minimalen Anpassungen eine hervorragende Leistung erzielen.
Der KNN-Algorithmus bietet zwar mehrere Vorteile, weist jedoch auch einige erwähnenswerte Schwachstellen auf. Zu den Nachteilen zählen:
„Hohe Dimensionalität“ bezieht sich auf die exponentielle Zunahme der Daten, die erforderlich sind, um das Leistungsniveau beizubehalten, während die Anzahl der Merkmale (oder Dimensionen) zunimmt. In hochdimensionalen Räumen wird der Abstand zwischen Datenpunkten weniger aussagekräftig, was es für KNN schwierig macht, wirklich „nächstgelegene“ Nachbarn zu identifizieren. Dieses Problem kann die Genauigkeit und Effektivität des Algorithmus in Datensätzen mit vielen Merkmalen erheblich reduzieren.
KNN kann durch Rauschen und Ausreißer im Datensatz negativ beeinflusst werden, insbesondere wenn der Wert von „k“ klein ist. Diese Empfindlichkeit kann zu Überanpassungen führen, bei denen der Algorithmus Rauschen und Anomalien erfasst, als wären sie echte Muster. Eine Überanpassung führt zu einer schlechten Verallgemeinerung neuer, unbekannter Daten und einer geringeren Vorhersageleistung des Modells.
Mit der Größe des Datensatzes wächst auch die Komplexität der Berechnungen, was KNN für übermäßig große Datensätze ineffizient macht. Jede Vorhersage erfordert die Berechnung der Entfernung zwischen dem neuen Datenpunkt und allen vorhandenen Punkten im Trainingsdatensatz, was zu einer hohen Speicherauslastung und langen Berechnungszeiten führt. Dieser Mangel an Skalierbarkeit schränkt die Anwendbarkeit von KNN in Szenarien mit großen Datenmengen ein.
Wie bereits erwähnt, klassifiziert der KNN-Algorithmus Datenpunkte basierend auf ihrer Nähe zu anderen Datenpunkten im Datensatz. Dazu muss der Algorithmus eine bestimmte Reihe von Schritten befolgen:
1. Anzahl der Nachbarn auswählen (k)
Definieren Sie den Wert von „k“, der bei der Klassifizierung oder Regression berücksichtigt werden soll. Dieser Wert beeinflusst, wie der Algorithmus die Ähnlichkeit zwischen Datenpunkten auswertet.
2. Entfernung berechnen
Berechnen Sie für jeden Datenpunkt im Trainingssatz den Abstand zwischen ihm und dem neuen Datenpunkt anhand einer der Standard-Distanzmetriken (Euklidisch, Manhattan oder Minkowski). Diese Distanzmessung hilft dabei, zu ermitteln, welche Kandidaten als die nächsten Nachbarn zum neuen Datenpunkt betrachtet werden sollten.
3. Nächstgelegene Nachbarn identifizieren
Sortieren Sie die in Schritt 2 berechneten Entfernungen, und bestimmen Sie die „k“ nächstgelegenen Nachbarn. Diese Nachbarn sind die Datenpunkte, die dem neuen Datenpunkt am nächsten liegen, basierend auf der ausgewählten Entfernungsmetrik.
4. Vorhersage treffen
Weisen Sie für Klassifizierungsaufgaben den neuen Datenpunkt der Klasse zu, die unter den „k“ nächstgelegenen Nachbarn am häufigsten zu finden ist. Berechnen Sie für Regressionsaufgaben den durchschnittlichen oder mittleren Wert der „k“ nächstgelegenen Nachbarn, und verwenden Sie diesen Wert zur Vorhersage für den neuen Datenpunkt.
5. Modell bewerten
Bewerten Sie die Genauigkeit und Leistung des KNN-Modells mithilfe von Kreuzvalidierungstechniken. Passen Sie den Wert von „k“ und die Entfernungsmetrik nach Bedarf an, um die Vorhersagen des Modells zu optimieren.
Es gibt mehrere Methoden zum Ausführen des K-Nächste-Nachbarn-Algorithmus (KNN), die jeweils andere Vorteile bieten und für andere Anwendungen geeignet sind. Die folgenden Methoden helfen dabei, den Prozess der Suche nach den nächstgelegenen Nachbarn zu optimieren, sodass KNN eine effiziente Option für verschiedene Arten von Datensätzen darstellt.
- Brute Force
Die Brute-Force-Methode berechnet die Entfernung zwischen dem Abfragepunkt und allen anderen Punkten im Datensatz. Sie ist einfach, aber rechenintensiv, und eignet sich daher am besten für kleine Datensätze.
- K-dimensionaler Baum (k-d-Baum)
Ein k-d-Baum organisiert Punkte in einem k-dimensionalen Raum, indem der Raum rekursiv in Hyperrechtecke unterteilt wird. Dieser Ansatz reduziert Entfernungsberechnungen und beschleunigt die KNN-Suche nach mäßig hochdimensionalen Daten.
- Kugelbaum
Ein Kugelbaum teilt den Raum in verschachtelte Hypersphären auf, sodass eine effiziente Nachbarsuche möglich ist, indem irrelevante Teile des Datensatzes eliminiert werden. Sie ist besonders effektiv für hochdimensionale Daten und übertrifft in diesen Szenarien oft die k-d-Bäume.
Der K-Nächste-Nachbarn-Algorithmus ist aufgrund seiner Fähigkeit, Datenpunkte zu klassifizieren und Beziehungen für KI-Systeme zu quantifizieren, von unschätzbarem Wert. ServiceNow, ein führender Anbieter von IT-Lösungen für Unternehmen, integriert fortschrittliche KI und KNN und bietet leistungsstarke Tools für die digitale Transformation. Die preisgekrönte Now Platform® von ServiceNow nutzt KI und maschinelles Lernen, um Workflows für alle Geschäftsfunktionen zu automatisieren, zu optimieren und zu modernisieren. So können Sie unternehmensweit intelligente Optimierungen durchführen.
Durch die Integration von KNN und anderen fortschrittlichen Algorithmen können Unternehmen mit ServiceNow KI einsetzen, um die Entscheidungsfindung zu verbessern, Bearbeitungszeiten zu verkürzen und einen effizienteren Geschäftsansatz aufzubauen. Erleben Sie die transformative Kraft von KI und der Now Platform: Planen Sie noch heute eine ServiceNow-Demo!