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
sau ambele
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
5 / 85
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
7 / 85
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
Tipuri de clustering
ierarhic vs. partiional exclusiv vs. cu suprapuneri vs. fuzzy complet vs. parial
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
10 / 85
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
Clustering ierarhic
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 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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
16 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
17 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
18 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
19 / 85
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
25 / 85
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
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
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
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
(1)
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 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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
35 / 85
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
37 / 85
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
41 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
42 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
43 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
44 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
45 / 85
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
50 / 85
Clustering ierarhic
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
53 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
54 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
55 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
56 / 85
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
Apropierea clusterelor este dat de distana minim dintre 2 puncte din clustere
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
58 / 85
Apropierea clusterelor este dat de distana maxim dintre 2 puncte din clustere
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
59 / 85
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
62 / 85
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
64 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
65 / 85
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
67 / 85
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 |
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
68 / 85
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
69 / 85
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
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
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
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
lucian.sasu@ieee.org (UNITBV)
Curs 8
May 3, 2012
81 / 85
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
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