Download - Clustering Ierarhic
Clustering ierarhicBogdan Ivacu (SSA) Mircea Lupacu (SSA)
Cuprins Despre clustering Clustering ierarhic Aglomerativ Diviziv
Algoritmi de clustering ierarhic Exemple
Complexitate Optimizri Implementri Concluzii
Ce nseamn clustering? Tehnic de nvare nesupervizat, folosit pentru organizarea obiectelor similare n grupuri
Cluster = mulime de obiecte asemntoare ntre ele i diferite de cele ale altui cluster
La ce se folosete? Probleme rezolvabile prin clustering Data reduction Natural clusters Useful clusters Outlier detection
Aplicaii Marketing Biologie Asigurri Internet
Clustering ierarhic Gruparea obiectelor in mod iterativ, utiliznd o anumit legatur linkage Single linkage d(Ci, Cj) = min{d(xip, xjq)}
Complete linkage d(Ci, Cj) = max{d(xip, xjq)}
Average linkage d(Ci, Cj) = avg{d(xip, xjq)}
Centroid linkage Ward linkage
Tipuri de clustering ierarhic Clustering aglomerativ Se ncepe cu puncte considerate clustere individuale La fiecare pas, se unete cea mai apropiat pereche de clustere pn cnd rmne un singur cluster
Clustering diviziv Se pornete cu un singur cluster, ce conine toate punctele La fiecare pas se divizeaz un cluster pn cnd fiecare cluster conine un singur punct
Clustering ierarhic (1)Step 0 Step 1 Step 2 Step 3 Step 4
Agglomerative
a b
ab
abcdecde de
cd eStep 4Step 3 Step 2
DivisiveStep 1 Step 0
Dendograma Diagram bidimensional care ilustreaz fuziunile sau divizrile din fiecare pas
Avantaje & dezavantaje Avantaje: genereaz o ierarhie, o structur informativ care poate fi uor vizualizat nu este necesar s fie setat numrul de clustere metod determinist de clustering
Dezavantaje: unirea sau divizarea clusterelor nu poate fi anulat deciziile greite pot duce la clustere de calitate redus
Clustering aglomerativ Abordare bottom-up Cea mai popular metod de clustering ierarhic Algoritm:Compute the distance matrix between the input data points Let each data point be a cluster Repeat Merge the two closest clusters Update the distance matrix Until only a single cluster remains
Operaia de baz: calculul distanei dintre clustere
Exemplu CA single linkageBABA 0
FI 0
MI
NA RM
TO996
662 877 255 412
FIMI NA TO
662
295 468 2680 754 564 0 219 0
400138 869 669 0
877 295
255 468 754
RM 412 268 564 219
996 400 138 869 669
Pas 1
Pas 2
Pas 3
Pas 4
Clustering diviziv Abordare top-down Algoritmi computaional intensivi, mai puin utilizai dect cei aglomerativi Algoritm:Put all objects in one cluster Repeat Choose a cluster to split Replace the chosen cluster with the sub-clusters Until all clusters are singletons
Diverse metode de split
Metoda monotetic se ia n calcul o singur variabil - Nearest result Metoda politetic se iau n calcul toate variabilele clusterului Cut
Folosirea metodei nearest result
Folosirea metodei cut (1) Se taie cluster-ul iniial rezultnd dou clustere distincte
Folosirea metodei cut (2) Se taie nc o dat clusterul mai mare, rezultnd 3 clustere distincte
Folosirea metodei cut (3) Algoritmul se poate opri n momentul n care exist 3 clustere distincte Daca se vrea, se poate continua pn cnd fiecare cluster conine un singur punct (singleton)
Optimizare cut-based Se prefer slbilrea legturilor dintre obiecte din clustere diferite Se calculeaz costul unei tieturi pe baza similaritilor interne i externe Se folosete o anumit euristic Optimizare min-max a tieturilor se alege clustering-ul cu costul optim
Clustering diviziv VS K-means Similariti: Numrul de clustere, k, poate fi ales la nceput Un cluster iniial trebuie ales (posibil random) Se poate mbunti iterativ
Diferene: Algoritmul de tiere min-max minimizeaz costul tieturilor K-means maximizeaz similaritile dintr-un singur cluster (nu ia n calcul costul tieturilor)
Complexitate clustering ierarhic Pentru un set de date X format din n puncte Complexitate spaial: O(n2) Pentru stocarea matricei de distane
Complexitate temporal: O(n3) n pai, la fiecare pas se parcurge i actualizeaz matricea de distane de dimensiune n2 Complexitatea poate fi redus la O(n2 log(n) ) folosind structuri de date adecvate (heap)
Optimizri Variante ale clustering-ului ierarhic: BIRCH: se folosete un arbore de caracteristici i se ajusteaz incremental calitatea sub-clusterelor; uor scalabil pentru seturi mari de date ROCK: se utilizeaz un clustering pe baz de categorii, analiznd vecinii i legturile; nu este sensibil la zgomot i la puncte izolate CHAMELEON: clustering ierarhic folosind modelare dinamic, ce integreaz metoda ierarhic cu alte metode de clustering
Implementri clustering ierarhic MATLAB Gsirea similaritilor ntre fiecare pereche de obiecte din setul de date Gruparea obiectelor ntr-un arbore binar de clustering ierarhic Determinarea tieturilor pentru a mpri arborele ierarhic n clustere Parallel computing speed-up 48x (fa de Intel Pentium CPU)
CUDA/GPU Limbajul R
Statistici i analiz Metode de bibliotec hclust()
Concluzii Metod determinist de clustering Proces iterativ 2 abordri Clustering aglomerativ Clustering diviziv
Complexitate O(n3) n general Util n diverse domenii Statistic Reelistic
Bibliografie D.T. Larose. An Introduction to Data Mining, Wiley. 2004 Ke Chen. Hierarchical Clustering, University of Manchester. 2007 Johan Everts. Clustering Algorithms, Rijksuniversiteit Groningen. 2008 H. Fang, Y. Saad. Farthest Centroids Divisive Clustering, University of Minnesota. 2008 Y. Zhao, G. Karypis. Comparison of Agglomerative and Partitional Document Clustering Algorithms, University of Minnesota. 2008 G. Karypis, E.H. Han, V. Kumar. Chameleon: A hierarchical clustering algorithm using dynamic modeling.,IEEE Computer. 1999 S. Guha, R. Rastogi, K. Shim. ROCK: a robust clustering algorithm for categorical attributes, In Proc. of the 15th Intl Conf. on Data Eng. 1999 D. Chang, M. Ouyang. Hierarchical clustering with CUDA/GPU, University of Louisville. 2009
Intrebri?