Sunteți pe pagina 1din 85

Introducere n Data Mining

Analiza gruprilor: concepte de baz i algoritmi

Lucian Sasu, Ph.D.

Universitatea Transilvania din Braov, Facultatea de Matematic i Informatic

May 3, 2012

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 1 / 85


Outline

1 Generaliti

2 Algoritmul K-means

3 Clustering ierarhic aglomerativ

4 Algoritmul DBSCAN

5 Evaluarea clusterelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 2 / 85


Scop
Analiza gruprilor (eng: cluster analysis) divide datele n grupuri, pe
baza similaritilor sau a relaiilor dintre ele
datele din acelai cluster sunt similare ntre ele
datele din alte clustere ar trebui s aib similaritate mic cu cele din
clusterul curent

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 3 / 85


Scop

Domenii de utilizare:
tiine sociale
biologie
statistic
recunoatere de abloane (pattern recognition)
regsirea informaiei
analiza imaginilor
bioinformatic

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 4 / 85


Scopul analizei gruprilor

Prin clustering se ncearc obinerea de grupri care sunt:


semnicative: clusterele trebuie s surprind natura structural a
datelor
utile: sumarizarea unui volum mare de date, furnizare de explicaii
sau ambele

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 5 / 85


Clustering pentru facilizarea nelegerii

Scop: obinerea de clase de elemente, utile n analizarea i nelegerea


lumii nconjurtoare.
Exemple:
biologie: obinerea de taxonomii: regn, ncrengtur, clas, ordin,
familie, gen, specie;
bioinformatic: gruparea genelor i a proteinelor, presupuse a avea
funcionalitate similar
psihologie i medicin: boli sau stri au diferene minore; gruparea lor
e folosit pentru descoperirea de subcategorii e.g. diverse tipuri de
depresii
afaceri: gruparea clienilor n funcie de similaritile de achiziie i
realizarea de reclame particularizate pe grupuri de clieni

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 6 / 85


Clustering pentru scopuri utilitare

Permite abstractizare fa de datele care intr n cluster


Alternativ: clusterele se pot caracteriza deseori prin intermediul
prototurilor
Din acest punct de vedere clustering-ul este modalitatea de
determinare a celor mai reprezentativi centri de cluster
sumarizare: n loc de a considera datele de plecare, se poate lucra cu
centroizii clusterelor; rezultatele pot avea acuratee comparabil
compresie: pentru ecare cluster se consider centroidul lui; se obine
o aproximare bazat pe substituirea datei iniiale cu centroidul
clusterului de care aparine; se mai numete i vector quantization
gsirea ecient a celor mai apropiai vecini: n loc s se calculeze
distane ntre toate perechile de obiecte, se poate restriciona calculul
la doar obiectele din acelai cluster, sau clustere apropiate

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 7 / 85


Ce nu este analiza clusterelor?

Clasicare supervizat: clusteringul este de fapt nvare


nesupervizat
Segmentare simpl a datelor, precum gruparea studenilor dup prima
liter din nume
Partiionarea de grafuri: exist cteva elemente comune, dar
partiionarea de grafuri se face dup specicaii externe mai complexe
dect pentru clustering, sau subgrafurile obinute nu au o separare
considerabil

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 8 / 85


Ambiguitatea noiunii de cluster

n multe domenii noiunea de cluster nu e clar denit

Figure: Moduri de grupare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 9 / 85


Tipuri de clustering

Trei atribute ale unui proces de clustering:


1 ierarhic vs. partiional
2 exclusiv vs. cu suprapuneri vs. fuzzy
3 complet vs. parial

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 10 / 85


Clustering ierarhic vs. partiional

Gruparea poate cu imbricri (ierarhic) sau nu (partiional)


Clustering partiional: datele sunt mprite n subseturi fr
suprapuneri; ecare dat face parte din exact un cluster
Dac permitem ca un cluster s aib subclustere clustering ierarhic
ecare nod intern este reuniunea clusterelor reprezentate de nodurile
copil
se poate ajunge ca nodurile frunz s conin exact o nregistrare
o partiionare ierarhic poate vzut ca o secven de partiionri
aplicat pornind de la mulimea originar a datelor i grupnd succesiv
ecare partiie n parte; partiionarea poate fcut pn cnd se
ajunge la noduri cu un singur element sau se poate face retezare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 11 / 85


