In statistica, il clustering o analisi dei gruppi (dal termine inglese cluster analysis, introdotto da Robert Tryon nel 1939) è un insieme di tecniche di analisi multivariata dei dati volte alla selezione e raggruppamento di elementi omogenei in un insieme di dati.
Le tecniche di clustering si basano su misure di similarità tra gli elementi. In molti approcci tale similarità è concepita in termini di una distanza in uno spazio multidimensionale. La qualità dei raggruppamenti ottenuti dagli algoritmi di clustering dipende molto dalla scelta dello spazio di rappresentazione degli individui da raggruppare, ad esempio spazi metrici dotati di una distanza). Gli algoritmi di clustering possono raggruppare gli elementi sulla base della loro distanza reciproca, quindi l'appartenenza a un cluster dipende da una nozione di similarità dell'elemento rispetto al cluster.
Esistono varie classificazioni delle tecniche di clustering comunemente utilizzate. Una prima categorizzazione dipende dalla possibilità che uno stesso elemento possa o meno essere assegnato a più cluster:
Un'altra suddivisione delle tecniche di clustering tiene conto del tipo di algoritmo utilizzato per dividere lo spazio:
Queste due suddivisioni sono del tutto trasversali, e molti algoritmi nati come "esclusivi" sono stati in seguito adattati nel caso "non-esclusivo" e viceversa.
Gli algoritmi di clustering di questa famiglia creano una partizione delle osservazioni minimizzando una funzione di costo come la seguente:
dove è il numero dei cluster, è il -esimo cluster e è la funzione di costo associata al singolo cluster. L'algoritmo più famoso appartenente a questa famiglia è il k-means, proposto da MacQueen nel 1967. Un altro algoritmo abbastanza conosciuto appartenente a questa classe è il Partitioning Around Medoids (PAM).
Nel clustering spettrale si raggruppano i dati analizzando le loro connessioni (in una struttura di grafo). Gli algoritmi relativi si articolano in diversi passaggi: si parte da una matrice di adiacenza pesata di un grafo, dove ogni elemento misura quanto sono vicini e connessi due punti (es. tramite un kernel RBF); da questa si calcola la matrice laplaciana: , dove è la matrice dei gradi (la somma delle connessioni di ciascun nodo). Spesso se ne usa una versione normalizzata.; a si applica la decomposizione spettrale, proiettando i dati in uno spazio a dimensione inferiore in cui i cluster diventano linearmente separabili; infine si applica un algoritmo standard, come il K-Means, sui dati trasformati per assegnare le etichette finali.
Grazie alla riduzione non lineare della dimensionalità si riesce a separare i dati in cluster complessi, ad esempio concentrici o non lineari.
Le tecniche di clustering gerarchico non producono un partizionamento piatto dei punti, ma una rappresentazione gerarchica ad albero.

Questi algoritmi sono a loro volta divisi in due classi:
Una rappresentazione grafica del processo di clustering è fornita dal dendrogramma.
In entrambi i tipi di clustering gerarchico sono necessarie funzioni per selezionare la coppia di cluster da fondere ("agglomerativo"), oppure il cluster da dividere ("divisivo").
Nel primo caso, sono necessarie funzioni che misurino la similarità (o, indistintamente, la distanza) tra due cluster, in modo da fondere quelli più simili. Le funzioni utilizzate nel caso agglomerativo sono:
Nei casi precedenti, indica una qualsiasi funzione distanza su uno spazio metrico.
Invece nel clustering divisivo è necessario individuare il cluster da suddividere in due sottogruppi. Per questa ragione sono necessarie funzioni che misurino la compattezza del cluster, la densità o la sparsità dei punti assegnati ad un cluster. Le funzioni normalmente utilizzate nel caso divisivo sono:
Nel Clustering basato sulla densità, il raggruppamento avviene analizzando l'intorno di ogni punto dello spazio. In particolare, viene considerata la densità di punti in un intorno di raggio fissato.
Un esempio è il metodo DBSCAN.
Algoritmi di clustering molto popolari sono i seguenti:
Il QT (Quality Threshold) Clustering è un metodo alternativo di partizionare i dati, inventato per il clustering dei geni. Richiede più potenza di calcolo rispetto al K-Means, ma non richiede di specificare il numero di cluster a priori, e restituisce sempre lo stesso risultato quando si ripete diverse volte.
L'algoritmo è:
La distanza tra un punto ed un gruppo di punti è calcolata usando il concatenamento completo, cioè come la massima distanza dal punto di ciascun membro del gruppo (si veda il "Clustering gerarchico agglomerativo" sulla distanza tra i cluster nella sezione clustering gerarchico).
| Controllo di autorità | Thesaurus BNCF 43938 · LCCN (EN) sh85027250 · GND (DE) 4070044-6 · BNF (FR) cb12124521b (data) · J9U (EN, HE) 987007283912705171 |
|---|