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

Generaliti Algoritmul K-means Clustering ierarhic aglomerativ Algoritmul DBSCAN 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 2 3

ierarhic vs. partiional exclusiv vs. cu suprapuneri vs. fuzzy 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

Generaliti Algoritmul K-means Clustering ierarhic aglomerativ Algoritmul DBSCAN 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 2 3 4

Se aleg K centroizi iniiali; K e parametru de intrare Fiecare punct este asignat celui mai apropiat centroid Fiecare colecie de puncte asignat unui centroid este un cluster Centroidul este modicat pe baza punctelor din clusterul pe care l reprezint 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 x Ci ci c mi m K Formula: SSE =
i =1 xCi
lucian.sasu@ieee.org (UNITBV) Curs 8 May 3, 2012 29 / 85

Descriere Un obiect Al i lea cluster Centroidul clusterului i Centroidul tuturor punctelor Numrul de obiecte din al i lea cluster numrul de obiecte din setul de date numrul de clustere presupuse
K

dist (ci , x)2

(1)

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:
K

Coeziunea total =
i =1 xCi

cos(x, ci )

(2)

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 2

3 4

Se alege uniform un centru din datele iniiale Pentru ecare punct x se calculeaz distana D (x) de la x la cel mai apropiat centroid care a fost deja ales Alege un punct aleator, cu probabilitatea proporional cu D 2 (x) 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

Generaliti Algoritmul K-means Clustering ierarhic aglomerativ Algoritmul DBSCAN 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 (m 2 ) 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 proximitate (pi , pj ) proximitate (clusteri , clusterj ) =
pi clusteri ,pj 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

Generaliti Algoritmul K-means Clustering ierarhic aglomerativ Algoritmul DBSCAN 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

Generaliti Algoritmul K-means Clustering ierarhic aglomerativ Algoritmul DBSCAN 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