Clustering partiional

Figure: Clustering partiional


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 12 / 85
Clustering ierarhic

Figure: Clustering ierarhic


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 13 / 85
Clustering excluziv vs. cu suprapuneri vs. fuzzy

Excluziv vs non-excluziv:
excluziv: un punct aparine unui singur cluster
non-exclusiv (eng: overlapping): un punct poate asociat mai multor
clustere
utilitatea clusterelor neexclusive: pot reprezenta puncte ce aparin
simultan mai multor clase sau puncte apropiate de zona de separare
Fuzzy clustering: ecare obiect are o msur fuzzy de apartenen la
ecare cluster
clusterele devin mulimi fuzzy
clustere fuzzy pot convertite la unele de tip exclusiv prin alegerea
pentru ecare dat a acelui cluster pentru care msura fuzzy este mai
mare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 14 / 85


Clustering parial vs. complet

Clustering complet: ecare dat este asociat unui cluster


Clustering parial: pentru un obiect se poate s nu avem asignare la
un cluster

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 15 / 85


Tipuri de clustere

Bine separate
Bazate pe prototipuri
Bazate pe grafuri
Bazate pe densitate
Conceptuale

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 16 / 85


Clustere bine separate

n aceast viziune: un cluster este un set de puncte astfel nct orice


punct din cluster este mai aproape (sau mai similar) fa de orice
punct din acel cluster dect de puncte din afara lui
Deniia e respectat doar cnd datele sunt grupate grupate natural
n clustere care sunt deprtate unele de altele

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 17 / 85


Clustere bazate pe prototipuri

n aceast viziune: un cluster e o mulime cu proprietatea c un


obiect din cluster este mai apropiat/similar de/cu prototipul
clusterului dect cu alte prototipuri
Ca prototip: centroid sau medoid
medoid punct din setul de date iniial care e cel mai reprezentativ
pentru cluster
centroid e.g. centru de greutate; valoarea lui poate s nu coincid
cu niciunul din punctele din centroid

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 18 / 85


Clustere bazate pe grafuri

Util pentru date reprezentate ca graf; un cluster este un grup de


obiecte conectate
Exemplu: clustere bazate pe contiguitate: dou date sunt conectate
doar dac se a la o distan mai mic dect un prag impus
Posibile probleme: zgomotul poate crete clusterele n mod articial -
vezi clusterul cu albastru deschis

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 19 / 85


Clustere bazate pe densitate

n aceast viziune: un cluster este o zon dens nconjurat de zon


de densitate mic
Zonele de densitate mic separ pe cele cu densitate mare
Utilizate cnd clusterele sunt neregulate sau se nconjoar unele pe
altele sau cnd zgomotul i datele outlier sunt prezente

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 20 / 85


Clustere conceptuale

Clusterul este vzut ca un set de obiecte care partajeaz o proprietate


ce reiese din mulimea de puncte din cluster
Un algoritm de clustering de acest tip ar trebui s detecteze concepte

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 21 / 85


Outline

1 Generaliti

2 Algoritmul K-means

3 Clustering ierarhic aglomerativ

4 Algoritmul DBSCAN

5 Evaluarea clusterelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 22 / 85


Algoritmul K-means

Algoritm bazat pe prototipuri


Prototipul este un centroid
Tehnica se aplic pentru obiecte din spaiul continuu ndimensional
Cel mai popular algoritm de clustering
Variant nrudit: K-medoid centroidul este unul din punctele din
cluster

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 23 / 85


Paii algoritmului K-means

1 Se aleg K centroizi iniiali; K e parametru de intrare


2 Fiecare punct este asignat celui mai apropiat centroid
3 Fiecare colecie de puncte asignat unui centroid este un cluster
4 Centroidul este modicat pe baza punctelor din clusterul pe care l
reprezint
5 Se reia de la pasul 2 pn cnd nu se mai schimb poziia celor K
centroizi

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 24 / 85


Algoritmul K-means: pseudocod

Figure: Algoritmul K-means

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 25 / 85


Algoritmul K-means: observaii

Centroizii iniiali sunt cel mai des alei aleator


