Merke: Training beim KNN-Algorithmus. Beim Training speichert der KNN-Algorithmus nur die Trainingsdaten. Er berechnet dabei weder einen Baum noch Gewichte oder eine Trenngerade. Erst wenn ein neuer Punkt klassifiziert werden soll, berechnet er dessen Abstände zu allen gespeicherten Trainingsdaten.
Künstliche Intelligenz · Klassifikation
KNN: k wählen, testen und Grenzen erkennen
Aufgabe 8
Untersuche, wie die Wahl von k und die Trainingsdaten beeinflussen, wie zuverlässig der KNN-Algorithmus klassifiziert – und wie man ein Modell testet.
Dein Bearbeitungsstand wird in diesem Browser gespeichert.
Was passiert beim Training?
Was passiert beim Training?
In Aufgabe 3a ist beim Training ein Entscheidungsbaum entstanden, in Aufgabe 5 hat das Perzeptron seine Gewichte angepasst. Was passiert beim Training des KNN-Algorithmus?
| Entscheidungsbaum (Aufgabe 3a) | Perzeptron (Aufgabe 5) | KNN-Algorithmus (Aufgabe 7) | |
|---|---|---|---|
| Ergebnis des Trainings | ein Baum mit Fragen an den Knoten | angepasste Gewichte und ein Schwellenwert | ? |
Hilfe 1: An Aufgabe 7 denken
Erinnere dich: Was hat der Algorithmus getan, als eine neue Person klassifiziert werden sollte?
Hilfe 2: Wann gibt es den neuen Punkt?
Die Abstände hängen vom neuen Punkt ab. Kann man sie schon berechnen, bevor es den neuen Punkt gibt?
Hilfe 3: Teillösung
Beim Training passiert nur ein einziger Schritt: Die Trainingsdaten werden gespeichert.
Die Phasen des maschinellen Lernens
Ein KI-System, das maschinelles Lernen nutzt, durchläuft mehrere Phasen, bevor es eingesetzt wird.
Ordne jede Tätigkeit der Phase zu, in der sie stattfindet. Ziehe die Karten in die Felder oder tippe erst eine Karte und dann ein Feld an – eine Karte gehört zu keiner Phase.
Hilfe 1: Vorher oder nachher?
Vor dem Training müssen die Daten bereitliegen. Testen kann man erst, wenn das Modell trainiert ist.
Hilfe 2: Wofür sind die Testdaten?
Beim Testen wird geprüft, wie gut das Modell ist. Erst danach wird es für neue Personen eingesetzt.
Hilfe 3: Teillösung
In die Phase Training gehört „Trainingsdaten speichern“. In den Betrieb gehört „Shirtgröße für eine neue Schülerin vorhersagen“.
Merke: Phasen des maschinellen Lernens. In der Vorbereitung werden Daten gesammelt, mit Labeln versehen und aufgeteilt. Im Training lernt das Modell aus den Trainingsdaten – beim KNN-Algorithmus heißt das: Es speichert sie. Beim Testen prüft man mit den Testdaten, wie gut das Modell ist. Ist es gut genug, geht es in den produktiven Betrieb und klassifiziert neue Daten. Ist es nicht gut genug, geht es zurück zur Vorbereitung oder zum Training.
Zu klein oder zu groß?
Zu klein oder zu groß?
In Aufgabe 7 hat sich das Ergebnis mit k geändert. Hier untersuchst du, was passiert, wenn k sehr klein oder sehr groß ist.
Situation 1: Eine ungewöhnliche Trainingsperson
Zu den Trainingsdaten kommt eine Person hinzu: 179 cm Körpergröße, 100 cm Brustumfang – und sie trägt Größe S. Für die neue Person N(182|99) würde man nach ihrer Lage die Größe M erwarten.
Stelle k = 1 und k = 3 ein und vergleiche, welche Größe N jeweils bekommt. Kreuze dann an, welche Aussagen stimmen.
Anzahl k der nächsten Nachbarn
Hilfe 1: Eine Linie
Stelle k = 1 ein und verfolge die einzige Linie: Zu welchem Punkt führt sie?
Hilfe 2: Auszählung
Lies neben der Grafik ab, welche Größen bei k = 3 dazukommen.
Hilfe 3: Teillösung
Bei k = 1 führt die Linie zur S-Person bei 179|100. Bei k = 3 kommen zwei M-Punkte hinzu.
Situation 2: Sehr großes k
Hier siehst du wieder die 15 Trainingsdaten aus Aufgabe 7 – ohne die zusätzliche S-Person. Person A ist klein und schmal, Person B ist die Person aus Aufgabe 7 mit 183 cm und 106 cm.
Stelle k = 15 ein – so viele Nachbarn, wie es Trainingsdaten gibt – und wechsle zwischen Person A und Person B. Kreuze an, welche Aussagen stimmen.
Person
Anzahl k der nächsten Nachbarn
Hilfe 1: Alle zählen mit
Bei k = 15 führen Linien zu allen Trainingsdaten. Schau in der Auszählung, welche Größe vorne liegt.
Hilfe 2: Person wechseln
Wechsle bei k = 15 zwischen Person A und Person B. Ändert sich die Auszählung?
Hilfe 3: Teillösung
Bei k = 15 lautet die Auszählung für beide Personen: ○ S: 5 · △ M: 4 · □ L: 6.
Merke: k beeinflusst die Zuverlässigkeit. Ein Datenpunkt, dessen Label nicht zu den Datenpunkten in seiner Umgebung passt, heißt Ausreißer – wie die S-Person bei 179|100. Ist k zu klein, kann ein einzelner Ausreißer das Ergebnis bestimmen. Ist k zu groß, zählen auch weit entfernte Trainingsdaten mit; ist k so groß wie die Anzahl aller Trainingsdaten, wird immer die insgesamt häufigste Klasse vorhergesagt. Deshalb muss k systematisch gewählt werden – wie, zeigt Reiter 3.
k mit Validierungsdaten bestimmen
k mit Validierungsdaten bestimmen
Welches k ist das beste? Man probiert es an Datenpunkten aus, deren Label man kennt, die aber nicht zu den Trainingsdaten gehören.
Ein Beispiel aus dem Arbeitsheft
Der Punkt P(3,5|2) gehört nicht zu den Trainingsdaten, sein Label blau ist aber bekannt. Stelle k = 1, 3 und 5 ein und entscheide jeweils, ob das Modell P richtig klassifiziert.
Anzahl k der nächsten Nachbarn
| k = 1 | k = 3 | k = 5 |
|---|---|---|
Tippe ein Feld an, um zwischen – (offen), ✓ korrekt und ✗ falsch zu wechseln.
Hilfe 1: k = 1
Stelle k = 1 ein: Welches Label hat der Punkt, zu dem die Linie führt?
Hilfe 2: Vergleichen
Vergleiche bei jedem k die Mehrheit unter den Nachbarn mit dem bekannten Label blau.
Hilfe 3: Teillösung
Bei k = 1 ist der nächste Nachbar orange (3|2). Das Modell sagt orange – also falsch.
Wie teilt man die Daten auf?
- Trainingsdaten: Mit ihnen wird das Modell trainiert – beim KNN-Algorithmus werden sie gespeichert.
- Validierungsdaten: Mit ihnen wird das Modell abgestimmt, zum Beispiel der Wert für k. Der Punkt P war ein Validierungspunkt.
- Testdaten: Mit ihnen wird geprüft, wie gut das fertige Modell ist.
Das beste k für die Schulshirts
Das Schulshirt-Modell nutzt die 16 Trainingsdaten aus Reiter 2 mit der S-Person bei 179|100. Fünf weitere Personen mit bekannter Größe dienen als Validierungsdaten.
Wähle in der Grafik eine Validierungsperson und ein k. Trage in die offenen Felder ein, ob das Modell richtig klassifiziert.
Validierungsperson
Anzahl k der nächsten Nachbarn
| Person | Maße (cm) | Größe | k = 1 | k = 3 | k = 5 | k = 7 |
|---|
Tippe ein Feld an, um zwischen – (offen), ✓ korrekt und ✗ falsch zu wechseln.
Hilfe 1: Einstellen
Wähle in der Grafik die Validierungsperson aus der Zeile und das k aus der Spalte.
Hilfe 2: Vergleichen
Die Auszählung zeigt, welche Größe unter den Nachbarn die Mehrheit hat. Stimmt sie mit der Größe in der Tabelle überein, ist das Ergebnis korrekt.
Hilfe 3: Teillösung
Für V3 bei k = 1 führt die Linie zu einem L-Punkt (186|113), V3 trägt aber M – also falsch.
Welches k wählst du?
Begründen
Begründe mithilfe der Tabelle, welchen Wert für k du wählst.
0 von 600 Zeichen
Hinweis: Gib keine personenbezogenen Informationen ein. Deine Antwort wird zur automatischen Auswertung an den Skriptserver und dort an ein KI-System übertragen.
Merke: Hyperparameter und Validierungsdaten. k ist ein Hyperparameter: Er wird nicht aus den Trainingsdaten gelernt, sondern vorher festgelegt – wie die Baumtiefe in Aufgabe 4. Um k zu wählen, klassifiziert man die Validierungsdaten mit verschiedenen k und nimmt das k mit den meisten richtigen Ergebnissen. Die Validierungsdaten dienen nur der Wahl von k. Die Testdaten bleiben bis zum Schluss unberührt, damit der Test zeigt, wie gut das Modell mit unbekannten Daten zurechtkommt.
Das Modell testen
Das Modell testen
Das Modell mit den 16 Trainingsdaten und k = 3 aus Reiter 3 ist fertig. Jetzt klassifiziert es acht Testpersonen, deren Shirtgröße bekannt ist.
Trage die Ergebnisse in die Konfusionsmatrix ein und berechne die Genauigkeit.
| Testperson | Körpergröße x (cm) | Brustumfang y (cm) | erwartete Größe | berechnete Größe |
|---|
Wie in Aufgabe 3b: Die Zeilen zeigen das erwartete Label, die Spalten das berechnete Label.
| erwartet \ berechnet | S | M | L |
|---|
Hilfe 1: Ein Feld lesen
Lies wie in Aufgabe 3b zuerst die Zeile (erwartet) und dann die Spalte (berechnet).
Hilfe 2: Strichliste
Gehe die Testpersonen einzeln durch und zähle jede in dem Feld „erwartet …, berechnet …“. Am Ende stehen in der Matrix 8 Testpersonen.
Hilfe 3: Teillösung
T4 trägt tatsächlich M, das Modell berechnet S: Sie gehört in Zeile M, Spalte S. Das Feld „erwartet S, berechnet S“ enthält 2.
Merke: Konfusionsmatrix mit drei Klassen. Auch bei drei Klassen stehen in den Zeilen das erwartete und in den Spalten das berechnete Label. Die richtig klassifizierten Testdaten liegen auf der Diagonale, alle anderen Felder zeigen Verwechslungen – hier wurde je einmal M als S und L als M klassifiziert. Die Genauigkeit 6 : 8 = 75 % gilt nur für diese acht Testpersonen.
Daten als Fehlerquelle
Daten als Fehlerquelle
Nicht nur k beeinflusst, wie zuverlässig ein Modell ist, sondern auch die Daten selbst.
Fall 1: Ungleich verteilte Daten
Ein Modell wird nur mit diesen sechs Personen trainiert. Kreuze an, welche Aussagen stimmen.
| Nr. | Körpergröße (cm) | Brustumfang (cm) | Größe |
|---|
Hilfe 1: Zählen
Zähle, wie viele der sechs Trainingspersonen S tragen.
Hilfe 2: Höchstens wie viele M?
Wie viele M-Nachbarn kann es bei k = 3 höchstens geben?
Hilfe 3: Teillösung
Es gibt nur eine M-Person. Bei k = 3 sind also mindestens zwei der drei Nachbarn S.
Fall 2: Einseitige Daten
Ein KNN-Modell soll Wörter den Klassen Stadt, Land und Tier zuordnen. Die Trainingsdaten für die Klasse Stadt enthalten nur deutsche Städte: Berlin, Hamburg, München, Frankfurt, Dresden, Köln, Bremen, Düsseldorf, Leipzig und Passau. Gibt man „New York“ ein, antwortet das Modell: Land.
Hilfe 1: Bekannte Städte
Überlege, welche Beispiele für Städte das Modell kennt.
Hilfe 2: Ähnlichkeit
Ähnelt „New York“ einem der Trainingswörter für Stadt?
Hilfe 3: Teillösung
New York ähnelt keiner der deutschen Städte – das Modell hat nie eine internationale Stadt gesehen.
Fall 3: Merkmale mit unterschiedlichen Wertebereichen
Lebensmittel werden durch zwei Merkmale beschrieben: die Zuckermenge in 100 g (0 bis 100 g) und den Anteil am täglichen Kalorienbedarf (0 bis 1). Welches Lebensmittel ist dem Lebensmittel N am ähnlichsten?
| Lebensmittel | Zucker in 100 g | Anteil am täglichen Kalorienbedarf | Abstand zu N |
|---|---|---|---|
| N | 30 g | 0,20 | – |
| A | 32 g | 0,36 | 2,01 |
| B | 24 g | 0,21 | 6,00 |
Hilfe 1: Unterschiede
Vergleiche, wie stark sich A und B in jedem Merkmal von N unterscheiden.
Hilfe 2: Quadrate
Ein Unterschied von 2 g Zucker geht mit 2² = 4 in den Abstand ein, ein Unterschied von 0,16 beim Tagesbedarf nur mit 0,16² ≈ 0,03.
Hilfe 3: Teillösung
Obwohl A beim Tagesbedarf viel weiter von N entfernt ist als B, gilt A als nächster Nachbar.
Normieren
Man rechnet beide Merkmale auf denselben Bereich von 0 bis 1 um. Die Zuckermenge liegt zwischen 0 g und 100 g. Berechne, welchem Wert eine Zuckermenge von 75 g entspricht.
Hilfe 1: Bereich
Der kleinste Wert 0 g wird zu 0, der größte Wert 100 g wird zu 1.
Hilfe 2: Anteil
Überlege, welcher Anteil des Bereichs von 0 g bis 100 g bis 75 g reicht.
Hilfe 3: Teillösung
50 g liegen genau in der Mitte des Bereichs und werden zu 0,5.
Merke: Normierung. Liegen Merkmale in unterschiedlichen Wertebereichen, rechnet man sie vor der Abstandsberechnung in denselben Bereich von 0 bis 1 um. Für einen Wert x aus dem Bereich von min bis max gilt:
xnorm = (x − min) / (max − min)
Beispiel: (75 − 0) / (100 − 0) = 0,75. Normiert man die Zuckermengen im Rechenbeispiel, liegen N bei 0,30|0,20, A bei 0,32|0,36 und B bei 0,24|0,21. Dann gilt d(N, A) ≈ 0,16 und d(N, B) ≈ 0,06 – jetzt ist B der nächste Nachbar.
Für die Schnellen (freiwillig)
Für die Schnellen: Regression
Dieser Reiter ist freiwillig und kommt im Abschlussquiz nicht vor.
Bisher hat der KNN-Algorithmus eine Klasse vorhergesagt. Er kann aber auch eine Zahl vorhersagen: Für einen neuen x-Wert soll der passende y-Wert geschätzt werden. Bei mehreren Nachbarn bildet man dann den Mittelwert ihrer y-Werte.
Gesucht ist y für x = 3. Als Abstand zählt nur der Unterschied in x-Richtung. Bei k = 1 ist der nächste Nachbar C(2|2), die Vorhersage ist also y = 2.
Berechne die Vorhersage für x = 3 mit k = 3.
Hilfe 1: Abstände in x-Richtung
Hier zählt nur die x-Koordinate. Bestimme für A, B, C und D, wie weit ihr x-Wert von 3 entfernt ist.
Hilfe 2: Drei Nachbarn
Wähle die drei Punkte mit den kleinsten Abständen aus und notiere ihre y-Werte.
Hilfe 3: Teillösung
Die drei nächsten Nachbarn sind B, C und D mit den y-Werten 0,5, 2 und 6,5.
Merke: Regression mit dem KNN-Algorithmus. Bei einer Regression sagt man statt einer Klasse eine Zahl voraus, die Zielgröße. Der KNN-Algorithmus sucht dafür die k nächsten Nachbarn und bildet den Mittelwert ihrer Zielwerte. Beispiel: Für x = 3 und k = 3 ergibt sich y = (0,5 + 2 + 6,5) : 3 = 3.
Ausprobieren: Hauspreise schätzen
Mit demselben Verfahren kann man Hauspreise schätzen: Die unabhängige Größe ist die Wohnfläche, die Zielgröße der Preis. Die Daten sind ein ausgedachtes Beispiel.
Wähle eine Wohnfläche und ein k und beobachte, wie sich die Schätzung ändert – besonders bei 170 m² mit k = 5.
Wohnfläche
k
Abschlussquiz
Das Wichtigste sichern
- Beim Training speichert der KNN-Algorithmus nur die Trainingsdaten; gerechnet wird erst beim Klassifizieren.
- Phasen: Vorbereitung (Daten sammeln, mit Labeln versehen, aufteilen) → Training → Testen → produktiver Betrieb.
- Ist k zu klein, kann ein Ausreißer das Ergebnis bestimmen; ist k zu groß, zählen weit entfernte Trainingsdaten mit.
- k ist ein Hyperparameter. Man wählt ihn mit den Validierungsdaten; die Testdaten bleiben bis zum Schluss unberührt.
- Genauigkeit = richtig klassifizierte Testdaten : alle Testdaten. Die richtig klassifizierten stehen in der Konfusionsmatrix auf der Diagonale.
- Ungleich verteilte oder einseitige Trainingsdaten verzerren die Ergebnisse. Merkmale mit unterschiedlichen Wertebereichen normiert man: xnorm = (x − min) / (max − min).
Abschlussquiz
Kreuze alle richtigen Aussagen an. Bei manchen Fragen sind mehrere Antworten richtig.
0 von 6 Fragen vollständig richtig