Clustering basato sulla densità Algoritmi density

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