L’Analisi dei Cluster (Clustering) è un metodo di esplorazione dei dati che mira a suddividere un insieme di oggetti in gruppi (cluster) tali che gli oggetti nello stesso gruppo siano più simili tra loro rispetto a quelli di gruppi diversi. È una tecnica di apprendimento non supervisionato, poiché non richiede etichette predefinite.
Tipologie di Clustering
- Partizionale (es. K-means): Divide i dati in un numero K di gruppi fissato a priori, minimizzando la distanza tra gli elementi e il centroide del gruppo.
- Gerarchico: Crea una struttura a albero (dendrogramma) di gruppi nidificati. Può essere agglomerativo (dal basso verso l’alto) o divisivo (dall’alto verso il basso).
- Basato sulla Densità (es. DBSCAN): Identifica i cluster come aree ad alta densità di punti separate da aree a bassa densità. Ottimo per trovare cluster di forma irregolare e gestire gli outlier.
Funzioni obiettivo
K-means: minimizza la somma delle distanze quadratiche intra-cluster (Within-Cluster Sum of Squares, WCSS):
\text{WCSS} = \sum_{i=1}^{K} \sum_{\vec{x} \in C_i} \|\vec{x} - \vec{\mu}_i\|^2
L’algoritmo converge localmente; la scelta del numero di cluster K non è automatica.
DBSCAN: parametrizzato da \varepsilon (raggio di vicinato) e MinPts (numero minimo di punti per formare un core point). Un punto p è core se |\{q : d(p,q) \leq \varepsilon\}| \geq \text{MinPts}. I cluster si formano espandendo i core point. Punti non raggiungibili da nessun core sono classificati come outlier.
Selezione del numero di cluster
Per K-means, due metodi standard:
Metodo del gomito (elbow method): plottare WCSS al variare di K; il “gomito” della curva indica il K ottimale (decremento marginale di WCSS diventa piccolo).
Silhouette score: per ogni punto i, calcola s(i) = \frac{b(i) - a(i)}{\max(a(i), b(i))}, dove a(i) è la distanza media intra-cluster e b(i) quella al cluster più vicino. s \in [-1, 1]; valori vicini a 1 indicano buona assegnazione.
Misure di Distanza
Il concetto di “somiglianza” si basa su metriche di distanza, le più comuni sono:
- Distanza Euclidea (la più usata per dati continui).
- Distanza di Manhattan.
- Distanza di Coseno (usata per testi e vettori ad alta dimensionalità).
Significato Ingegneristico
- Segmentazione di Utenti/Clienti: Ingegneria gestionale e marketing analytics per raggruppare utenti con comportamenti di consumo simili.
- Rilevamento di Anomalie (Cybersecurity): Identificare attacchi informatici raggruppando il traffico di rete normale; ciò che cade “fuori” dai cluster consolidati è potenzialmente un’intrusione.
- Compressione Quantizzata: In ingegneria delle telecomunicazioni, il clustering è usato per la quantizzazione vettoriale di segnali audio e video.
- Geotecnica e Idrologia: Raggruppare bacini idrografici o campioni di suolo con proprietà idrauliche e meccaniche simili per semplificare la mappatura del territorio.
Vedi anche: Apprendimento Non Supervisionato, Analisi delle Componenti Principali, Algoritmo EM.