Zeszyty Naukowe WSInf Vol 13, Nr 1, 2014 Ewa Konopka, Adam Pelkant Wydzał Informatyk Zarządzana Wyższa Szkoła Informatyk Umeętnośc ul. Rzgowska 17a 93-008 Łódź emal: adam.pelkant@p.lodz.pl ZASTOSOWANIE METOD GRUPOWANIA W ANALIZIE SIECI SPOŁECZNOŚCIOWYCH Streszczene Celem pracy est omówene różnych metod klasteryzac (grupowana) w secach społecznych. Analzowane dane są wstępne podzelone na klastry według mesca zameszkana członków sec. Opracowany algorytm bazuąca na nm aplkaca dokonue oceny akośc grupowana oraz umożlwa ponowny podzał według różnych metod, a następne porównane wynków ch dzałana. Zamplementowanych zostało wele algorytmów, których dzałane dae odmenne rezultaty. Aplkaca współpracue z serwerem baz danych Mcrosoft SQL Server. Zastosowane zostały dwa typy użytkownka (UDT) w technolog CLR, które mplementuą obekty odpowadaące składowym sec-grafu [1]: osobę (SocNetPerson) klaster (SocNetCluster). Słowa kluczowe: Teora grafów, analza grafów, sec społecznoścowe, typy użytkownka CLR, grupowane, ocena akośc grupowana, eksploraca danych, programowane obektowe w bazach danych 1 Wstęp Sec społeczne stanową odzwercedlene relac mędzy ludźm na różnych płaszczyznach: zawodowe, edukacyne, towarzyske, hobbystyczne. Istneą różne rodzae sec społecznych: seć kontaktów zawodowych, połączeń telefoncznych, osób o podobnych zanteresowanach, seć wysłanych emal czy po prostu seć znaomych, przyacół. Kolenym przykładem take struktury są serwsy społecznoścowe, grupuące ludz np. o podobnych zanteresowanach czy znaących sę w śwece realnym. Pozwalaą one na prezentacę własne osoby, przesyłane wadomośc, publkowane nformac, także multmedalne, śledzene nnych użytkownków, zawerane znaomośc wele nnych dzałań. Przenesene struktur sec społecznych w sferę Internetu ułatwa ch analzę. W bazach danych zgromadzono do te pory olbrzyme lośc nformac, co stanow znakomty rezerwuar danych dla badaczy. Analze poddae sę wele różnych cech sec społecznych. Jedną z właścwośc, pozwalaącą na wyodrębnene względne ednorodnych, 13
Zastosowane metod grupowana... różnących sę od sebe grup w ramach sec, est klasteryzaca. Umożlwa ona podzał struktury na podsec, charakteryzuące sę podobeństwem wewnętrznym zróżncowanem wobec sebe nawzaem. Identyfkaca grup est stotnym elementem analzy sec społecznych. Praca est w całośc pośwęcona zagadnenom klasteryzac (nacze grupowana, gronowana), metod e oceny oraz sposobom mplementac w programe komputerowym. 2 Elementy teor grafów Seć to abstrakcyna struktura, reprezentuąca system powązań pomędzy różnym obektam (elementam składowym). Grafem G nazywamy uporządkowaną parę G = (V, E), gdze V est nepustym zborem werzchołków, a E est zborem ego krawędz. { u w} : u, v V u v } E,, (1) Werzchołk w grafe mogą być połączone ze sobą krawędzam, ale równeż możlwe est połączene werzchołka z samym sobą. Do krawędz grafów można przypsać wartośc, które nazywamy wagam. Graf, który ma taką własność będzemy nazywać grafem ważonym lub grafem z wagam. Wag mogą być zarówno dodatne ak uemne. Grafem pustym nazywamy graf składaący sę tylko z werzchołków, ne zaweraący krawędz. Trasą w grafe G nazywamy skończony cąg krawędz postac v 0 v 1,v 1 v 2,,v m-1 v m, w którym każde dwe kolene krawędze są albo sąsedne, albo dentyczne. Trasę, w które wszystke krawędze są różne nazywamy śceżką, a eśl ponadto werzchołk są różne, to śceżkę nazywamy drogą [1]. Trasę, która ma początek konec w tym samym werzchołku nazywany cyklem. Grafem spónym nazywamy graf, w którym dla każde pary werzchołków stnee śceżka, która e łączy, a grafem pełnym tak, w którym każdą parę werzchołków łączy krawędź. Jest on także nazywany klką. Gęstość grafu to stosunek lczby krawędz do nawększe możlwe lczby krawędz: 2 E V ( V 1) (2) Stopnem werzchołka v w grafe G nazywamy lczbę krawędz ncydentnych (wychodzących lub wchodzących do werzchołka) oznaczamy deg(v). Stopnem grafu G nazywamy lczbę: 14
E. Konopka, A. Pelkant ( G) = deg( v) max (3) v V Stopeń grafu est równy nawyższemu ze stopn ego werzchołków. Grafem regularnym nazywamy graf, w którym stopeń każdego werzchołka ma tę samą wartość. Podgrafem grafu G nazywamy graf powstały poprzez usunęce częśc werzchołków z H razem ze wszystkm kończącym sę w nch krawędzam. Grafem skerowanym lub nacze dgrafem nazywamy uporządkowaną parę (V, E), gdze V est skończonym nepustym zborem werzchołków, a E VxV to zbór ego łuków (krawędz skerowanych posadaących zwrot). Multgrafem nazywamy graf, w którym możlwe są welokrotne krawędze łączące te same dwa werzchołk, ak równeż werzchołek z samym sobą (taką krawędź nazywamy pętlą). Grafem planarnym nazywamy tak, który można przedstawć na płaszczyźne w tak sposób, aby ego krawędze ne przecnały sę. Drzewem nazywamy graf spóny bez cykl. W pamęc komputera graf można reprezentować na klka sposobów. Napopularneszym są macerz lsta sąsedztwa. Macerz sąsedztwa zbór krawędz reprezentowany est ako tablca kwadratowa A[ ], o wymarach n x n, gdze n oznacza lczbę wszystkch werzchołków w grafe. Elementy macerzy zdefnowane są następuąco: ( x, y) ( x, y) 1, E A[ x, y] = (4) 0, E gdze: x, y - pary werzchołków E - zbór krawędz W komórce na przecęcu wersza w kolumny k zapsana est 1, eśl stnee krawędź mędzy werzchołkam w k. W przecwnym wypadku w komórce tablcy zapsywane est 0. Jeśl graf est ważony, można bezpośredno w macerzy zapsać wagę. Należy ednak pamętać o umownym sposobe reprezentac braku krawędz (0 może meć przypsane take znaczene, ednakże w tym przypadku ne ma uż możlwośc zapsana krawędz o koszce 0). Lsta sąsedztwa zbór krawędz reprezentowany est ako tablca ednowymarowa L[n], gdze n oznacza lczbę werzchołków w grafe. Każdy element tablcy przedstawony est ako lsta werzchołków, z którym dany werzchołek est połączony krawędzą. 15
Zastosowane metod grupowana... 3 Właścwośc sec W [3], [4] zaproponowano następuące mary centralnośc werzchołków. Znormalzowany stopeń dc (ang. degree) werzchołka : k dc = (5) N 1 gdze: k - stopeń werzchołka w grafe, N - lczba werzchołków w grafe. Werzchołek uzyskue nawyższą wartość tego współczynnka, gdy ma nawyższy stopeń, czyl ma nawęce sąsadów. Promeń rc (ang. radus) werzchołka : 16 1 rc = max d V gdze: d - długość nakrótsze drog medzy werzchołkam oraz. Werzchołek uzyskue nawyższą ocenę kedy odległość, która dzel go od nadalszego werzchołka est namnesza. Blskość cc (ang. closeness) werzchołka : cc = V N 1 d gdze: d - długość nakrótsze drog medzy werzchołkam oraz, N - lczba werzchołków w grafe. Mara ta opera sę na założenu, że werzchołek est bardze centralny, m est blże nnych werzchołków. Pośrednctwo bc (ang. betweenness) werzchołka : p l,, k ( N 2)( N 1) (6) (7) l V k l V pl, k bc = (7) gdze: p l,,k - lczba dróg w grafe mędzy werzchołkam l oraz k, które przechodzą przez, p l,k - lczba wszystkch dróg w grafe mędzy werzchołkam l oraz k.
E. Konopka, A. Pelkant Wartość mary normalzue sę borąc pod uwagę maksymalną możlwą lczbę nakrótszych dróg w grafe pełnym. Współczynnk gronowana (klasteryzac) gc (ang. clusterzaton) werzchołka : 2E gc = (8) k ( k 1) gdze: k - stopeń werzchołka w grafe (wartość k est wększa od 1), E - lczba krawędz mędzy sąsadam werzchołka. Współczynnk klasteryzac werzchołka określa stosunek lczby krawędz mędzy sąsadam tego werzchołka do lczby wszystkch możlwych połączeń mędzy nm. Współczynnk gronowana (średn) C (ang. clusterng coeffcent) dla całe sec: C = 1 gc (9) N V gdze: gc - współczynnk gronowana werzchołka, N - lczba werzchołków w grafe. Średna odległość L (średna długośc nakrótszych dróg) w całe sec: d V L = N ( N 1) gdze: d - długość nakrótsze drog medzy werzchołkam oraz, N - lczba werzchołków w grafe. Potęgowy rozkład stopn werzchołków P(k): (10) γ P ( k) ~ k (11) gdze: k - stopeń werzchołka γ - wykładnk stopna werzchołka Sec o takm rozkładze stopn werzchołków nazywamy secam bezskalowym. Dla wększośc tych sec parametr γ przymue wartośc z przedzału <2, 3>. 17
Zastosowane metod grupowana... 4 Modele sec losowych Nalepsze wynk można uzyskać analzuąc duże sec opsuące rzeczywste powązana. Jednak dostęp do nch est w wększośc przypadków ogranczony. Ne dysponuąc tego rodzau danym źródłowym, zmuszen esteśmy generować dane. Istnee wele różnych algorytmów tworzena sec losowych, o odmennych założenach, których rezultaty dzałana daą wynk znaczne różnące sę właścwoścam powstałych sec. 5 Model Erdős Rény Jednym z podstawowych algorytmów tworzena grafu losowego est model Erdős Rény. Istneą dwa, ścśle ze sobą powązane, waranty tego modelu: Spośród wszystkch możlwych k grafów G o n werzchołkach m krawędzach wyberany est eden, z prawdopodobeństwem 1/k. Każda para werzchołków est łączona krawędzą z prawdopodobeństwem p. Rozkład P(k) stopn werzchołków w tym modelu est rozkładem dwumanowym, a przy małe lczbe krawędz można przyblżyć go rozkładem Possona. Wększość werzchołków ma w przyblżenu taką samą lczbę krawędz ncydentnych. Współczynnk gronowana danego werzchołka est w praktyce nezależny od ego stopna. Prawdopodobeństwo przyłączena kolenego werzchołka w sec losowe malee wykładnczo dla werzchołków o coraz wyższym stopnu. Sec losowe charakteryzuą sę węc nskm współczynnkem gronowana małą średną wartoścą długośc dróg mędzy werzchołkam. Algorytm tworzena sec w oparcu o model Erdős Rény w warance b przedstawa metakod: 1. Ustal parametr p. 2. Stwórz N werzchołków grafu. 3. Dla każdego werzchołka N, N wykona: 18 4. Dla każdego werzchołka N < N v v, wykona: 5. Wylosu lczbę x z przedzału (0;1). 6. Jeśl x < p, to połącz werzchołk v v krawędzą. 6 Sec Małego Śwata W 1998 roku dwa matematycy Duncan Watts Steven Strogatz w opublkowane pracy [5] zaproponowal model sec małego śwata
E. Konopka, A. Pelkant (ang. Small World). Według nch model powstae z sec regularne, w które losowo wybranym krawędzom zamenamy werzchołk startowe. W zwązku z tym drog mędzy odległym param werzchołków są krótsze, a węc średna długość dróg est mała. Według spostrzeżeń autorów, seć małego śwata pownna charakteryzować sę małą średną odległoścą mędzy werzchołkam wysokm współczynnkem klasteryzac. 7 Model Barabas-Albert W 1999 roku dwa fzycy, Albert-László Barabás Réka Albert, w swoe pracy [6] zaproponowal model sec bezskalowe (ang. Scale Free). Służy on do generowana losowych grafów. Model B-A charakteryzue sę stałym wzrostem rozmaru sec, preferencynym dołączanem nowych werzchołków do sec potęgowym rozkładem stopn werzchołka. Rozkład ten w sec bezskalowe spełna prawo sły, która est matematyczną zależnoścą mędzy dwema welkoścam, mówącą o tym, że częstotlwość występowana pewnego zdarzena zmena sę tak, ak sła akeś cechy tego zdarzena. W wypadku grafów bezskalowych przekłada sę to na newelką lczbę werzchołków o wysokm stopnu bardzo dużą lczbę werzchołków o stopnu nskm. Zasada wzrostu rozmaru sec oznacza, że seć rośne z upływem czasu. Zasada preferencynego przyłączana mów, że nowe werzchołk przyłączaą sę z wększym prawdopodobeństwem do werzchołków o wysokm stopnu nż do werzchołków ze stopnem nskm. Werzchołk o wyższym stopnu maą wększą zdolność przycągana nowych werzchołków, a węc m wyższy stopeń ma werzchołek w sec (węce znaomych), tym wększe prawdopodobeństwo, że nowy werzchołek zostane z nm połączony. W kontekśce sec społecznych zasada ta est opsywana określenem bogac staą sę coraz bogats [6], [7]. Opsany model Barabás-Albert został wykorzystany do wygenerowana losowego grafu reprezentuącego seć społeczną potrzebną do przeprowadzena dalszych analz, które są przedmotem te pracy. Algorytm generowana grafu reprezentuącego seć społeczną w oparcu o ten model przebega następuąco: 1. Generuemy n werzchołków grafu. 2. Wyberamy losowo 2 werzchołk: k, a następne łączymy e krawędzą przyłączamy do sec S. 3. Dla każdego nowo utworzonego werzchołka n wykona: 4. Dla każdego werzchołka s w sec S wykona: 5. Wylosu lczbę rzeczywstą R z zakresu (0;1) 6. Jeśl lczba R est mnesza nż stosunek stopna werzchołka s do całkowte sumy stopn w grafe 19
20 deg( s) deg( r) r S Zastosowane metod grupowana... gdze: deg(s) stopeń werzchołka rozpatrywanego (s), r S deg( r) suma stopn wszystkch werzchołków sec S to połącz krawędzą werzchołk n s. Ze wzoru zameszczonego w metakodze wynka, że m wyższy stopeń ma werzchołek w sec (węce znaomych), tym wększe prawdopodobeństwo, że nowy werzchołek zostane z nm połączony. 8 Klasteryzaca Klasteryzaca (grupowane, ang. clusterng), est metodą nenadzorowane analzy danych. Je celem est podzał danych na klastry (grupy) w tak sposób, aby każdy z nch zawerał obekty nabardze ze sobą powązane (podobne do sebe), a równocześne elementy należące do różnych klastrów pownny ak nabardze różnć sę mędzy sobą. Do oceny podobeństwa obektów mogą być stosowane różne krytera. Naczęśce wykorzystue sę do tego celu różne mary odległośc. W procese klasteryzac ne dysponuemy danym wzorcowym, a co za tym dze proces ten est uczenem bez nauczycela. Werzchołek grafu zostane przypsany do klastra, w którego skład wchodzą werzchołk nabardze do nego podobne. Przyporządkowane werzchołka do klastra może być twarde (ang. hard) lub rozmyte (ang. fuzzy). Przyporządkowane twarde przypsue dany werzchołek dokładne do ednego klastra, podczas gdy przynależność rozmyta umożlwa przypsane werzchołka do węce nż ednego klastra, z uwzględnenem współczynnka przynależnośc z przedzału <0,1>. Należy zaznaczyć, że suma współczynnków dla każdego werzchołka mus wynosć 1. Klasteryzacę stosue sę w procese rozpoznawana obrazów, wzorców, ale także w marketngu czy badanach rynku. Dobre metody klasteryzac cechuą: umeętność tworzena klastrów o różnych kształtach, mała wrażlwoścą na zaburzena danych (pomane szumu), duża skalowalność, nska złożoność oblczenowa. Istnee bardzo wele metod algorytmów grupowana. Podzału możemy dokonać ze względu na typy danych (np. lczby, dane tekstowe, obrazy tp.), mechanzm generowana klastrów (algorytmy determnstyczne probablstyczne), czy sposób otrzymana klastrów (algorytmy herarchczne płaske). Wyróżnamy następuące grupy metod klasteryzac:
E. Konopka, A. Pelkant 1. Metody herarchczne buduą klastry uporządkowane umożlwaą obserwacę dzałana na różnych pozomach szczegółowośc, poneważ przedstawaą strukturę klasteryzac w postac drzewa (dendrogramu). Dzelmy e na a) metody aglomeracyne (ang. agglomeratve), b) metody dzelące (ang. dvsve). W metodach aglomeracynych każdy obekt stanow osobny klaster (skupene), następne w kolenych teracach klastry łączone są w wększe skupena. Algorytm w metodach aglomeracynych dzała następuąco: 1. Utwórz n klastrów zaweraących poedyncze obekty. 2. Oblcz wartośc mary podobeństwa (odległośc) dla wszystkch par obektów. 3. Połącz dwe grupy nabardze podobne. 4. Jeżel wszystke obekty należą do ednego klastra, to zakończ pracę. 5. W przecwnym wypadku przedź do punktu 2. W metodach dzelących (deaglomeracynych) początkowo wszystke obekty przypsuemy do ednego klastra, a następne w kolenych teracach est on dzelony na coraz mnesze grupy tak długo, aż osągnemy ch zadaną lczbę lub każdy obekt będze osobnym klastrem. Algorytm w metodach podzałowych dzała następuąco: 1. Włóż wszystke obekty do ednego klastra. 2. Oblcz wartośc funkc kryterum dla wszystkch możlwych podzałów klastra na dwe lub węce podgrupy. 3. Wyberz nalepszy podzał podzel klaster. 4. Jeżel każdy obekt znadue sę w oddzelnym klastrze, zakończ pracę. 5. W przecwnym raze dź do punktu 2. Naczęśce stosowane mary odległośc medzy grupam (klastram) w metodach herarchcznych to: metoda poedynczego połączena (nablższego sąsada - ang. sngle lnk) wyrażana przez namneszą odległość mędzy dwoma nablższym punktam z różnych skupeń d mn ( C, C ) mn p p ' = (12) p C, p' C 21
Zastosowane metod grupowana... metoda pełnego połączena (nadalszego sąsada, ang. complete lnk) - brana est pod uwagę nawększa odległość mędzy dwoma nabardze oddalonym punktam, po ednym z każdego klastra dmax ( C, C ) max p p ' = (13) p C, p' C metoda odległośc medzy środkam (ang. mean dstance) - odległość zdefnowana est mędzy dwoma środkam cężkośc danych klastrów dmean ( C C ) = m m, (14) metoda średne odległośc (ang. average dstance) - średna odległość pomędzy wszystkm param elementów należących do obu klastrów. 1 d ave ( C, C ) = p p' (15) n n p C p' C gdze dla wzorów (12) (15): p, p - dowolne obekty (punkty); C, C klastry; m, m - środk klastrów; n, n - lczba obektów (punktów); 2. Metody partyconuące polegaą na konstruowanu zadane lczby klastrów z n obektów. W każdym kroku obekt może być przydzelony do nnego klastra, przez co uzyskue sę poprawę akośc grupowana. Wyróżnamy następuące metody: probablstyczne, które bazuą na określenu prawdopodobeństwa na podstawe rozkładu Gaussa. metoda k-średnch (ang. k-means) est edną z naprostszych metod, która dokonue klasteryzac. Do oblczana odległośc mędzy dowolnym punktem, a odpowadaącym mu środkem klastra naczęśce stosue sę marę eukldesową (L2). Można ą opsać następuącym metakodem: 1. Dokona losowego wyboru n obektów ako początkowe środk (centrody) k klastrów, 2. Przypsz elementy do nablższych klastrów, 3. Wylcz środk nowych klastrów, 4. Powtarza krok 2-3 tak długo, ak długo występuą zmany przydzału obektów do klastrów, lub ne zostane wykonana określona lczba terac. 22
E. Konopka, A. Pelkant Algorytm k-średnch est prosty szybk, ma newelką złożoność oblczenową, ale ma równeż pewne ogranczena. Wynk dzałana algorytmu zależy od początkowego podzału obektów na klastry. Aby zwększyć szansę znalezena optymalnego rozwązana należy uruchomć algorytm klkakrotne dla różnych podzałów początkowych. Mnusem te metody est negatywny wpływ odległych obektów na położene środka cężkośc nezdolność wychwycena szumu. Zaproponowana w pracy metoda lderów przymue, że klastram staną sę lderzy, t. te osoby, których lczba znaomych est wększa lub równa podanemu parametrem progow. Lczba klastrów ne est zatem narzucana z góry, a zależna od lczby osób popularnych w sec. Klastry tworzone są w mescu zameszkana lderów, a następne poddawane są dokładne takm samym dzałanom ak w metodze k- średnch. Przebeg algorytmu: 1. Utwórz k klastrów w mescach, w których znaduą sę osoby o lczbe znaomych >= z, 2. Przypsz elementy do nablższych klastrów, 3. Wylcz środk nowych klastrów, 4. Powtarza krok 2-3 tak długo, ak długo występuą zmany przydzału obektów do klastrów, lub ne zostane wykonana określona lczba terac. Cechą charakterystyczną algorytmu est fakt, że lderzy mogą w pewnym momence zostać przesunęc do nnego klastra nż ten, który określal na początku ego dzałana. Metoda k-medods (ang. k-medod) polega na tworzenu medod, czyl obektów z grupy, które w danym klastrze są nabardze centralne, to znaczy że ch odległość od wszystkch pozostałych w skupenu est namnesza. Przykładowym algorytmam są PAM, CLARA CLARANS. Przebeg algorytmu PAM: 1. Dokona wyboru k obektów ako początkowe medody, 2. Przypsz każdy z pozostałych obektów do nablższego medodu, 3. Zamena każdy z medodów z ne-medodem do chwl, gdy ne ma uż zman w zawartośc grupowana wylczaąc koszt zmany, 4. Powtarza krok 2-3 tak długo, ak długo występuą zmany przydzału w grupowanu do medodów. Algorytm k-medods dobrze radz sobe z odległym obektam, a początkowy wybór medodów ne ma wpływu na wynk, ednak ne radz sobe z dużym zboram danych. 23
Zastosowane metod grupowana... Metoda rozmyte analzy skupeń (ang. fuzzy clusterng) polega na przydzelanu elementów do węce nż ednego klastra z tak zwanym prawdopodobeństwem przynależnośc. Ne est to klasyczna klasteryzaca, poneważ grupowane ne est rozłączne. Grupowane rozmyte est pomocnew przypadku, gdy ne stnee wyraźna granca rozdzelaąca grupy obektów. Jedną z metod est rozmyta metoda k-średnch (fuzzy c- means). Podstawowym celem metody est znalezene takch środków cężkośc klastrów, które mnmalzuą funkcę określoną wzorem: J m c n 2 m = u d (16) = 1 = 1 gdze: m - parametr rozmyca wększy od 1 u - stopeń przynależnośc - tego obektu do -tego klastra d - odległość eukldesowa mędzy środkem cężkośc -tego klastra a -tym obektem. Algorytm rozmyte metody k-średnch zbudowany est z następuących kroków: 1. Dokona losowego wyboru n obektów ako początkowe środk (centrody) k klastrów, 2. Wyberz losowo stopne przynależnośc do klastrów dla wszystkch obektów, 3. Dopók zmana stopn przynależnośc przekracza zadaną wartość ε, wykona: a) Oblcz centrody klastrów ze wzoru: c k = x w ( x) x k k m w ( x) m x 24 gdze: wk(x) stopneń przynależnośc obektu x do klastra k, m współczynnk > 1 b) Dla każdego obektu oblcz stopne przynależnośc do klastrów ze wzoru: w ( x) = k 1 (, ) (, ) d centerk x d center x 2 m 1 Wadą tego algorytmu est kulsty kształt klastrów.
E. Konopka, A. Pelkant Metody grupowana gęstoścowego polegaą na wyszukanu punktów gęsto ułożonych. Tworzą klastry o różnych kształtach. Dobrze radzą sobe z oddalonym punktam. Podstawowym algorytmam są DBSCAN OPTICS. DBSCAN (ang. Densty Based Spatal Clusterng of Applcatons wth Nose). Klaster zdefnowany est ako maksymalny zbór gęstoścowo połączonych punktów, natomast punkty nepołączone z nm są punktam oddalonym. Przed uruchomenem algorytmu potrzebne est zdefnowane dwóch parametrów: E - maksymalny promeń sąsedztwa mnpts - mnmalna lczba punktów w sąsedztwe. Sąsedztwo określone est ako: ε ( x ) ε N = y X d, y Algorytm przedstawa sę następuąco: ; (17) Dla każdego neodwedzonego punktu P wykona: 1. Zaznacz P ako odwedzony 2. SasedzPTS = WyberzSasadow(P, E) 3. Jeśl lczność(sasedzpts) < mnpts, to oznacz P ako szum 4. W przecwnym wypadku: 5. K = nowy klaster 6. RozszerzKlaster(P, SasedzPTS, K, E, mnpts) Funkca RozszerzKlaster(P, SasedzPTS, K, E, mnpts) 1. Doda P do klastra K 2. Dla każdego punktu P z SasedzPTS wykona: 3. Jeśl P est neodwedzony 4. Zaznacz P ako odwedzony 5. SasedzPTS = WyberzSasadow(P, E) 6. Jeśl lczność(sasedzpts ) >= mnpts, to dołącz SasedzPTS do SasedzPTS 7. Jeśl P ne est przyłączony do żadnego klastra, to przypsz go do K Funkca WyberzSasadow(P, E) 1. zwróć lstę punktów oddalonych od P ne węce nż o E Metody grdowe używaą satkowych struktur danych o welu pozomach dokładnośc. Przykładowym algorytmam są STING WaveCluster, metoda górska [8]. 25
9 Mary odległośc w metodach klasteryzac Zastosowane metod grupowana... Bardzo stotnym czynnkem, który ma wpływ na podzał danych, est sposób oblczana odległośc pomędzy nm. Naczęśce stosowaną marą odległośc est odległość potęgowa - nacze nazywana odległoścą Mnkowskego q 1/ ( x ) q y d( x, y) = (18) gdze q to parametr zdefnowany przez użytkownka. Dla q = 1 otrzymuemy odległość Manhattan (cty-block), która est wartoścą bezwzględną z różncy medzy wartoścam -tych cech badanych obektów. = ( ) d ( x, y) x y (19) Dla q = 2 uzyskuemy odległość Eukldesową, geometryczne określaną ako odległość mędzy dwoma punktam w przestrzen n- wymarowe wyrażone wzorem: ( ) 2 d( x, y) = x y (20) Odległość Czebyszewa - est to nawększa różnca mędzy dwoma badanym punktam x y. ( ) d( x, y) = max x y (21) gdze dla powyższych wzorów: x, y - współrzędne badanych obektów Odległość Mahalanobsa - est to odległość mędzy dwoma punktam w n-wymarowe przestrzen, która różncue udzał poszczególnych składowych oraz wykorzystue korelace mędzy nm. Defnuemy ą ako: 1 ( x y) C ( x y) T d( x, y) = (22) 26 gdze: x, y - wektory losowe C - symetryczna, dodatno określona macerz
E. Konopka, A. Pelkant Współczynnk korelac lnowe Pearsona est to bezwymarowy współczynnk podobeństwa, którego wartość leży w zakrese <-1,1> odzwercedla stopeń zależnośc mędzy badanym punktam (obektam, cecham). Wyrażamy go wzorem: r xy = n = 1 n = ( x x)( y y) n 2 ( x x) ( y y) 1 (23) = 1 2 gdze: x, y - kolene pary współrzędnych; x, y - średne arytmetyczne Odległość kątowa est równeż współczynnkem podobeństwa wyrażonym wzorem: x y x pxy = (24) 2 2 y 10 Funkce oceny klasteryzac Po przeprowadzenu klasteryzac należy dokonać e oceny. Naczęśce używane funkce uwzględnaą odległośc obektów od środków (lub centrodów) klastrów w stosunku do odległośc pomędzy klastram. W procese klasteryzac oczekuemy, że powstaną klastry maksymalne zwarte maksymalne rozłączne. Do oceny wynków grupowana mogą posłużyć ponższe mary. Odchylene wewnątrzklastrowe wc(c), które est sumą odległośc obektów od środków klastrów, do których obekty należą [4]. k k ( ) ( ) 2 ( C) = wc C = d x( ), r wc (25) = 1 = 1 x( ) C Przyęce tego odchylena ako mary zwartośc klastrów, prowadz do generowana klastrów sferycznych (algorytm k-średnch). Odchylene wewnątrzklastrowe możemy zdefnować równeż, ako odległość punktu w klastrze do nablższego obektu w tym klastrze wyberamy maksmum z tych odległośc. Powyższa mara prowadz do generowana klastrów podłużnych. 27
Zastosowane metod grupowana... Odchylene mędzyklastrowe bc(c) est sumą odległośc środków wszystkch par klastrów. 1 < k (, ) 2 bc( C) = d r r (26) gdze dla powyższych wzorów: d - odległość, x() - obekty, r, r - środk klastrów, k - lczba klastrów, C - podzał obektów pomędzy k klastrów. Można przyąć ako marę akośc klasteryzac stosunek odchylena mędzyklastrowego przez odchylene wewnątrzklastrowe bc/wc. Oblczane funkc kryteralne wymaga przerzena całego zboru obektów dla każdego poedynczego podzału. Funkca kryteralna, która za marę przymue tylko odchylene wewnątrzklastrowe z pomnęcem odchylena mędzyklastrowego, nazywamy funkcą błędu średnokwadratowego. Indeks Davesa-Bouldn'a [10] wprowadzony został ako metryka oceny algorytmów grupowana. Indeks ten uwzględna rozproszene wewnętrzne odległość mędzy klastram. Rozproszene wewnątrz klastra można wyrazć: 1/ q N q 1 S = X r N = 1 gdze : X - n wymarowy wektor cech (np. odległośc); r - środek cężkośc; N - lczba obektów w klastrze; q - parametr determnuący użytą metrykę. Wskaźnk Davesa-Bouldn'a est defnowany ako: (27) R S + S = (28) M gdze : S, S - rozproszene wewnątrz klastra; M - odległość mędzy klastram. Do oblczena odległośc mędzy klastram C C naczęśce stosue sę edną z mar odległośc Mnkowskego, które opsano wcześne. Mara DB wyrażona est wzorem: 28
E. Konopka, A. Pelkant N 1 DB = max R (29) N, = 1 gdze : N lczba klastrów R wskaźnk Davesa-Bouldn'a Szukamy parametrów, które mnmalzuą marę DB, aby uzyskać klastry o małym rozproszenu wewnętrznym leżące daleko od sebe. Nska wartość DB będze wskazywała na dobry podzał. Indeks Dunna [11] est metryką oceny algorytmów klastrowana. Mara ta est podobna do mary DB tak samo est wykorzystywana do oceny w oparcu o kryterum wewnętrzne. Ma na celu dentyfkacę klastrów gęstych dobrze oddzelonych. Wskaźnk ten defnowany est ako stosunek mnmalne odległośc mędzy klastram, do maksymalne odległośc wewnątrz klastra: (, ) d '( k ) d DI = mn mn (30) 1 n 1 n, max 1 k n gdze : d(,) odległość mędzy klastram, d (k) odległość wewnątrz klastra k Chcąc określć rozmar lub średncę klastra możemy zastosować różne mary odległośc wewnątrz klastra (np. maksymalna odległość mędzy dwoma punktam, średna odległość mędzy wszystkm param). Poneważ kryterum wewnętrzne poszukue klastrów o wysokm podobeństwe wewnątrz klastra nskm mędzy klastram, to algorytmy, które produkuą klastry o wysokm ndekse Dunna (wększym nż 1) daą nalepsze rezultaty. Metoda sylwetk (ang. slhouette clusterng) po raz perwszy została opsana przez Petera J. Rousseeuw w 1986 roku [12]. Jest ona syntetycznym wskaźnkem akośc grupowana. Mara sylwetk porównue średną odległość do elementów w tym samym klastrze ze średną odległoścą do elementów w nnym klastrze. Im wyższa wartość tego parametru, tym lepsza klasteryzaca. Indeks sylwetk dobrze sę sprawdza m.n. w metodze k-means, gdze znadue zastosowane do określana optymalne lczby klastrów. Każdemu obektow przyporządkowana est mara: b( ) a( ) s( ) = (31) max { a( ); b( ) } 29
30 Zastosowane metod grupowana... gdze : a() - średne nepodobeństwo (np. mary odległośc) pomędzy a pozostałym obektam w klastrze 1 a( ) = d(, ) (32) m 1 X, Można nterpretować a() ako marę, która określa na le dobrze -ty element est przypsany do klastra. Im mnesza est ego wartość, tym przyporządkowane est lepsze. b() - namnesza średna odległość pomędzy -tym elementem, a każdym z pozostałych klastrów 1 b ) = mn d, X k X m k X k ( ) ( (33) Klaster z namneszą wartoścą nazwemy klastrem sąsednm do - tego. Mara s() przymue wartośc z przedzału <-1,1>. Wartość blska 1 oznacza, że element est prawdłowo przyporządkowany do klastra, natomast blska -1 mów nam, że lepsze byłoby przypsane -tego elementu do klastra sąsednego. s() blske 0 oznacza, że obekt leży na grancy dwóch klastrów pasue do nch w równym stopnu. Dla każdego klastra oblcza sę średną wartość mary s() obektów wchodzących w ego skład oznacza sę SI(c), gdze c est numerem danego klastra. Określa ona ak gęsto są zgrupowane obekty leżące wewnątrz klastra. SI(c) dla całego zestawu danych est marą akośc klasteryzac. Jeśl klastrów est za dużo lub za mało, to część z nch będze mała zbyt wąską sylwetkę w stosunku do pozostałych. 11 Funkconalność aplkac Aplkaca wczytue z bazy danych przygotowany wcześne zestaw danych, składaący sę z osób, które są członkam sec społecznoścowe, przyporządkowanych do klastrów. W baze zostały utworzone m.n. dwe tabele: Persons Clusters. W perwsze z nch zapsano dane wygenerowanych losowo osób (nazwsko, mę, współrzędne geografczne mesca zameszkana nne), w druge defnce klastrów (m.n. nazwa, współrzędne geografczne). Klastram zostały masta o lczbe ludnośc przekraczaące określony próg. Każda osoba została przypsana do nablższego geografczne klastra. Tabele zbudowano z wykorzystanem typów użytkownka SocNetCluster (mplementuący klaster) SocNetPerson (przechowuący dane
E. Konopka, A. Pelkant osoby) stworzonych w CLR [1], [2]. Dzęk temu wszystke stotne dane zostały umeszczone w obekce w postac bnarne zapsane w edne kolumne tabel. Fg. 1. Wygląd okna głównego aplkac Fg. 2. Okno główne aplkac (ukryte obszary klastrów) Aplkaca została napsana w ęzyku C#, w środowsku Mcrosoft Vsual Studo Professonal Edton, z zastosowanem nterfesu Wndows Form. Program składa sę z ednego okna głównego oraz okna pomoc- 31
Zastosowane metod grupowana... nczego służącego do wpsana parametrów połączena z serwerem bazy danych. Główne okno aplkac pozwala na wczytane danych z bazy SQL Server, przeprowadzene ponowne klasteryzac grafu wybranym algorytmem oraz oblczene różnych mar klasteryzac. Przedstawone są także: aktualna lsta klastrów osoby przynależące do klastra zaznaczonego na lśce. W celu ułatwena wzualne oceny akośc klasteryzac, zamplementowano także uproszczoną mapę schematyczną (panel), na które poszczególne osoby reprezentowane są ako okrągłe obekty w kolorze zależnym od klastra przyporządkowana. Wygląd okna głównego przedstawaą rysunk (1-3). Fg. 3. Okno główne aplkac (karta z wynkam funkc oceny) 12 Testy analza otrzymanych wynków Przeprowadzona została sera testów z użycem stworzone aplkac, bazuąca na losowym modelu sec społecznoścowe wczytanym z bazy danych. Jako dane referencyne przyęty został podzał na klastry zdefnowany w baze, na których uruchomone zostały wszystke cztery zamplementowane funkce oceny. Następne przeprowadzone zostały dwe sere ponownych klasteryzac, z zastosowanem metod: 1. k-średnch 10 grupowań, dla lczby klastrów od 10 do 100 ze skokem wynoszącym 10. 2. lderów - 7 grupowań, dla mnmalne lczby znaomych od 10 do 40 ze skokem wynoszącym 5. 32
E. Konopka, A. Pelkant Otrzymane wynk przedstawone zostały w ponższych tabelach. Zaprezentowano równeż wykresy wartośc poszczególnych mar oceny. Ze względu na znaczą rozbeżność zakresu wartośc funkc kryteralne w stosunku do pozostałych mar, przebeg te funkc został przedstawony na odrębnym wykrese. Tabela. 1. Wynk funkc oceny dla danych weścowych Lczba Funkca Mara Davesa- Mara Mara Dunna klastrów kryteralna Bouldne'a sylwetk 32 24,051574 0,749898 0,040559 0,391626 Tabela. 2. Wynk funkc oceny dla metody k-średnch Lczba Funkca Mara Davesa- Mara Mara Dunna klastrów kryteralna Bouldne'a sylwetk 10 0,9752 0,6062 0,4443 0,5074 20 8,2838 0,6386 0,3183 0,5033 30 26,7778 0,6591 0,3076 0,4950 40 69,1359 0,6639 0,2027 0,4788 50 145,7095 0,6710 0,1672 0,4587 60 248,0074 0,6607 0,1354 0,5106 70 340,6661 0,6744 0,0790 0,5064 80 475,9248 0,6527 0,1657 0,4812 90 783,3863 0,6215 0,0589 0,4984 100 960,7108 0,6573 0,0221 0,5007 Fg. 4. Wykres funkc kryteralne dla metody k-średnch 33
Zastosowane metod grupowana... Fg. 5. Wykres trzech funkc oceny dla metody k-średnch Tabela. 3. Mnmalna lczba znaomych Wynk funkc oceny dla metody lderów Funkca kryteralna Mara Davesa- Bouldne'a Mara Dunna Mara sylwetk 10 99,7691 0,7133 0,1227 0,4357 15 5,3490 0,7093 0,1101 0,4366 20 1,7847 0,6439 0,2612 0,4709 25 0,6143 0,6712 0,2910 0,4359 30 0,0685 0,5652 0,3981 0,4288 35 0,0432 0,5872 0,4545 0,4061 40 0,0151 0,5682 0,5297 0,4385 Fg. 6. Wykres funkc kryteralne dla metody lderów 34
E. Konopka, A. Pelkant Fg. 7. Wykres trzech funkc oceny dla metody lderów 13 Podsumowane Jak łatwo zauważyć, przebeg mar Davesa-Bouldne a oraz sylwetk zmena sę w newelkm stopnu wraz ze zmaną lczby klastrów (dla algorytmu k-średnch) mnmalne lczby znaomych (dla algorytmu lderów). Z kole wartość funkc kryteralne zmena sę wykładnczo. Wartość mary Dunna posada w przyblżenu lnowy trend wzrostu w funkc lczby klastrów mnmalne lczby znaomych. Z powyższych obserwac można wycągnąć wnosek, że perwsze dwe mary są praktyczne newrażlwe na przyęte krytera tworzena klastrów. Ponadto należy zauważyć, że trzy funkce oceny (mary Davesa-Bouldne a, Dunna sylwetk) danych referencynych (klastrów wczytanych z bazy danych) są neco gorsze od nagorszych ocen uzyskanych w pomarach dla dwóch kolenych ser klasteryzac. Istotny wpływ na otrzymane rezultaty ma fakt, że wszystke użyte algorytmy klasteryzac operuą na te same grupe obektów (osób), których położene ne ulega zmane, a stosowano edyne marę odległośc eukldesowe. Sztuczna, wygenerowana losowo struktura sec społecznoścowe, wydae sę mało podatna na dobre akośc grupowane. W nnesze pracy omówono różne aspekty sec społecznoścowych, skupaąc nawększą uwagę na ch analze, ze szczególnym uwzględnenem oceny klasteryzac. Ze względu na specyfkę sec społecznoścowych, których elementam są ludze, we wszystkch rozważanach oraz algorytmach używana była wyłączne mara odległośc eukldesowe. Każda osoba ma bowem zdefnowane mesce zameszkanaw postac współrzędnych geografcznych. 35
Zastosowane metod grupowana... 14 Lteratura [1] P. Plny, A. Pelkant, Typy użytkownka CLR wprowadzene obektowośc do relacyne bazy danych, Zeszyty Naukowe Wyższe Szkoły Informatyk w Łodz, Vol. 11, Nr 2, 2012 ss. 51-81 [2] E. Konopka, A. Pelkant, Funkce typy użytkownka CLR w zadanach statystycznych, Zeszyty Naukowe Wyższe Szkoły Informatyk w Łodz, Vol. 11, Nr 2, 2012 ss. 5-30 [3] Robn J. Wlson, Wprowadzene do teor grafów, Wydawnctwo Naukowe PWN, Warszawa, 2007. [4] A. Fronczak, P. Fronczak, Śwat sec złożonych: Od fzyk do Internetu, Wydawnctwo Naukowe PWN, Warszawa, 2009. [5] D. J. Watts, S.H. Strogatz, Collectve dynamcs of small-world networks, Nature, Vol. 393, 440-442, 1998. [6] A.-L. Barabás, R Albert, Emergence of scalng n random networks, Scence, Vol. 286, 509-512, 1999. [7] Z. Tarapata, Czy sec rządzą śwatem? - Od Eulera do Barabasego, WAT, Warszawa, 2012. [8] Adam Lessnau, Klasteryzaca, 31.03.2005, http://subverson.assembla.com/svn/klasteryzaca/materaly/02klas teryzaca.pdf [9] http://waznak.mmuw.edu.pl/ndex.php?ttle=ed-4.2-m11-1.0- Slad7, Studa Informatyczne, BETA, 29.08.2006. [10] J. Bezdek, N. Pal, Some new ndexes of cluster valdty. IEEE Transactons on Systems, Man, And Cybernetcs.Part B: Cybernetcs 28, (3), 301-315, 1998. [11] J. C. Dunn, A Fuzzy Relatve of the ISODATA Process and Its Use n Detectng Compact Well-Separated Cluster. Journal of Cybernetcs 3 (3): 32 57,1973. [12] Peter J. Rousseeuw, Slhouettes: a Grafcal Ad to the Interpretaton and Valdaton of Cluster Analyss, Computatonal and Appled Mathematcs 20: 53-65, 1987. [13] Stephen C. Perry, C#.NET, Helon, 2006. [14] User Defned Type Requements. http://technet.mcrosoft.com/pl-pl/lbrary/ms131082.aspx, Mcrosoft, 2014. [15] A. Pelkant, MS SQL Server. Zaawansowane metody programowana, Helon, 2014, 36
E. Konopka, A. Pelkant THE USE OF CLUSTERING METHODS IN THE ANALYSIS OF SOCIAL NETWORKS Summary The purpose of work s to dscuss the varous methods of clusterng n socal networks. Analyzed data are ntally dvded nto clusters accordng to the place of resdence of the members of the network. Developed algorthm and applcaton based on t evaluates clusterng qualty and enables redstrbuton accordng to varous methods, and then comparng the results of ther actons. There were mplemented many algorthms whch gves dfferent results. The applcaton works wth database created on Mcrosoft SQL Server platform. Two user defned data types have been appled n CLR technologes that mplement the obects correspondng to the component network-graph: person (SocNetPerson) and the cluster (SocNetCluster). Keywords: Graph theory, graph analyss, socal networks, user defned data types CLR, clusterng, clusterng qualty evaluaton, data exploraton, obect-orented programmng n databases. 37