SHLUKOVÁNÍ David Zeman FIT VUT UIFS Získávání znalostí z databází
Obsah.Presentace Základy shlukování Typy dat Techniky shlukování Rozdělovací metody Hierarchické metody Metody založené na hustotě prvků Mřížkové metody
Definice.Problému Úkol: Cíl: Řešení: Rozdělení objektů do skupin Nalezení skupin Klasifikace – známe jednotlivé třídy Shlukování – neznáme příslušné třídy
Co.je.shlukování? Shlukování Shluk Proces sdružování dat do skupin na základě podobnosti Množina dat maximálně si podobných v rámci shluku a maximálně odlišných mezi shluky
Použití.Shlukování Praxe: Vědní obory: V běžném životě Business sféra – odlišení skupin zákazníků Lékařství – kategorizace genů Dolování dat Statistika Biologie Strojové učení Ekonomie
Typy.Dat Typy dat X11 … X1f … X1p Xi1 … Xif … Xip Doposud dva přístupy: Datová matice : n objektů X p proměnných X11 … X1f … X1p Xi1 … Xif … Xip Xn1 … Xnf … Xnp
Typy.Dat Matice odlišností : n objektů X n objektů d(2,1) 0 d(2,1) 0 d(3,1) d(2,2) 0 d(n,1) d(n,1) … 0 d(i,j) - vyjadřuje odlišnost objektů d(i,j) = d(j,i), d(i,i) = 0
Typy.Dat Intervalové proměnné Typicky: váha, výška, zeměpisná délka a šířka, teplota Závislost na volbě měřítka normalizace Normalizace snaha dát všem proměnným stejnou váhu Výpočet odlišnosti – využití geometrické reprezentace – je určena vzdáleností každého páru
Typy.Dat Intervalové proměnné Metriky pro měření vzdáleností Musí splňovat podmínky : d(i,j) ≥ 0 d(i,j) = d(j,i) d(i,i) = 0 d(i,j) ≤ d(i,h) + d(h,j)
Typy.Dat Intervalové proměnné Nejznámější metriky: Eukleidovská vzdálenost Manhattan vzdálenost Minkowského vzdálenost
Typy.Dat Binární proměnné Pouze dva stavy: 1 .. vlastnost je přítomna 0 .. vlastnost není přítomna Typ: Symetrické – stejná váha stavů Nesymetrické – rozdílné váhy
Typy.Dat Objekt j Binární proměnné 1 0 1 q r 0 s t Objekt j 1 0 1 q r 0 s t Objekt j Jaccardův koeficient: r + s q + r + s d(i,j) = Řada dalších: Michenerův, Sokalův, Russelův, Hammanův…
Typy.Dat Nominální proměnné - zobecněním binární proměnné - připouští více než dva stavy - nejjednodušší výpočet vzdálenosti: p - m p d(i,j) = p – počet proměnných m – počet shod
Typy.Dat Ordinální proměnné - podobné nominálním proměnným - opět vybíráme z množiny stavů - navíc existuje nějaké uspořádání na množině - provedeme normalizaci na interval <0..1> - převedeme na intervalovou proměnnou - použijeme libovolnou metriku pro intervalovou proměnnou
Typy.Dat Proměnné smíšených typů - v reálném světě objekty popsány proměnnými různých typů - dva přístupy: Udělat nad každým typem zvlášť Jedna shlukovací analýza bez ohledu na typ - u všech proměnných provedeme normalizaci na interval <0..1>
Typy.Dat Shrnutí Jsme tedy vždy schopni vyjádřit odlišnost mezi objekty, i když jsou objekty popsány proměnným různých typů
Shlukovací.metody Metody shlukovací analýzy Dělící metody Hierarchické metody Metody založené na hustotě Mřížkové metody Další metody…
Shlukovací.metody Dělící metody Cíl: Rozdělit n objektů do k shluků Princip: Dělení podle kriteria – podobnostní funkce Možnosti: Výpočet všech možných rozdělení Použití heuristik: K-Means – shluk je reprezentován těžištěm K-Medoids – shluk je reprezentován objektem nejblíže k těžišti
Shlukovací.metody Dělící metody Algoritmus : Vstup: Počet shluků k a databáze n objektů Výstup: k shluků Postup: Vyber k objektů jako středy shluků repeat přepočítej těžiště shluků přiřaď každý objekt do shluku na základě vzdálenosti od těžiště until Žádná_změna
Shlukovací.metody Dělící metody K-Means, K-Medoids algoritmy Ideální při výběru malého počtu shluků z velkého počtu objektů Málo odolná vzhledem k nekonzistentním vzorkům dat a šumu Nutnost volit počáteční počet shluků k Uplatnění: PAM Partitioning around Medoids CLARA Clustering LARge Applications CLARANS Clustering LARge Applications based upon RANdomized Search
Shlukovací.metody Metody shlukovací analýzy Dělící metody Hierarchické metody Metody založené na hustotě Mřížkové metody Další metody…
Shlukovací.metody Hierarchické metody Princip: Vytváření stromové struktury shluků Možnosti: Přístup aglomerativní Strategie bottom-up Každý objekt = 1 shluk Postupně slučujeme shluky dokud nejsou všechny objekty v jediném shluku nebo nejsou splněna kriteria ukončení (typicky: počet shluků) Naleží většina metod >> liší se pouze v porovnávání shluků
Shlukovací.metody Hierarchické metody Přístup divisivní Strategie top-down Všechny objekty v jediném shluku Postupně dělí shluky na menší dokud netvoří každý objekt jeden shluk nebo nejsou splněna kriteria ukončení Výpočet odlišnosti shluků: Minimální vzdálenost Maximální vzdálenost Střední vzdálenost Průměrná vzdálenost
Shlukovací.metody Hierarchické metody Hl. nevýhodou >> neschopnost úprav po již provedeném rozdělení nebo spojení shluků Pozn: Proto často spojené s dalšími shlukovacími technikami Uplatnění: CURE Clustering Using REpresentatives CHameleon A Hierarchical Clustering Alg. Using Dynamic Modeling BIRCH Balanced Iterative Reducing and Clustering Using Hierarachies
Shlukovací.metody Metody shlukovací analýzy Dělící metody Hierarchické metody Metody založené na hustotě Mřížkové metody Další metody…
Shlukovací.metody Metody založené na hustotě Princip: Shluky jsou formovány na základě hustoty objektů v oblasti Dva parametry: E – maximální rádius okolí MinPts – minimální počet prvků v okolí Jádro – objekt obsahující ve svém okolí vymezeném rádiusem nejméně MinPts objektů Objekt p se nazývá přímo dosažitelný z objektu q, jestliže p je v okolí q a q je jádrem
Shlukovací.metody Metody založené na hustotě Objekt p se nazývá dosažitelný z q, jestliže existuje posloupnost objektů p1..pn ,p1=p , pn=q a platí, že pi+1 je přímo dosažitelný z pi Objekty p a s nazveme propojené, jestliže existuje objekt q, a oba objekty p a s jsou dosažitelné z q Shluk je definován jako maximální možná množina propojených objektů Pozn: Pak každý objekt, který se nenachází ve nějakém shluku, je považován za šum
Shlukovací.metody Metody založené na hustotě Algoritmus Zkontroluje okolí každého bodu >> jestliže splňuje podmínku MinPts, vytvoří nový shluk Následně iterativně vytváří množiny přímo dosažitelných bodů z jednotlivých jader Končí v případě, že již nelze přidat žádný bod do libovolného shluku Uplatnění: DBSCAN Density-Based Spatial Clustering of Application with Noise OPTICS Ordering Points To Identify Clustering Structure DENCLUE DENsity-based CLUstering
Shlukovací.metody Metody shlukovací analýzy Dělící metody Hierarchické metody Metody založené na hustotě Mřížkové metody Další metody…
Shlukovací.metody Mřížkové metody Princip: Dělení objektů do multiúrovňové mřížkové datové struktury Dochází k dělení prostoru na konečný počet buněk. Všechny operace pracují nad mřížkovou strukturou tvořenou těmito buňkami Doba zpracování je nezávislá na počtu objektů je závislá na počtu buněk mřížkové struktury Rychlá doba zpracování
Shlukovací.metody Mřížkové metody Uplatnění: STING STatistical Information Grid pracuje se statistickými informacemi uloženými v mřížce WaveCluster Clustering Using Wavelet Transformation transformuje prostor použitím vlnkové transformace CLIQUE CLustering In QUEst využívá Apriori znalostí
Shlukovací.metody Metody shlukovací analýzy Dělící metody Hierarchické metody Metody založené na hustotě Mřížkové metody Další metody…
Shlukovací.metody Další metody Konceptuální shlukování Princip: Snaží se sestrojit klasifikační schéma, pro jednotlivé shluky vytváří charakteristický popis využívá klasifikačního stromu Metody neuronových sítí Princip: základem jsou neurony soutěžící o objekt na vstupu, vítězný neuron pak přenastaví váhy
Shrnutí To nejdůležitější Shluk je množina objektů podobných si navzájem v rámci shluků a odlišná mezi jednotlivými shluky Proces vytváření shluků je shlukování Kvalita shlukování je úměrná schopnostem porovnat odlišnosti jednotlivých objektů Umíme porovnat a změřit míru podobnosti objektů popsaných různými typy dat (intervalové, binární, … proměnné) Shlukování je významný nástroj při dolování dat Bylo vyvinuto mnoho algoritmů, které lze rozčlenit na Dělící, Hierarchické, Pracující s hustotou, Mřížkové … Velmi důležitá je: volba vstupních parametrů interpretace výsledků
Konec.Presentace Děkuji za pozornost