Centroidul este de regul media punctelor din cluster
Apropierea dintre punct i centroid se consider ca distan sau
similaritate
distan Euclidian, similaritatea cosinus, coecient de corelaie etc.
K-Means va converge pentru msurile de similaritate de mai sus
Convergena este rapid, apare dup relativ puine operaii
De multe ori condiia de oprire se schimb n: pn cnd relativ
puine puncte i schimb clusterul
Complexitatea este O(m K I d), unde m = numrul de puncte, K
= numrul de clustere, I = numrul de iteraii, d = dimensiunea
spaiului de intrare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 26 / 85


Algoritmul K-means: exemplicare

Figure: Exemplicare de iteraii pentru K-means. Punctele marcate cu cruce sunt


centroizii de la ecare pas. La nalizare (pasul d) centroizii se stabilizeaz.

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 27 / 85


Algoritmul K-means: observaii

Pasul 4 din algoritm este:


Recompute the centroid of each cluster
deoarece centroidul se poate modica
Modicarea poziiei centroidului duce la modicarea distanelor de la
punctele din cluster la centroid
Problema de clustering poate privit ca una n care funcia obiectiv
este de a minimiza suma ptratelor distanelor de la puncte la
centroizii clusterului din care fac parte
Funcia obiectiv este utilizat pentru msurarea calitii clusteringului

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 28 / 85


Algoritmul K-means: clusteringul ca problem de
optimizare
Funcia: suma ptratelor erorilor, orig: sum of squared error
(SSE), scatter
Notaii:
Simbol Descriere
x Un obiect
Ci Al ilea cluster
ci Centroidul clusterului i
c Centroidul tuturor punctelor
mi Numrul de obiecte din al ilea cluster
m numrul de obiecte din setul de date
K numrul de clustere presupuse
Formula:
X
K X
SSE = dist(ci , x)2 (1)
i=1 xCi
lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 29 / 85
Algoritmul K-means: clusteringul ca problem de
optimizare
Dac se formeaz clustere diferite atunci valoarea SSE poate diferi de
la caz la caz
Putem avea deci clustering optimal i suboptimal

Figure: Clustering optimal vs. suboptimal, relativ la funcia SSE.


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 30 / 85
Algoritmul K-means: clusteringul ca problem de
optimizare

Paii 3 i 4 din algoritm ncearc s minimizeze n mod direct SSE


Optimul care se obine poate unul local: se optimizeaz SSE pentru
anumite alegeri ale locaiilor centroizilor, nu pentru toate variantele

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 31 / 85


K-means: importana alegerii centroizilor iniiali
Centroizi iniiali alei inspirat

Figure: Clustering n care poziia centroizilor iniiali este aleas bine.


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 32 / 85
K-means: importana alegerii centroizilor iniiali
Clustere iniiale alese nefavorabil

Figure: Clustering n care poziia centroizilor iniiali este aleas nefavorabil.


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 33 / 85
Algoritmul K-means: clusteringul ca problem de
optimizare

K-means nu se reduce doar la date n spaiul Euclidian


Pentru cazul n care datele se refer la documente: obiectivul este
maximizarea similaritii ntre documentele din acelai cluster =
maximizarea coeziunii clusterului:
X
K X
Coeziunea total = cos(x, ci ) (2)
i=1 xCi

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 34 / 85


Algoritmul K-means: metode de reducere a impactului
negativ de alegere nefavorabil a centroizilor

Se ia un eantion de puncte i se aplic clustering ierarhic; centroizii


rezultai sunt apoi folosii ca i centroizi iniiali pentru K-means
clustering
Kmeans++ [1]
1 Se alege uniform un centru din datele iniiale
2 Pentru ecare punct x se calculeaz distana D(x) de la x la cel mai
apropiat centroid care a fost deja ales
3 Alege un punct aleator, cu probabilitatea proporional cu D 2 (x)
4 Repet paii 2 i 3 pn cnd s-au ales K centroizi
Bisecting K-means
Postprocesare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 35 / 85


Algoritmul K-means: problema clusterelor goale

Algoritmul originar poate duce la crearea de clustere goale


