Wykład 13

Analiza skupień (grupowanie)

Streszczenie

Analiza skupień (grupowanie obiektowe, ang. cluster analysis) jest zadaniem eksploracji danych, które polega na dzieleniu (zazwyczaj wielowymiarowego) zbioru danych na grupy w taki sposób, by elementy w tej samej grupie były do siebie podobne, a jednocześnie jak najbardziej odmienne od elementów z pozostałych grup. Analiza skupień znalazła wiele zastosowań w różnych dziedzinach, jak np. klasyfikacja dokumentów (WWW), odkrywanie grup klientów o podobnych zachowaniach (marketing), czy wykrywanie oszust kredytowych (banki).

Celem wykładu jest zapoznanie czytelników z najważnymi technikami grupowania danych, takimi jak grupowanie oparte na podziale i grupowanie hierarchiczne.


Zadanie analizy skupień

Zadanie analizy skupień obejmuje dwa związane ze sobą podzadania:

  1. Segmentacja, czyli podzielenie prezentowanych systemowi przykładów na grupy,
  2. Scharakteryzowanie grup, czyli wygenerowanie opisów odpowiednich pojęć dla każdej z wyróżnionych grup, by następnie użyć tych opisów do klasyfikowania nowych przykładów.

Drugie z tych podzadań mogłoby być w istocie potraktowane jako uczenie się opisów pojęć na podstawie przykładów, po uprzednim podzieleniu przykładów na grupy. W naszych rozważanich algorytmy realizują oba zadania łącznie.

Problem grupowania danych można sformułować jako problem optymalizacji kombinatorycznej. Niech dane będą:

  1. skończony zbiór przykładów P, każdy przykład jest określony wektorem wartości o takiej samej długości.
  2. funkcja odległości (lub macierz odległości) d: P ×P→ R.
  3. funkcja oceny jakości grupowania

Zadaniem jest podzielenie zbioru przykładów na grupy takie, żeby optymalizowały one funkcję jakości.

Metody analizy skupień

Możemy zindentyfikować trzy różne techniki analizy skupień:

  1. Algorytmy oparte na podziale (ang. partitioning algorithms), które polegają na próbie znalezienia optymalnego podziału zbioru przykładów na określoną liczbę skupień (grup).
  2. Algorytmy hierarchiczne (ang. hierarchical algorithms), które polegają na hierarchicznej próbie odkrycia struktury skupień,
  3. Algorytmy oparte na gęstościach (ang. density-based algorithms), które dzielą zbiory przykładów korzystając z modelu probabilistycznego dla bazowych skupień.

Skoncentrujemy się na pierwszych dwóch technikach analizy skupień: grupowaniu opartym na podziale i grupowaniu hierarchicznym.

Grupowanie oparte na podziale

Zadaniem grupowania opartego na podziale jest podzielenie zbioru danych na k rozłącznych zbiorów elementów tak, aby elementy w każdym zbiorze były jak najbardziej jednorodne, tzn. dany jest zbiór przykładów P, naszym zadaniem jest znalezienie skupień C = {C1,...CK} takich, aby każdy element danych p ∈ P był jednoznacznie przypisany do jednego skupienia Ck.

Jednorodność jest zindentyfikowana przez stosowną funkcję oceny, taką jak odległości między każdym punktem a środkiem ciężkości skupienia, do którego został przypisany. Często środek ciężkości lub średnia punktów należących do skupienia jest uważana za reprezentatywny punkt tego skupienia.

Do mierzenia jakości grupowania można zastosować wiele różnych funkcji oceny. Jedną z najczęściej stosowanych funkcji jest funkcja zwana sumą błędów kwadratowych (ang. square error criterion):


E(C) = K

k=1 


p ∈ Ck 
d2(p,mk)
Rysunek 1: Skupienia i ich środki ciężkości

gdzie mk jest środkiem ciężkości skupienia Ck, a d(.,.) jest funkcją odległości. W zależności od wyboru definicji odległości punktów, wyniki grupowania mogą się znacznie zmieniać. Najczęściej stosowanymi funkcjami odległości są:

  1. odległość euklidesowa:
    d(x,y) =   /


    n

    i=1 
    (xi−yi)2
     
  2. odległość miejska:
    d(x,y) =

      /


    n

    i=1 
    |xi−yi|
     
  3. ważona odleglość euklidesowa:
    d(x,y) =   /


    n

    i=1 
    wi(xi−yi)2
     
  4. ważona odległość miejska:
    d(x,y) =   /


    n

    i=1 
    wi|xi−yi|
     

Algorytm K-means

Ogólna idea algorytmu K-means (MacQueen,1967) polega na tym, że rozpoczyna się od losowo wybranego grupowania punktów, następnie ponownie przypisuje się punkty tak, aby otrzymać największy wzrost (spadek) w funkcji oceny, po czym przelicza się zaktualizowane skupienia, po raz kolejny przypisuje się punkty i tak dalej aż do momentu, w którym nie ma już żadnych zmian w funkcji oceny lub w składzie skupień. To zachłanne podejście ma tę zaletę, że jest proste i gwarantuje otrzymanie co najmniej lokalnego maksimum (minimum) funkcji oceny. Metoda zapisana w postaci algorytmu jest pokazana na rysunku 1

