2. DBSCAN single view: concetti di base
Idea di base:
◦ I cluster sono regioni ad alta densità
◦ I cluster sono separati da regioni a bassa densità
Perché clustering basato su densità?
◦ Algoritmo k-means e varianti inadeguati con clusters strutturati diversamente
3. DBSCAN single view: concetti di base [2]
Idea
◦ Ogni punto in un cluster è caratterizzato da una densità locale
◦ L’insieme dei punti in un cluster è connesso spazialmente
Densità locale
◦ Intorno
◦ MinPoints
◦ Numero minimo di punti richiesti in N(x)
Un oggetto q è un core-object se, dati e MinPts,
),(|)( yxdistDyxN
MinPtsN q )(
MinPts=5
4. DBSCAN single view: concetti di base [2]
p è raggiungibile da q
se
◦ q è un core-object
◦ p N(q)
Chiusura transitiva p connesso a q se
◦ Esiste o
◦ p e q sono raggiungibili da o
5. DBSCAN single view: concetti di base [3]
Clustering
◦ Partizione di D = [S1;…,Sn;N]
◦ S1;…,Sn clusters
◦ N outliers
Core
Bordo
Outlier
= 1cm
MinPts = 5
6. DBSCAN single view: concetti di base [4]
◦ Ogni oggetto in un cluster S è raggiungibile da un qualsiasi core-object
◦ Gli outliers non sono raggiungibili dai core-objects
◦ Passo 4: gli y raccolti tramite una serie di queries di neighborhood
1.FOR EACH xD
2. IF x non appartiene a nessun cluster
3. IF x è un core-object
4. Sx = {y| y raggiungibile da x}
ELSE
5. N = N {x}
7. DBSCAN multiview
Motivazioni
◦ Più viste dello stesso oggetto
◦ Restringere l’analisi su una singola vista
◦ Features spaces combinati sono difficile da costruire
Approccio [Clustering Multi-Represented Objects with Noise, Kailing et al]
◦ Utilizzare features spaces distinti per ogni vista
◦ Viste differenti possono utilizzare indici differenti
◦ Combinare i risultati delle diverse viste
◦ Unione
◦ Intersezione
8. DBSCAN multiview (“formalmente”)
Sia DB un database di n oggetti
◦ Ogni o ∈ DB ha m differenti viste, {R1(o), R2(o), ..., Rm(o)}
Per ogni vista esiste un local εi-neighborhood
◦ Viste differenti possono avere ε e funzioni distanza differenti
◦ MinPts è globale
9. DBSCAN multiview: unione
Utile per dati sparsi
◦ Molti cluster piccoli e tanto rumore
◦ In contesti single view rilassando ε “si risolve il problema”ma…BAD CLUSTERING!
Assegna gli oggetti allo stesso cluster se essi sono simili in almeno una vista
◦ È tutelata la separazione dei cluster ma si supera il problema sparsità
◦ Vincolo debole: area densa in almeno una vista
Union core object
◦ unire tutti i local εi-neighborhoods e verificare se ci sono abbastanza oggetti nel global
neighborhood (minPts globale)
10. DBSCAN multiview: intersezione
Utile per dati che contengono viste inaffidabili (cattive misurazioni)
Assegna gli oggetti allo stesso cluster se essi sono simili in tutte le vista
◦ Il clustering risultante è “puro” in tutte le viste
◦ Nessuna contaminazione da parte di altre viste (vedi unione)
Intersection core object
◦ Un oggetto deve essere un core object in tutte le viste
◦ ε locale, minPts globale
11. DBSCAN multiview: implementazione
Implementazione C++* (≈400 linee di codice implemetate)
◦ Interfaccia per implementare proprie funzioni distanza e similarità
◦ Import di matrici distanze o similarità (CSV file)
◦ Utilizzabile con un arbitrario numero di viste
◦ Unione e intersezione
◦ Veloce?: 70.644 test, 2 view 151^2 in circa 2 ore
Modifiche alla versione single viewhttp://codingplayground.blogspot.it/2009/11/dbscan-clustering-algorithm.html
https://github.com/ginofarisano/DBScanMultiview
12. Multiview versus singleview: datasets
Input
◦ Un dataset genomico di 151 soggetti con il cancro
◦ Due views: miRNA e miRNASeq
◦ 4 classi di pazienti note (Her2, Basal, LumA, LumB)
◦ Dati altamente correlati: media 0.84, sd 0.1
Purpose
◦ Identificare sottoclassi significative
◦ Più accurate strategie diagnostiche e terapeutiche
13. Multiview versus singleview: input
parameters
Funzione similarità utilizzata
◦ Correlazione di Pearson
Scelta dei parametri e MinPts
◦ Singleview: dataGrid con 0.4 =< <=0.98 (delta 0.01) e 4=<minPts<=25
◦ 1218 test
◦ Multiview: dataGrid con 0.4 =< 1, 2* <=0.98 (delta 0.01) e 4=<minPts<=25
◦ 70.644 test
14. Multiview versus singleview: result
analysis (post-processing)
Eliminazione dei cluster cattivi
◦ Vincoli imposti
◦ No cluster molto grandi (70%)
◦ No molto rumore (30%)
19. Multiview versus singleview: result
analysis (Angela’s and Gino’s index)
Metriche utilizzate
◦ Numero di cluster
◦ Correlazione intracluster
◦ Correlazione intercluster
◦ Rumore
Purpose
◦ Poco rumore
◦ tanti (>4) cluster
◦ compatti e poco correlati tra loro
Index=intra+(1-inter)+(#cluster/#cluster massimo osservazione)+(1-noise)
20. Multiview versus singleview: result
analysis (Angela’s and Gino’s index)
Union Versus Intersection
Più cluster per l’intersezione (unione: ottimi locali diventano ottimi globali)
• Il post-processing livella la qualità del clustering
21. Multiview versus singleview: result
analysis (Angela’s and Gino’s index)
Union Versus Intersection
MinPts bassi ottengono i risultati migliori (minPts alti->”poco supporto”->molto rumore)
22. Multiview versus singleview: result
analysis (Angela’s and Gino’s index)
BoxPlot Intersection
(minPts alti non sono sintetizzabili)
23. Multiview versus singleview: result
analysis (DB index)
Risultatati
◦ Andamento simile al nostro indice per eps e minPts
◦ Non esalta molto il numero di cluster come il nostro indice
◦ Variabile ma in genere migliore per cluster più grandi
Ulteriori considerazioni
◦ Sia per il nostro in indice che per DB risultati single view leggermente
migliori del multiview
25. Matrice di confusione per DB index
Risultato migliore per l’unione (miRNASeq)
◦ È il medesimo del single view! -> ottimo locale diventa ottimo globale
26. Conclusioni
Datasets non idonei per esaltare le qualità del DBScan multiview
Dati sparsi? NO
Cattive misurazioni? (NO?)
FINE