Cluster gol: niciun punct nu este alocat acelui cluster
Dac acest centroid este lsat aa, SSE crete mai mult dect e cazul
Soluii:
se renun la acest centroid, se alege un altul (e.g. cel mai ndeprtat
de oricare din ceilali centroizi)
se alege un centroid din clusterul care contribuie cel mai mult la
creterea valorii SSE
Dac sunt mai multe clustere goale, se procedeaz n mod repetat ca
mai sus

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 36 / 85


Algoritmul K-means: outliers

Datele de tip outlier inueneaz calculul centroizilor; acetia pot s


nu mai e reprezentativi
De regul se prefer eliminarea lor nainte de clustering
totui: valorile outlier pot corespunde unor date de interes major
Alternativ: se pot detecta i elimina outliers n faza de postprocesare:
se determin acele date care contribuie cel mai mult la creterea SSE
se formeaz clustere mici constnd n grupri de outliers

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 37 / 85


Algoritmul K-means: reducerea SSE prin postprocesare

Strategii:
clusterul care are valoarea SSE cea mai mare poate mprit n mai
multe subclustere
se introduce un nou centroid: cel mai deprtat punct fa de orice
cluster
dispersarea unui cluster: se ignor centroidul unui cluster, punctele din
el sunt reasignate altor clustere; se alege clusterul care produce
creterea maxim de SSE
unirea a dou clustere: clusterele cu cel mai apropiat centroid se unesc
i rezult unul singur

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 38 / 85


Algoritmul K-means: modicarea incremental a clusterelor

n varianta originar poziia centroizilor este calculat doar dup ce


punctele sunt asignate celor mai aproppaii centri
Variant: poziia centroidului s se calculeze dup ecare asignare a
unui punct la acel centroid
Avantaj: nu se ajunge la clustere vide
Se poate decide asignarea unui punct la un alt centroid doar dac
manevra duce la mbuntirea funciei obiectiv
Dezavantaj: algoritmul devine dependent de ordinea de prezentare a
datelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 39 / 85


Bisecting K-means
Se bazeaz pe mprirea succesiv a unui cluster n dou subclustere
Alegerea clusterului care se mparte se poate face dup mai multe
criterii: cel mai larg clsuter, cel care contribuie cel mai mult la SSE,
combinaie de aceste dou criterii
Pas opional: se aplic K-means cu centroizii obinui prin bisecting
K-means

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 40 / 85


Bisecting K-means: exemplu

Figure: Exemplu de aplicare a algoritmului bisecting K-means.

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 41 / 85


Limitri ale K-means

K-means ntmpin probleme cnd clusterele sunt de diferite


dimensiuni
densiti
forme, altceva dect cele circulare
K-means are probleme cnd datele prezint outliers

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 42 / 85


Limitri ale K-means: clustere de dimensiuni diferite

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 43 / 85


Limitri ale K-means: clustere de densiti diferite

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 44 / 85


Limitri ale K-means: clustere neglobulare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 45 / 85


K-means: puncte tari i slabe

Puncte tari:
simplu de implementat
ecient: se oprete dup puine iteraii
bisecting K-means, K-mean++: puin sensibile la problema iniializrii
clusterelor
Puncte slabe:
nu poate manipula date ce prezint grupuri non-globulare, de
dimensiuni sau densiti diferite
probleme la datele care conin outliers
algoritmul e restricionat la datele pentru care noiunea de centroid are
sens

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 46 / 85


K-means ca problem de optimizare

A se vedea [2], seciunea 8.2.6

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 47 / 85


Outline

1 Generaliti

2 Algoritmul K-means

3 Clustering ierarhic aglomerativ

4 Algoritmul DBSCAN

5 Evaluarea clusterelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 48 / 85


Clustering ierarhic

Produce un set de clustere imbricate organizate ca un arbore


Clusterele pot vizualizate sub forma unei dendrograme

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 49 / 85


Clustering ierarhic

Nu trebuie fcute presupuneri asupra numrului de clustere


se poate obine orice numr de clustere prin retezarea dendrogramei la
nivelul dorit
Pot corespunde unei taxonomii
exemplu: taxonomia din tiinele biologice

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 50 / 85


Clustering ierarhic

Dou tipuri de clustering ierarhic