Algorytm K-means

Kolejne kroki działania algorytmu można zobaczyć na rysunku 2

Rysunek 2: Interpretacja działania algorytmu K-means

Grupowanie hierachiczne

Podczas gdy metody analizy skupień oparte na podziale startują z określoną liczbą skupień i przeszukują różne rozmieszczenia punktów w skupieniach w celu znalezienia rozmieszczenia optymalizującego pewną funkcję oceny grupowania, metody hierarchiczne stopniowo łączą punkty lub dzielą nadskupienia. W rzeczywistości możemy na tej podstawie zidentyfikować dwa różne typy metod hierarchicznych: aglomeracyjne (które łączą punkty w coraz większe grupy) i rozdzielające (które dzielą grupy). Ilustrację tych metod znajdziemy na rysunku 3

Rysunek 3: Hierarchiczne grupowanie

Hierarchiczne metody analizy skupień pozwalają na dogodne przedstawienie graficzne całej sekwencji łączenia (lub dzielenia) skupień. Z uwagi na podobieństwo do drzewa, takie przedstawienie jest zwanene dendrogramem. Grupy danych otrzymamy przez obcięcie dendrogramu na dowolnym poziomie (patrz rysunek 4).

Rysunek 4: Hierarchia skupień. Dendrogram

Godną uwagi cechą grupowania hierarchicznego jest to, że nie ma pojęcia jawnej globalnej funkcji oceny. Zamiast tego są obliczane różne lokalne oceny par liści w drzewie (to znaczy par skupień danego hierarchicznego grupowania danych) w celu ustalenia, które pary skupień są najlepszymi kandydatami do aglomeracji (łączenia) lub rozdzielania (dzielenie). Zauważmy, że podobnie jak w przypadku globalnych funkcji oceny stosowanych przy grupowaniu opartym na podziale, różne lokalne funkcje oceny prowadzą do bardzo różnych grupowań danych.

Metody aglomeracyjne

Metody aglomeracyjne opierają się na miarach odległości między skupieniami. Zasadniczo przy zadanym grupowaniu wstępnym, w celu zredukowania liczby skupień łączą one te dwa skupienia, które są najbliżej siebie. Za każdym razem łączone są dwa najbliższe skupienia, a proces ten jest powtarzany do momentu, gdy istnieje tylko jedno skupienie zawierające wszystkie elementy danych. Zazwyczaj punktem początkowym dla tego procesu jest grupowanie, w którym każda grupa składa się z jednego elementu danych.

Aglomeracyjny algorytm grupowania danych jest pokazany na rysunku 2

Aglomeracyjny algorytm grupowania danych

Interpretacja algorytmu aglomeracyjnego jest pokazana na rysunku 5

Rysunek 5: Interpretacja algorytmu aglomeracyjnego

Metody rozdzielające

Metody rozdzielajace zaczynają od pojedynczego skupienia składającego się ze wszystkich punktów danych i szukają jego podziału na składniki. Te nowe składniki nastepnie dzielone i proces toczy się tak długo, aż każde skupienie będzie się składało z jednego elementu.

Rozdzielający algorytm grupowania danych jest pokazany na rysunku 3

Rozdzielający algorytm grupowania danych

Interpretacja algorytmu rozdzielającego jest pokazana na rysunku 6

Rysunek 6: Interpretacja algorytmu rozdzielającego

W ogólności metody rozdzielające są bardziej wymagające obliczeniowo i są na ogół stosowane w mniej szerokim zakresie niż metody aglomeracyjne.

Miary odległości między grupami

Zauważmy, że przy grupowaniu aglomeracyjnym czy rozdzielajacym, potrzebne są odległości między grupami elementów danych. Niżej przedstawiono najważniejsze miary odległości między grupami elementów.

  1. Metoda pojedynczego połączenia (ang.single link). Odległość między dwoma skupieniami jest zdefiniowana jako odległość między dwoma najbliższymi punktami, po jednym z każdego skupienia:
    D(Ci,Cj) =
    min
    p ∈ Ci, p′ ∈ Cj 
    d(p,p′)
  2. Metoda całkowitego połączenia (ang.complete link). Odległość między dwoma skupieniami bierze się odległość między dwoma najbardziej oddalonymi punktami, po jednym z każdego skupienia:
    D(Ci,Cj) =
    max
    p ∈ Ci, p′ ∈ Cj 
    d(p,p′)
  3. Metoda odległości między środkami (ang.mean distance). Odległość między dwoma skupieniami jest zdefiniowana jako odległość między dwoma ich środkami ciężkości:
    D(Ci,Cj) = d(mi,mj)
  4. Metoda średniej odległości (ang.average distance). Odległość między dwoma skupieniami jest zdefiniowana jako średnia odległość między każdymi dwoma punktami, po jednym z każdego skupienia:
    D(Ci,Cj) = 1

    ninj


    p ∈ Ci 


    p′ ∈ Cj 
    d(p,p′)
    we wzorze ni i nj oznaczają liczbę elementów skupienia Ci i Cj, odpowiednio.

Literatura


Strona przygotowana przez Sinh Hoa Nguyen, Jakuba Wróblewskiego, 2006.