Nell'apprendimento automatico e nella statistica multivariata, le tecniche di clustering spettrale utilizzano lo spettro (gli autovalori) della matrice di similarità dei dati per effettuare la riduzione della dimensionalità prima di raggruppare i dati rappresentati usando un ridotto numero di dimensioni. La matrice da fornire in input deve contenere una valutazione quantitativa della similarità per ciascuna coppia di istanze nel dataset.

Definizioni Dato un insieme di istanze, la matrice di similarità corrisponde alla matrice delle adiacenze di un grafo pesato, con nodi corrispondenti alle istanze e archi pesati con le misure di similarità dei nodi collegati. Essa può essere definita come una matrice simmetrica , in cui per tutte le coppie di istanze genericamente indicate con gli indici e . L'approccio generale al clustering spettrale consiste nell'utilizzare un metodo di clustering standard fra i molti disponibili, come ad esempio k-means, applicato agli autovettori rilevanti di una matrice laplaciana di . Esistono molti modi diversi per definire una laplaciana , ognuno con una distinta interpretazione matematica cosicché anche il partizionamento risultante avrà interpretazioni diverse. Gli autovettori rilevanti sono quelli che corrispondono ai più piccoli autovalori di diversi da zero. Per una maggiore efficienza computazionale, tali autovettori vengono spesso calcolati come gli autovettori corrispondenti ai più grandi autovalori di una matrice calcolata in funzione di .

Matrice laplaciana

Il clustering spettrale è correlato alla partizione di un sistema di masse e molle come quello in figura, in cui ogni massa sia associata a un'istanza e ogni molla abbia una rigidità che corrisponde al peso dell'arco che collega due istanze, quantificandone la similarità. In particolare, si può mostrare che il problema agli autovalori che descrive le modalità di vibrazione trasversali di un sistema di masse e molle corrisponde proprio al problema agli autovalori sopra menzionato per una laplaciana di grafo definita come segue

,

dove è la matrice diagonale con

e è la matrice delle adiacenze del grafo.

Nel sistema fisico in figura, masse collegate strettamente dalle molle si muovono insieme dalla posizione di equilibrio nelle modalità di vibrazione a bassa frequenza, in modo che le componenti degli autovettori corrispondenti agli autovalori più piccoli della laplaciana di grafo possano essere utilizzate per raggruppare le masse in modo significativo. Ad esempio, supponendo che tutte le molle e le masse siano identiche nel sistema bidimensionale raffigurato, ci si aspetterebbe intuitivamente che, quando il sistema viene scosso, masse collegate in modo più lasco sul lato destro del sistema si muovano con ampiezza maggiore e nella direzione opposta rispetto alle altre masse. Tale aspettativa è confermata dall'analisi delle componenti degli autovettori della laplaciana del grafo corrispondenti agli autovalori più piccoli, ovvero alle frequenze di vibrazione più basse.

Normalizzazione della matrice laplaciana L'obiettivo della normalizzazione è quello di rendere unitari tutti gli elementi diagonali della matrice laplaciana, il che richiede quindi di scalare anche gli elementi della matrice al di fuori fuori della diagonale. In un grafo pesato, un nodo può avere un grado elevato a causa di un numero ridotto di archi connessi ma con pesi elevati, ma anche per un numero elevato di archi connessi con pesi unitari.

Una popolare tecnica di clustering spettrale è l'algoritmo dei tagli normalizzati o algoritmo di Shi-Malik introdotto da Jianbo Shi e Jitendra Malik, comunemente utilizzato per la segmentazione delle immagini. Esso partiziona le istanze in due insiemi in base all'autovettore corrispondente al secondo autovalore più piccolo della laplaciana normalizzata simmetrica definita come

Il vettore è anche l'autovettore corrispondente al secondo più grande autovalore della matrice di adiacenza normalizzata simmetrica