Aglomerativ:
se pornete cu ecare punct ca i cluster
la ecare pas se unete cea mai apropiat pereche de clustere pn
rmn k clustere
Diviziv:
se pleac cu un cluster ce conine toate punctele
la ecare pas se divizeaz un cluster
se continu procesul pn cnd ecare cluster conine un punct, sau se
face retezare cnd se ajunge la k clustere

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 51 / 85


Clustering ierarhic aglomerativ

Tehnica este popular i cu vechime

Operaia esenial este calculul proximitii a dou clustere


Diferenele ntre algoritmii ierahici aglomerativi sunt date de modul
de calcul al proximitii

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 52 / 85


Clustering ierarhic aglomerativ: pornirea procesului

Se pornete cu clustere formate din cte un punct

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 53 / 85


Clustering ierarhic aglomerativ: starea intermediar

Dup cia pai avem cteva clustere

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 54 / 85


Clustering ierarhic aglomerativ: unirea de 2 clustere
Unim cele mai apropiate dou clustere C 2 i C 5 i modicm
matricea de proximitate

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 55 / 85


Clustering ierarhic aglomerativ: unirea de 2 clustere
Problem: cum se modic valorile din matricea de proximitate?

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 56 / 85


Clustering ierarhic aglomerativ: denirea similaritii ntre
clustere

MIN
MAX
Group average
Distana dintre centroizi
Alte metode bazate pe funcie obiectiv: e.g. metoda lui Ward
lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 57 / 85
Clustering ierarhic aglomerativ: MIN

Apropierea clusterelor este dat de distana minim dintre 2 puncte


din clustere

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 58 / 85


Clustering ierarhic aglomerativ: MAX

Apropierea clusterelor este dat de distana maxim dintre 2 puncte


din clustere

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 59 / 85


Clustering ierarhic aglomerativ: group average

Apropierea clusterelor este dat de distana medie dintre toate


perechile de puncte din clustere

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 60 / 85


Clustering ierarhic aglomerativ: complexitatea de timp i
spaiu

Complexitatea de memorie:
matricea de proximitate: simetric, dar cu numr iniial de elemente
O(m2 )
lista de clustere i apartenena punctelor la clustere: O(m), unde m e
numrul de clustere
Complexitate de timp:
Cutarea liniar a clusterelor proxime la iteraia i: O((m i + 1)2 ); n
total este complexitate de O(m3 )
Dac pentru ecare cluster se menine o list sortat (sau heap) a
clusterelor n funcie de proximitate, se reduce costul cutrii celui mai
apropiat cluster la O(m i + 1); mpreun cu costul meninerii listelor
sortate se ajunge la complexitate de timp O(m2 log m)

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 61 / 85


Clustering ierarhic aglomerativ: MIN

Numit i single link


Similaritatea a dou clustere este dat de distana celor mai apropiate
puncte din ele

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 62 / 85


Clustering ierarhic aglomerativ: MIN

Figure: In stnga: numerele de lng clustere reprezint ordinea de grupare.


Dendrograma asociat este n dreapta; cu ct o unire de clustere este mai jos, cu
att sa fcut mai devreme.

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 63 / 85


Clustering ierarhic aglomerativ: MIN

Aspect bun al algoritmului: poate manipula forme necirculare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 64 / 85


Clustering ierarhic aglomerativ: MIN

Limitri ale clusteringului ierarhic prin MIN: senzitivitate la zgomot i


outliers

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 65 / 85


Clustering ierarhic aglomerativ: MAX

Similaritatea a dou clustere este dat de cele mai distanate dou


puncte din ele

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 66 / 85


Clustering ierarhic aglomerativ: MAX

Punct tare: puin sensibil la zgomot i outliers


Puncte slabe:
tinde s evite crearea de clustere mari
tinde s creeze clustere circulare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 67 / 85


Clustering ierarhic aglomerativ: Group average

Proximitatea a dou clustere este dat de media proximitilor dintre


punctele din ele
P
proximitate(pi , pj )
pi clusteri ,pj clusterj
proximitate(clusteri , clusterj ) =
|clusteri | |clusterj |

numitorul este necesar pentru c altfel sar defavoriza clusterele mari

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 68 / 85


Clustering ierarhic aglomerativ: Group average

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 69 / 85


Clustering ierarhic aglomerativ: Group average

Parte bun: mai puin susceptibil la zgomot i outliers


Limitare: tinde s produc clustere globulare

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 70 / 85


