Clustering basato sulla densità I cluster sono regioni ad alta densità, separati da regioni a bassa densità Gianluca Moro - Introduzione al Data Mining 47 Algoritmi density-based Regioni dello spazio la cui densità stimata è alta contengono oggetti omogenei ! Algoritmo ! Calcola una stima di densità del dataset S per individuare concentrazioni di dati 2. Raggruppa in un unico cluster gli oggetti contenuti nella stessa regione, ad alta densità, connessa e massimale rispetto a un criterio 1. Gianluca Moro - Introduzione al Data Mining 48 Algoritmi density-based: DBSCAN (i) ! % = 1cm Tre tipi di oggetti MinPts = 5 " Core • q core point %Entro l’ipersfera (chiusa) di centro q e raggio % sono compresi MinPts oggetti " Border • p border point %non core, ma compreso entro l’ipersfera di centro q e raggio % per qualche core point q " Noise • Ogni altro oggetto Figura tratta da: Ester, M., Kriegel, H. P., Sander, J., Xu, X. (1996). A densitybased algorithm for discovering clusters in large spatial databases with noise. Proc. KDD 96. Gianluca Moro - Introduzione al Data Mining 49 Algoritmi density-based: DBSCAN (ii) ! un punto p è directly density-reachable da un punto q rispetto a % e a MinPts se: " p & N%(q) " |N%(q)| " MinPts (coreObject) la relazione è simmetrica per due coreObject, ma non per un core e un border ! un punto p è density-reachable da un punto q rispetto a % e a MinPts se: ! " c'è una catena di punti p1, !, pn con p1=p, pn=q, pi+1 directly density-reachable da pi " due punti border possono non essere density-reachable, ma deve esserci un punto core rispetto al quale entrambi devono esserlo Algoritmi density-based: DBSCAN (iii) un punto p è density-connected a un punto q rispetto a % e a MinPts se c'è un punto o tale che entrambi siano density reachable ! la relazione è simmetrica ! un cluster C è ! " un insieme di punti che siano density connected " massimale rispetto alla relazione di density reachability (i.e. se p & C e q è raggiungibile da p allora q & C) ! il rumore è costituito dai punti che non appartengono ad alcun cluster DBScan: esempio ! %=2cm ! MinPts =3 DBScan: esempio ! %=2cm ! MinPts =3 DBScan: esempio ! %=2cm ! MinPts =3 DBScan: esempio ! %=2cm ! MinPts =3 DBScan: esempio ! %=2cm ! MinPts =3 DBScan: esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! %=2cm ! MinPts =3 DBSCAN: Esempio ! ! ! ! Algoritmo DBSCAN Input: Intero MinPts, reale r Etichetta ogni oggetto come non visitato Ripeti finché sono disponibili oggetti in input " Leggi un nuovo oggetto e memorizzalo in p " Crea cluster con p " Invoca una procedura di espansione che include nel cluster ogni oggetto q tale che (p,q) sia nella chiusura transitiva della raggiungibilità diretta da p ! Etichetta ogni oggetto non in un cluster come Noise point Gianluca Moro - Introduzione al Data Mining Figura tratta da: Ester, M., Kriegel, H. P., Sander, J., Xu, X. (1996). A density-based algorithm for discovering clusters in large spatial databases with noise. Proc. KDD 96. Algoritmi density-based: DBSCAN (pseudocodice) 66 Algoritmi density-based: DBSCAN (iv) ! Pregi " Distingue il rumore dai cluster " Riconosce cluster di forma arbitraria ! Difetti " Complessità: nel caso peggiore è O(n2), pertanto non è scalabile • Ma utilizzando opportuni metodi di accesso multidimensionale ha comportamento O(n log n) " Comportamento sensibile ai valori dei parametri " Fragile quando la densità varia molto da cluster a cluster Gianluca Moro - Introduzione al Data Mining 67 Algoritmi basati su Kernel Density Estimation Data Set Influence Function Density Function Influence Function: influenza di un punto nel suo vicinato Density Function: somma delle influenze di tutti i punti Density Attractor: massimi locali della density function Gianluca Moro - Introduzione al Data Mining 68 Kernel Density Estimation ! Influence Function " L'influenza è modellata da una funzione Kernel Density Estimation ! Density Function ! La densità in un punto x è definita come la somma delle influenze di tutti i punti dati G. Moro, DEIS - Univ. Bologna - Introduzione al Data Mining 69 DENCLUE: algoritmo KDEbased (i) Generalizza i metodi partitivi, gerarchici e basati sulla località ! Prestazioni superiori in database con piú di 10 dimensioni (fattore di qualche decina rispetto a DBSCAN) e con grandi quantità di rumore (50%), caratteristiche dei database multimediali ! Applica il clustering solo alle regioni piú densamente popolate ! Basato sugli attrattori di densità, ovvero massimi locali della funzione densità ! Complessità O(n log n) nel caso peggiore. Sperimentalmente si osservano prestazioni molto superiori ! Gianluca Moro - Introduzione al Data Mining 70 DENCLUE (ii) ! Lo stimatore kernel è definito da N ˆf ( x) = 1 K ! Nh i =1 ! ( ) x" X i h K è una funzione (kernel) che soddisfa " ! K ( x)dx = 1 #" ! Il parametro h (ampiezza di finestra, smoothing) determina la regolarità della stima Gianluca Moro - Introduzione al Data Mining 71 DENCLUE (iii) ! ! ! ! Algoritmo DENCLUE (semplificato) Input: funzione kernel K, reale ' Calcola la stima di densità kernel con K Ripeti finché sono disponibili oggetti in input " Leggi oggetto e memorizzalo in x " Traccia la curva di massima " " " " pendenza nel grafico della stima, da x a un massimo locale Associa x al massimo locale Per ogni massimo locale, raccogli in un unico cluster tutti gli oggetti associati al massimo locale Elimina i cluster determinati da un massimo locale con densità inferiore a' Unisci i cluster i cui massimi locali possone essere collegati da un percorso con stima non inferiore ' Gianluca Moro - Introduzione al Data Mining 72 KDE: esempi di cluster di forma arbitraria (i) Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD 1998: 58-65 Gianluca Moro - Introduzione al Data Mining 73 KDE: esempi di cluster di forma arbitraria (ii) Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD 1998: 58-65 Gianluca Moro - Introduzione al Data Mining 74 DENCLUE: pregi e difetti Pregi Figura da: Alexander Hinneburg, Daniel A. Keim: An efficient approach to clustering in large multimedia databases with noise. KDD 1998: 58-65 ! " Efficienza " Solida base matematica " Generalizza altri metodi " Considera solo le regioni dello spazio popolate " Prestazioni elevate ! Difetti " Elevato numero di parametri " Curse of dimensionality Gianluca Moro - Introduzione al Data Mining 75