La laplaciana normalizzata a sinistra, detta anche della passeggiata aleatoria, può essere utilizzata per il clustering spettrale ed è definita come

Un algoritmo matematicamente equivalente a quello precedentemente descritto considera l'autovettore che corrisponde all'autovalore più grande della matrice di adiacenza normalizzata della passeggiata aleatoria .

L'autovettore della laplaciana normalizzata simmetrica e l'autovettore della laplaciana normalizzata a sinistra sono correlati dall'identità

Analisi dei cluster tramite embedding spettrale Data la matrice degli autovettori selezionati come sopra descritto, la mappatura, detta embedding spettrale, delle istanze originarie viene effettuata proiettandole su uno spazio vettoriale -dimensionale utilizzando le righe di . A questo punto basterà raggruppare i vettori in componenti, cosa può essere fatta in vari modi.

Nel caso più semplice (), l'autovettore singolo selezionato , detto vettore di Fiedler, corrisponde al secondo più piccolo autovalore della laplaciana. Utilizzando le componenti di , si possono associare tutte le istanze la cui componente in sia positiva all'insieme e il resto a , suddividendo così il grafo in due partizioni ed etichettando le istanze con due diverse etichette.

Tale approccio basato sul segno segue la spiegazione intuitiva del clustering spettrale tramite il modello masse-molle: nella modalità di vibrazione a bassa frequenza, rappresentata dal vettore di Fiedler , le istanze di un cluster identificate con masse fra loro fortemente connesse si muoverebbero insieme in una verta direzione, mentre nell'altro cluster le istanze identificate con le masse rimanenti si muoverebbero insieme nella direzione opposta.

Questo algoritmo può essere esteso per effettuare il clustering gerarchico: occorrerà continuare a partizionare ricorsivamente i sottoinsiemi nello stesso modo.

Nel caso generale è possibile utilizzare qualsiasi tecnica di clustering vettoriale come, ad esempio, DBSCAN.

Algoritmo L'algoritmo di base per il clustering spettrale può essere riassunto in quattro passaggi: Si calcola la laplaciana (anche in versione normalizzata); Si ottengono i primi autovettori (corrispondenti ai autovalori più piccoli di ); Considerata la matrice formata dai primi autovettori; la riga -esima definisce le feature del nodo del grafo; Si raggruppano i nodi del grafo in base a tali feature (ad esempio, utilizzando k-means).

Se la matrice di similarità non è già stata esplicitamente costruita, si può migliorare l'efficienza del clustering spettrale risolvendo il corrispondente problema agli autovalori senza manipolare esplicitamente, o addirittura senza calcolare tale matrice, come nell'algoritmo di Lanczos.

Per grafi di grandi dimensioni, il secondo autovalore della matrice laplaciana del grafo (normalizzata) è spesso mal condizionato, il che porta a una lenta convergenza degli algoritmi iterativi atti a determinare gli autovalori. Una tecnica utile ad accelerare la convergenza quella del precondizionamento, sfruttata, ad esempio, nel metodo LOBPCG. Il clustering spettrale è stato applicato con successo su grafi di grandi dimensioni identificando prima la struttura di comunità sottesa e poi partizionando le comunità identificate.

Il clustering spettrale è strettamente correlato alla riduzione non lineare della dimensionalità (detto anche manifold learning) e si possono utilizzare altre tecniche di riduzione come l'immersione localmente lineare per evitare errori dovuti al rumore o agli outlier.

Software Numerose librerie e software implementano il clustering spettrale. Tra i progetti open source si evidenziano: scikit-learn: utilizza ARPACK o LOBPCG con precondizionamento multigriglia; MLlib per il clustering pseudo-autovettoriale che usa il metodo di iterazione della potenza; R.

Note

Voci correlate

Analisi dei cluster Immersione localmente lineare Riduzione della dimensionalità

Categoria:Apprendimento automatico Categoria:Teoria dei grafi Categoria:Analisi dei cluster