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.
- Demopunkte laden und Random vs k-means++ Initialisierung vergleichen.
- Unterschiedliche K-Werte testen und Regionsgrenzen sowie Clusterzahlen prüfen.
- Mit Schritt einen Zuweisung/Update-Zyklus ansehen.
- 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.