K-Means Clustering

K-Means-Clustering-Labor

Interaktiver 2D-Clustering-Simulator mit Voronoi-Regionen, Zentroid-Updates und Inertia-Tracking.

K-Means partitioniert Daten in K Cluster, indem die quadratische Distanz innerhalb der Cluster (Inertia) minimiert wird.

$$ J = \sum_{i=1}^{N} \min_{1 \leq j \leq K} \left\lVert x_i - \mu_j \right\rVert^2 $$

Jedes Sample wird dem nächsten Zentroid zugeordnet, dann werden Zentroiden als Mittel der zugeordneten Samples neu berechnet.

Der Algorithmus wechselt zwischen zwei deterministischen Schritten:

$$ c_i \leftarrow \arg\min_j \lVert x_i - \mu_j \rVert^2 $$

$$ \mu_j \leftarrow \frac{1}{|C_j|}\sum_{x_i \in C_j} x_i $$

Inertia sinkt monoton bis zur Konvergenz zu einem lokalen Optimum.

Zufällige Initialisierung ist einfach, kann aber mit schlechten Seeds starten.

k-means++ verteilt initiale Zentroiden, was oft schnellere Konvergenz und geringere End-Inertia liefert.

In Produktion mehrere Läufe mit unterschiedlichen Seeds verwenden, um lokale-Minima-Empfindlichkeit zu reduzieren.

  1. Demopunkte laden und Random vs k-means++ Initialisierung vergleichen.
  2. Unterschiedliche K-Werte testen und Regionsgrenzen sowie Clusterzahlen prüfen.
  3. Mit Schritt einen Zuweisung/Update-Zyklus ansehen.
  4. Bis zur Konvergenz laufen lassen und End-Inertia vergleichen.

Klicke irgendwo auf die Leinwand, um Punkte hinzuzufügen. Langes Drücken auf Touch-Geräten oder Rechtsklick entfernt den nächsten Punkt.

Status
Punkte: 0
K: 3
Iteration: 0
Inertia: -
Zentroid-Verschiebung: -
Inertia-Kurve
Cluster-Zusammenfassung