Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

k-Nächste-Nachbarn-Algorithmus einfach erklärt

Du lernst, wie kNN einen neuen Punkt per Abstand und Mehrheit einer Klasse zuordnet, warum k und Normalisierung zählen und wie man testet.

0 von 12 Aufgaben gelöst

k-Nächste-Nachbarn-Algorithmus einfach erklärt

Kurz gesagt

Der k-Nächste-Nachbarn-Algorithmus (kNN) ordnet einen neuen Punkt der Klasse zu, die unter seinen k nächsten, bereits beschrifteten Nachbarn am häufigsten vorkommt. Die Nähe misst man zum Beispiel mit dem euklidischen Abstand. Ob das gut funktioniert, prüft man an Testdaten.

Dein Handy sortiert E-Mails in „Spam“ und „kein Spam“. Wie entscheidet ein Programm so etwas bei einer neuen Nachricht? kNN macht es mit einer einfachen Idee: Es schaut, welchen bekannten Beispielen der neue Fall am nächsten ist. Hier lernst du, wie das geht und wie man die Qualität prüft.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Beim überwachten Lernen bekommt ein Lernalgorithmus Datensätze, die zu jeder Eingabe einen passenden Ausgabewert enthalten. Solche Datensätze heißen markiert oder gelabelt. Ein Label ist also die bekannte richtige Antwort, zum Beispiel „Katze“ oder „Hund“ bei einem Bild.

kNN ist ein Klassifikationsverfahren. Das heißt: Es ordnet ein neues Objekt einer Klasse zu, zum Beispiel „Spam“ oder „kein Spam“. Dafür berücksichtigt es die k nächsten Nachbarn des neuen Objekts. Das sind die k nächsten Trainingsbeispiele, deren Klasse schon bekannt ist.

Das Lernen ist bei kNN sehr einfach: Es besteht aus simplem Abspeichern der Trainingsbeispiele. Das nennt man auch „lazy learning“ („träges Lernen“).

Definition

Label

Ein Label ist die bekannte richtige Antwort zu einem Datensatz, zum Beispiel „Spam“ oder „kein Spam“. Datensätze mit Labels heißen gelabelt oder markiert.

Beispiel: Bilder mit Labels

  1. 1Eingabe: ein Bild. Label: „Katze“ oder „Hund“.
  2. 2Ein Mensch hat zu jedem Trainingsbild das Label hinzugefügt.
  3. 3Ziel: Bei einem neuen Bild soll die Klasse möglichst richtig vorhergesagt werden.

Merke: kNN speichert die Trainingsbeispiele nur ab. Eine Vorhersage entsteht erst durch den Blick auf die k nächsten Nachbarn des neuen Punktes.

Teste dich

LeichtWoraus besteht der Lernteil bei kNN?

Alles auf einen Blick

k-Nächste-Nachbarn-Algorithmus

  • kNN

    Es ordnet einen neuen Punkt anhand seiner k nächsten Nachbarn einer Klasse zu.

  • Lernen

    Es besteht aus dem Abspeichern der Trainingsbeispiele.

  • Ablauf

    Abstände berechnen, k kleinste wählen, Klassen zählen, Mehrheit entscheidet.

  • Wahl von k

    Zu kleines k macht anfällig für Rauschen, zu großes k bezieht weit entfernte Punkte ein.

  • Normalisierung

    Sie kann die Genauigkeit erhöhen; große und kleine Zahlenwerte sollen so gleich stark zählen.

  • Bewertung

    Training zum Trainieren, Validierung zum Vergleichen von Einstellungen, Test zur Prüfung am Ende.

Musteraufgabe · Schritt für Schritt

Neuen Punkt mit k = 3 einordnen (ausgedachtes Beispiel)

  1. 1Ausgedachte Daten mit zwei Merkmalen. Klasse A: A1 (1, 2), A2 (2, 0). Klasse B: B1 (4, 4), B2 (5, 3), B3 (6, 6). Neuer Punkt N = (3, 3), k = 3.
  2. 2Abstand N zu B1: √((4 − 3)² + (4 − 3)²) = √2 ≈ 1,41
  3. 3Abstand N zu B2: √((5 − 3)² + (3 − 3)²) = √4 = 2
  4. 4Abstand N zu A1: √((1 − 3)² + (2 − 3)²) = √5 ≈ 2,24
  5. 5Abstand N zu A2: √((2 − 3)² + (0 − 3)²) = √10 ≈ 3,16
  6. 6Abstand N zu B3: √((6 − 3)² + (6 − 3)²) = √18 ≈ 4,24
  7. 7Sortiert: B1, B2, A1, A2, B3. Die k = 3 nächsten sind B1, B2 und A1.
  8. 8Stimmen: 2-mal Klasse B, 1-mal Klasse A. Also gehört N zu Klasse B.

Fehler finden

Prüfe die Schritte bei Q = (0, 0) mit k = 3 (ausgedachtes Beispiel) In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Bei kNN besteht das Lernen aus dem der Trainingsbeispiele. Bei zwei Klassen hilft ein k, ein Unentschieden bei der Mehrheitsentscheidung zu verhindern. Die Qualität nach dem Training prüft man an den , die beim Training nicht benutzt wurden.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: k-Nächste-Nachbarn-Algorithmus

LeichtWelche Aufgabe löst kNN?
MittelWie groß ist der euklidische Abstand von (3, 2) und (8, 14)?
SchwerWelche Aussage zur Wahl von k stimmt?

Weiterlesen in Informatik