Metody analýzy dat II Detekce komunit MADII 2018/19 1
Zachary s club, Collaboration network in Santa Fe Institute, Lusseau s network of Bottlenose Dolphins 2
Web Pages, Overlaping communities of word associations
Komunity Sociální (i další) sítě mají přirozenou komunitní strukturu Biologické sítě: např. proteiny, které se podílejí na stejné nemoci, se vzájemně ovlivňují Sociální sítě: např. skupiny osob se stejným koníčkem, komunity vědců pracujících na podobném tématu, Chceme zjistit zda má síť komunitní strukturu a pak např. konkrétní velikost komunity, určit počet komunit příslušnost vrcholů ke komunitě MADII 2018/19 5
Komunity Sítě se přirozeně dělí na komunity, skupiny vrcholů. Komunity neformální definice skupiny vrcholů, mezi kterými jsou spojení hustá (dense), ale mezi jednotlivými komunitami jsou spojení řídká (sparse) skupiny vrcholů, které mají vyšší pravděpodobnost vzájemného propojení než je pst propojení s vrcholy z jiných komunit komunita je v síti lokálně hustý souvislý podgraf grafu (sítě) komunity jsou skupiny navzájem podobných vrcholů. MADII 2018/19 6
Komunity Žádná exaktní a všeobecně akceptovaná definice neexistuje Možná interpretace hustý je graf G když m=o(n 2 ), G={V,E}, V =n, G =m řídký je graf G když m=o(n) Detekce komunit je snadná pouze v případě řídkých grafů, tj. pokud počet hran m je v řádu počtu uzlů n grafu. Pokud m >> n, rozdělení hran mezi uzly je příliš homogenní a dostáváme se spíše k problému klasického shlukování na základě podobnosti. MADII 2018/19 7
Komunity Kliky a jim podobné struktury Souvislé komponenty Slabé a silné komunity (viz přednáška o Community Network Models http://homel.vsb.cz/~kud007/lectures/madii 04.pdf ) A strukturálně mnohem složitější skupiny vrcholů MADII 2018/19 8
Přístupy Mnoho různých přístupů Např. spektrální metody (spectral bisection) Metody používající kliky nebo podobné podgrafy (např. CPM) Metody založené na heuristikách (jako je např. modularita) grafové shlukování Obecně je lze rozdělit na metody, které určují skupiny vrcholů shora dolů zdola nahoru nepřekrývající se komunity překrývající se komunity MADII 2018/19 9
Metody zdola nahoru V jistém smyslu jsou všechny sítě tvořeny skupinami vrcholů (resp. podgrafy). Každá hrana spojuje dva vrcholy, tj. tvoří skupinu (podgraf) tzv. dyádu, K 2. O struktuře sítě vzhledem ke skupinám vrcholů můžeme přemýšlet tak, že se budeme snažit zjistit, jak daleko lze tento druh blízkého vztahu rozšířit (propagovat) např. z K 2 na K 3 atd. Celou síť tedy můžeme zkoumat např. vzhledem k velikosti různých klik, klikám podobných struktur, jejich překryvům apod. Tento přístup k myšlení o dílčích strukturách sítí se snaží odkrýt, jak může vzniknout makrostruktura z mikrostruktur. Nejprve se zaměří na jednotlivce a zkoumá jak jsou zakotveni v překrývajících se skupinách, ze kterých vzniknou větší struktury. MADII 2018/19 10
Metody shora dolů Přístupy tohoto typu mají tendenci dívat se na celé" sítě a identifikovat podsítě jako součásti, které jsou lokálně hustšími sítěmi. Tento pohled shora může např. hledat slabá místa v celé síti nebo soudržnost sítě. Slabá místa mohou vést k rozdělení sítě na podsítě. MADII 2018/19 11
Komunity Co oovlivňuje soudržnost skupiny vrcholů?: Vzájemná propojení - každý vrchol ve skupině vrcholů má vazby na ostatní vrcholy (přísné, splňuje jen klika) Kompaktnost malá vzdálenost vrcholů ve skupině, dosažitelnost vrcholů v malém počtu kroků (ne nutně sousedních) Hustota - vysoký počet hran mezi vrcholy v rámci skupiny Oddělení (separace) - vyšší četnost hran mezi vrcholy ve skupině v porovnání s četností hran mezi vrcholy z různých skupin Jak změřit kvalitu komunit pomocí hustoty (když už komunity máme) MADII 2018/19 12
Dělení grafu Graph partitioning (dělení grafu) rozdělení vrcholů sítě na určitý počet g skupin zhruba stejné velikosti se současnou minimalizací počtu hran mezi vrcholy z různých skupin Výsledkem jsou nepřekrývající se komunity Většina algoritmů používá princip tzv. iterative bisection najdeme nejlepší rozdělení celého grafu do dvou skupin, a pak dále dělíme dvě získané skupiny, dokud nemáme potřebný počet skupin, např.: Kernighan Lin algoritmus Spectral bisection (spektrální dělení) MADII 2018/19 14
Detekce Uvažujeme pouze řídké grafy Každá komunita by měla být souvislým grafem Kombinatorický problém: kritérium a metoda optimalizace Přesné řešení NP-těžký problém (bi-partition: n = n 1 + n 2, n!/(n 1!n 2!) kombinací) Řešíme pomocí hladových, přibližných algoritmů nebo pomocí heuristik Rekurzivní bi-partition, nebo multi-partition Vyvážené shluky vs. komunity MADII 2018/19 15
Graph partitioning Graph partitioning hledání minimálního řezu Kombinatorický problém k! / (j! (k-j)!) 16
Řezy (minimalizace) 19
Shlukování na základě podobnosti Vstup: graf G=(V,E) a váhy hran (obecně libovolná míra podobnosti) matice vah (cen) W = (w ik ), pokud w(v i, v k ) > w 0, kde w 0 je nějaký treshold v i podobný v k v i a v k ve stejném shluku Matice vah binární matice (podobnosti) S = (s ik ) s ik = 1 pro w(v i, v k ) > w 0 s ik = 0 jinak Graf podobnosti uzly grafu s ik = 1 hrana mezi vrcholem v i a v k MADII 2018/19 20
Shlukování na základě podobnosti Similarity based vertex clustering Komunity - skupiny vrcholů, které se navzájem podobají. Podobnostní míry Jaccard similarity, Cosine similarity, Pearson correlation, Eucledian distance (dissimilarity) Obecně: Vypočtěte podobnost mezi všemi dvojicemi vrcholů v grafu (matice podobnosti) Seskupte dohromady vrcholy s vysokou podobností Pak aglomerativní shlukování MADII 2018/19 21
Váha hrany - podobnost Např. Structural equivalence dva vrcholy jsou SE, jestliže sdílejí mnoho ze svých sousedů Nejjednodušší SE počet společných sousedů n = A ij k ik A kj MADII 2018/19 23
Shlukování na základě podobnosti MADII 2018/19 26
Shlukování na základě podobnosti MADII 2018/19 27
28
Zachary s Karate Club MADII 2018/19 30
Kliky Klika (clique) grafu je takový podgraf nějakého (neorient.) grafu, který je úplným grafem Kliky se mohou překrývat Výskyt kliky v grafu reprezentuje velkou soudržnost nějaké skupiny,! ale ani v soc. sítích neex. perefktní kliky, spíše něco velmi blízko kliky CPM metoda MADII 2018/19
Kliky Maximální klika je klika, kterou nelze rozšířit o další sousední vrchol Největší klika je klika největší možné velikosti v daném grafu Klikovost grafu je velikost největší kliky Výpočetní složitost (pro řídké grafy): Nalezení kliky dané pevné velikosti k - O(n k k 2 ) Hledání nejveětší kliky O(3 n/3 ) 32
Kliky Karate Club maximální kliky Největší kliky MADII 2018/19 33
N-kliky Nevýhoda kliky příliš přísná definice N-klika (N-clique) - je možno je definovat vrcholy jako členy kliky, pokud jsou připojeny ke každému jinému členu skupiny, ve vzdálenosti větší než jedna, obvykle se používá vzdálenost N=2, což to odpovídá přítel přítele. Vede to ale často ke dlouhým a stringy skupinám. Vrchol z N-kliky také může sousedit s vrcholem, který není jejím prvkem např. pro sociology nevhodná vlastnost. Př. 2-kilka {2,3,4,5,6} MADII 2018/19 34
K-plex K-plex je maximální podmnožina množiny n vrcholů taková, že každý její vrchol je incidentní s alespoň n-k vrcholy 1-plex je klasická klika, sousedí s n-1 vrcholy Neex. pravidlo pro stanovení hodnoty k pro malé skupiny malé k, pro velké větší k, nebo např. zobecnění řekneme s kolika % vrcholů má být vrchol spojen Mohou se překrývat Generují spíše mnoho malých skupin (na rozdíl od N-klik) MADII 2018/19 35
K-core K-core - je maximální podmnožina vrcholů takových, že každý vrchol je incidentní s alespoň k vrcholy této podmnožiny, tj. každý vrchol má stupeň alespoň k: Tj. vrchol je členem skupiny vrcholů, pokud je sousedem alespoň k ostatních vrcholů, bez ohledu na to s kolika vrcholy sousedem není. Nemohou se překrývat k-core na n vrcholech je zároveň (n-k)-plex Velikost pro jednotlivé k-core se liší Je snadné nalézt množinu všech K-core v síti: Postup odstraníme všechny vrcholy se stupněm < k (nemohou být součástí k-core), toto opakujeme tak dlouho, dokud se v grafu vyskytují vrcholy se stupněm <k. Nakonec zůstane množina všech k-core MADII 2018/19 37
K-core MADII 2018/19 38
K-core 39
K-core Karate club 40
K komponenta Pro doplnění ještě K komponenta: e max podmnožina vrcholů taková, že každý vrchol je dostupný ze zbývajících po k vrcholově disjunktních cestách. Nebo - max podmnožina vrcholů taková, že žádná dvojice vrcholů se nestane nedostupnou odstraníme-li méně než k vrcholů (vrcholový řez) Pro k >= 3 k-komponenty nesousedí, pro k=1, 2 zpravidla ano Např. pro testování odolnosti sítí, MADII 2018/19 41
Hledání komunit Mnoho komunitních algoritmů je založeno na určování Vnitřní souvislosti (internal connectivity) Vnější souvislosti (external connectivity) A k měření kvality používají např. cut-based measures Existují jiné přístupy? MADII 2018/19 42