Clustering ierarhic aglomerativ: metoda lui Ward

Metoda lui Ward: proximitatea a dou clustere e denit ca i


creterea erorii ptratice atunci cnd dou clustere sunt unite
Foarte similar cu metoda group average dac distana considerat
ntre puncte este luat ca ptratul distanei euclidiene
Mai puin susceptibil la zgomot i outliers
Are tendina de a produce clustere globulare
Poate utilizat pentru iniializarea centrilor de clustere n metoda
K-means

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 71 / 85


Clustering ierarhic aglomerativ: comparaie

Figure: Clusterele obinute de cele 4 metode difer


lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 72 / 85
Clustering ierarhic aglomerativ: probleme i limitri

Odat ce o decizie de unire de clustere este luat, nu se mai revine


Nu exist o funcie obiectiv care s e optimizat
Diferite forme de clustering ierarhic aglomerativ sufer de varii
probleme:
senzitivitate la zgomot i outliers
dicultate n manipularea de clustere cu dimensiuni diferite sau cu
forme neconvexe
tendina de spargere a clusterelor mari

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 73 / 85


Outline

1 Generaliti

2 Algoritmul K-means

3 Clustering ierarhic aglomerativ

4 Algoritmul DBSCAN

5 Evaluarea clusterelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 74 / 85


DBSCAN

Denumirea complet: Density-Based Spatial Clustering of


Applications with Noise
Se localizeaz regiuni de densitate mare care sunt separate prin zone
de densitate mic
Densitate: numrul de puncte de pe o raz specicat Eps, din jurul
unui punct inclusiv punctul respectiv
Valoarea Eps e critic: prea mult orice punct are sucieni vecini;
valoare prea mic densitatea n jurul majoritii punctelor va 1

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 75 / 85


DBSCAN

Deniie (Punct nucleu)


Un punct nucleua este un punct din setul iniial care are cel puin MinPts
vecini n jurul lui, la distan mai mic dect Eps
a
Engl: core point.

Deniie (Punct de frontier)


Un punct de frontiera este un punct din setul iniial care nu are MinPts
vecini n jurul lui, la distan mai mic dect Eps, dar este n vecintatea
unui punct nucleu.
a
Engl: border point.

Deniie (Punct zgomot)


Un punct zgomot e un punct care nu e nucleu sau de frontier.

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 76 / 85


DBSCAN: puncte nucleu, de frontier, zgomot

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 77 / 85


Algoritmul DBSCAN

Informal: oricare dou puncte nucleu care sunt sucient de apropiate


la distan nu mai mare de Eps sunt depuse n acelai cluster
Orice punct de frontier care e sucient de apropiat de un punct
nucleu este pus n acelai cluster ca punctul nucleu
Punctele zgomot sunt eliminate

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 78 / 85


DBSCAN: exemplu

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 79 / 85


DBSCAN: complexitate

Complexitatea de timp: pentru m puncte,


O(m timpul necesar pentru a contoriza puncte n raza Eps), deci
n cel mai ru caz O(m2 )
Pentru spaii cu puine dimensiuni, dac se folosete kd-tree, atunci
O(m log2 m)
Complexitatea de memorie: O(m), deoarece pentru ecare dat
trebuie meninut doar indicele clusterului i tipul de punct

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 80 / 85


DBSCAN: pri bune

Rezistent la zgomot
Poate obine clustere de forme i dimensiuni diferite

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 81 / 85


DBSCAN: pri slabe
Densiti neomogene
Date cu multe dimensiuni

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 82 / 85


Outline

1 Generaliti

2 Algoritmul K-means

3 Clustering ierarhic aglomerativ

4 Algoritmul DBSCAN

5 Evaluarea clusterelor

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 83 / 85


Evaluarea clusterelor

[2], seciunea 5.8

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 84 / 85


Bibliograe

Arthur, D. and Vassilvitskii, S., k-means++: the advantages of


careful seeding 2007, Proceedings of the eighteenth annual
ACM-SIAM symposium on Discrete algorithms, pp. 10271035
Pang-Ning Tan, Michael Steinbach, and Vipin Kumar: Introduction to
Data Mining, 2006, Addison-Wesley

lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 85 / 85

S-ar putea să vă placă și