Clustering Ierarhic

  • Upload
    dasn00p

  • View
    278

  • Download
    0

Embed Size (px)

Citation preview

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?