Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

k-Means-Algorithmus: Ablauf, Beispiel und Grenzen

k-Means teilt Datenpunkte in k Gruppen ein. Du übst Zuordnen und Aktualisieren und lernst, was Startpunkte, k und Ausreißer ändern.

0 von 11 Aufgaben gelöst

k-Means-Algorithmus: Ablauf, Beispiel und Grenzen

Kurz gesagt

k-Means teilt Objekte in eine vorher festgelegte Zahl k von Clustern ein, ohne dass Zielwerte bekannt sind. Er ordnet jeden Punkt dem nächsten Mittelpunkt zu und berechnet die Mittelpunkte dann als Mittelwerte neu. Das wiederholt er, bis sich die Zuordnungen nicht mehr ändern.

Ein Shop möchte Kunden mit ähnlichen Merkmalen finden, aber niemand kennt die Gruppen schon. Dafür wird k-Means häufig eingesetzt. Hier lernst du, wie der Algorithmus Schritt für Schritt arbeitet und wo er Fehler machen kann.

Deine Lernziele

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

3 Abschnitte

k-Means gehört zum unüberwachten Lernen. Das ist maschinelles Lernen ohne im Voraus bekannte Zielwerte. Es gibt also keine Musterlösung, an der sich der Algorithmus orientiert. Er sucht in den Daten selbst nach Gruppen von ähnlichen Objekten. Solche Gruppen heißen Cluster.

Eines musst du vorher festlegen: die Zahl k der Gruppen. Der Algorithmus bildet dann aus den Objekten genau k Cluster. Jedes Objekt gehört dabei zu genau einem Cluster. Das Ziel ist, dass die Summe der quadrierten Abweichungen von den Cluster-Mittelpunkten möglichst klein wird.

Die Objekte werden als Punkte dargestellt. Ihre Eigenschaften sind die Koordinaten der Punkte. k-Means rechnet mit Mittelwerten und braucht deshalb Zahlen. Kategorien wie „Auto“, „LKW“ und „Fahrrad“ gehen nicht, weil man daraus keinen Mittelwert bilden kann. Was die gefundenen Gruppen bedeuten, sagt der Algorithmus nicht. Das muss man danach separat untersuchen.

Definition

Cluster

Ein Cluster ist eine Gruppe von ähnlichen Objekten. Zeichnet man die Objekte als Punkte, bilden sie dort eine Punktwolke, in der sich Punkte anhäufen.

Beispiel: Musikkäufe von drei Personen

  1. 1Anteil der Musikstücke, die jede Person pro Monat online kauft (Pop, Rock, Jazz):
  2. 2Person 1: 2, 10, 3
  3. 3Person 2: 1, 8, 3
  4. 4Person 3: 8, 1, 1
  5. 5Man würde die Personen intuitiv in zwei Gruppen einteilen: Person 1 und 2 in die eine, Person 3 in die andere.
  6. 6So eindeutig ist das nur wegen der gewählten Werte. Bei näher beieinanderliegenden Werten und mehr Personen wird die Einteilung schwerer.

Teste dich

LeichtWas bedeutet es, dass k-Means ohne bekannte Zielwerte arbeitet?
MittelWelche Eigenschaft müssen die Attribute für k-Means haben?

Alles auf einen Blick

k-Means-Algorithmus

  • Ziel

    k-Means teilt Objekte ohne bekannte Zielwerte in k Cluster ein, k legst du vorher fest.

  • Zuordnen

    Jeder Punkt kommt zum nächstgelegenen Mittelpunkt.

  • Aktualisieren

    Der neue Mittelpunkt ist der Mittelwert aller Punkte im Cluster.

  • Ende

    Es wird wiederholt, bis sich die Zuordnungen nicht mehr ändern.

  • Startpunkte

    Das Ergebnis hängt stark von ihnen ab, darum mehrmals mit verschiedenen Startwerten starten.

  • Grenzen

    Ein ungeeignetes k und Ausreißer können das Ergebnis stark verändern.

Musteraufgabe · Schritt für Schritt

Sechs Punkte mit k = 2 clustern (ausgedachtes Beispiel)

  1. 1Ausgedachte Punkte auf der Zahlengeraden: 1, 2, 3, 9, 10, 11. Es gilt k = 2. Startmittelpunkte aus den Daten: m1 = 1 und m2 = 2.
  2. 2Runde 1, Zuordnen: Der Punkt 1 liegt bei m1 (Abstand 0). Der Punkt 2 liegt bei m2. Der Punkt 3 hat Abstand 2 zu m1 und 1 zu m2, also m2. Auch 9, 10 und 11 liegen näher an m2. Cluster A = {1}, Cluster B = {2, 3, 9, 10, 11}.
  3. 3Runde 1, Aktualisieren: m1 = 1. m2 = (2 + 3 + 9 + 10 + 11) : 5 = 35 : 5 = 7.
  4. 4Runde 2, Zuordnen mit m1 = 1 und m2 = 7: Der Punkt 1 gehört zu m1. Der Punkt 2 hat Abstand 1 zu m1 und 5 zu m2, also m1. Der Punkt 3 hat Abstand 2 zu m1 und 4 zu m2, also m1. Der Punkt 9 hat Abstand 8 zu m1 und 2 zu m2, also m2. Auch 10 und 11 gehören zu m2. Cluster A = {1, 2, 3}, Cluster B = {9, 10, 11}.
  5. 5Runde 2, Aktualisieren: m1 = (1 + 2 + 3) : 3 = 2. m2 = (9 + 10 + 11) : 3 = 10.
  6. 6Runde 3, Zuordnen mit m1 = 2 und m2 = 10: Der Punkt 3 hat Abstand 1 zu m1 und 7 zu m2. Der Punkt 9 hat Abstand 7 zu m1 und 1 zu m2. Alle Punkte bleiben im selben Cluster, die Zuordnung ändert sich nicht. Stopp.
  7. 7Ergebnis: {1, 2, 3} und {9, 10, 11}. Die Punkte 2 und 3 haben in Runde 2 den Cluster gewechselt.

Fehler finden

Prüfe die Schritte bei Punkten auf der Zahlengeraden (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 k-Means wird jeder Punkt dem Mittelpunkt zugeordnet. Beim Aktualisieren berechnet er den neuen Mittelpunkt als der Punkte im Cluster. Fehlerhafte Datenobjekte verschieben die Mittelpunkte .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: k-Means-Algorithmus

LeichtWer legt bei k-Means die Anzahl k der Cluster fest?
MittelZwei Cluster haben die Mittelpunkte 4 und 12. Zu welchem Cluster gehört der Punkt 7 bei der Zuordnung?
SchwerWelche Aussage über die Wahl von k stimmt?

Weiterlesen in Informatik