Laboratorio di clustering K-Means
Simulatore interattivo 2D con regioni di Voronoi, aggiornamento dei centroidi e tracciamento dell inerzia.
K-Means partiziona i dati in K cluster minimizzando la distanza quadratica intra-cluster (inerzia).
$$ J = \sum_{i=1}^{N} \min_{1 \leq j \leq K} \left\lVert x_i - \mu_j \right\rVert^2 $$
Ogni campione e assegnato al centroide piu vicino, poi i centroidi sono ricalcolati come media dei campioni assegnati.
L algoritmo alterna due passi deterministici:
$$ 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 $$
L inerzia diminuisce in modo monotono fino alla convergenza a un ottimo locale.
L inizializzazione casuale e semplice ma puo partire da semi scadenti.
k-means++ distribuisce i centroidi iniziali, spesso ottenendo convergenza piu rapida e inerzia finale piu bassa.
In produzione usa piu run con semi diversi per ridurre la sensibilita ai minimi locali.
- Carica punti demo, poi confronta Random vs k-means++.
- Prova diversi valori di K e osserva confini e dimensioni dei cluster.
- Usa Step per vedere un ciclo di assegnazione/aggiornamento alla volta.
- Esegui fino alla convergenza e confronta i valori finali di inerzia tra le impostazioni.
Clicca sulla canvas per aggiungere punti. Su touch fai pressione prolungata o clic destro per rimuovere il punto piu vicino.