Grupowanie danych str. 1 Wprowadzenie Celem procesu grupowania jest podział zbioru obiektów, fizycznych lub abstrakcyjnych, na klasy obiektów o podobnych cechach, nazywane klastrami lub skupieniami Klaster 1. Zbiór obiektów, które są podobne 2. Zbiór obiektów, takich, że odległość pomiędzy dwoma dowolnymi obiektami należącymi do klastra jest mniejsza aniżeli odległość pomiędzy dowolnym obiektem należącym do klastra i dowolnym obiektem nie należącym do tego klastra 3. Spójny obszar przestrzeni wielowymiarowej, charakteryzujący się dużą gęstością występowania obiektów str. 2 Przykłady Zbiór dokumentów zbiór punktów w przestrzeni wielowymiarowej, w której pojedynczy wymiar odpowiada jednemu słowu z określonego słownika. Współrzędne dokumentu w przestrzeni są zdefiniowane względną częstością występowania słów ze słownika. Klastry dokumentów odpowiadają grupom dokumentów dotyczących podobnej tematyki Zbiór sekwencji stron WWW pojedyncza sekwencja opisuje sekwencję dostępów do stron WWW danego serwera realizowaną w ramach jednej sesji przez użytkownika. Klastry sekwencji odpowiadają grupom użytkowników danego serwera, którzy realizowali dostęp do tego serwera w podobny sposób str. 3
Składowe procesu grupowania(1) obiekt Ekstrakcja cech Reprezentacja obiektu Podobieństwo obiektów sprzężenie zwrotne grupowanie klastry str. 4 Składowe procesu grupowania(2) Proces grupowania: Reprezentacja obiektów(zawiera ekstrakcję/selekcję cech obiektów) Definicja miary podobieństwa pomiędzy obiektami(zależy od dziedziny zastosowań) Grupowanie obiektów (klastry) Znajdowanie charakterystyki klastrów str. 5 Niepodobieństwo obiektów Niepodobieństwo (podobieństwo) obiektów opisujemy za pomocą macierzy niepodobieństwa (podobieństwa) Danych jest N obiektów, z których każdy jest opisany wartościami p atrybutów A 1,, A p (nazywanych zmiennymi) Macierz niepodobieństwa obiektów D, typu N N opisuje niepodobieństwo pomiędzy każda parą obiektów: gdzie D(x i, x j ) oznacza niepodobieństwo obiektów x i i x j str. 6
Miary odległości (1) Dyskusja dotycząca podobieństwa, lub odległości, dwóch obiektów wymaga przyjęcia miary odległości pomiędzy dwoma obiektami x i y reprezentowanymi przez punkty w przestrzeni wielowymiarowej: Klasyczne aksjomaty dla miary odległości będącej metryką: D(x, y) 0 x=y D(x, y) = 0 D(x, y) = D(y, x) D(x, y) D(x, z) + D(z, y) (nierówność trójkąta) str. 7 Atrybuty ciągłe (1) Dana jest k-wymiarowa przestrzeń euklidesowa, odległość pomiędzy dwoma obiektami x=[x 1, x 2,..., x p ] iy=[y 1, y 2,..., y p ] można zdefiniować następująco: odległość euklidesowa: ( norma L 2 ") odległość Manhattan : ( norma L 1 ") odległość max zwymiarów: ( norma L ") p 2 ( ) xi yi i= 1 p i= 1 max xi yi p i= 1 xi yi str. 8 Atrybuty ciągłe (2) p ( ( i= 1 )) q1/ q xi yi str. 9
Miary odległości (2) W przypadku, gdy obiekty nie poddają się transformacji do przestrzeni euklidesowej, proces grupowania wymaga zdefiniowania innych miar odległości (podobieństwa): sekwencja dostępów do stron WWW, sekwencjedna,sekwencje zbiorów, zbiory atrybutów kategorycznych, dokumenty tekstowe, XML, grafy, itp. str. 10 Atrybuty binarne (1) W jaki sposób obliczyć podobieństwo(lubniepodobieństwo) pomiędzy dwoma obiektami opisanymi zmiennymi binarnymi: Podejście: konstruujemy macierz niepodobieństwa q liczba zmiennych przyjmujących wartość 1 dla obu obiektów r... 1 dlaobiektu i, iwartość0 dlaj s... 0 dlaobiektu i, iwartość1 dlaj t -... 0 dla obu obiektów obiekt j 1 0 Sum obiekt i 1 q r q+r 0 s t s+t Sum q+s r+t p str. 11 Atrybuty binarne (2) Zmienne binarne symetryczne: zmienną binarną nazywamy symetryczną jeżeli obie wartości tej zmiennej posiadają tą samą wagę(np. płeć). Niepodobieństwo pomiędzy obiektami i i j jest zdefiniowane następująco: r+ s d( i, j)= q+ r+ s+ t Zmienne binarne asymetryczne: zmienną binarną nazywamy asymetrycznąjeżeli obie wartości tej zmiennej posiadają różne wagi(np. wynik badania EKG). Niepodobieństwopomiędzy obiektamii ij jest zdefiniowane następująco r+ s d( i, j)= q+ r+ s str. 12
Atrybuty binarne (3) imię pleć gorączka katar test1 test2 test3 test4 Jack M Y N P N N N Mary F Y N P N P N Jim M Y Y N N N N........................ Dana jest tablica zawierająca informacje o pacjentach: 0+ 1 0+ 1 d asym (jack,mary) = = 0.33 d sym (jack,mary) = = 0.17 2+ 0+ 1 2+ 0+ 3 1 d asym (jack, jim) = = 0.67 1 2 d asym (jim,mary) = = 0.75 2 1 d sym (jack, jim) = = 0.33 3 2 d sym (jim,mary) = = 0.5 2+ 2 str. 13 Atrybuty kategoryczne (1) Zmienna kategoryczna jest generalizacjązmiennej binarnej: może przyjmować więcej niż dwie wartości(np. dochód: wysoki, średni, niski) Zmienne kategoryczne: nominalne porządkowe Niepodobieństwo(podobieństwo) pomiędzyobiektamii,j,opisanymi zmiennymi kategorycznymi nominalnymi, można zdefiniować następująco: d(i, j) p m = p n sim( i, j) = = sim ( i, j) = p p gdziep oznacza łącznąliczbę zmiennych, m oznacza liczbę zmiennych, których wartość jest identyczna dla obu obiektów, n oznacza liczbę zmiennych, których wartość jest różna dla obu obiektów. m p str. 14 Atrybuty kategoryczne (2) Dla atrybutów nominalnych stopień podobieństwa lub niepodobieństwa wartości atrybutu nominalnego może być zdefiniowany explicite przez użytkownika w postaci macierzy niepodobieństwa Macierz niepodobieństwa jest macierzą symetryczną M M, której elementy przekątne m ii = 0, i = 1,, M, a pozostałe elementy m ij > 0, i j Najczęściej przyjmuje się, że elementy macierzy m ij = 1, i j. Oznacza to, że podobne są do siebie wyłącznie identyczne wartości atrybutu nominalnego, pozostałe wartości są niepodobne Podobne mogą być również inne wartości atrybutu nominalnego Samochody: - Honda - Fiat - Volvo - Nissan str. 15
Atrybuty kategoryczne (3) W przypadku atrybutów porządkowych nie można określić różnicy ich wartości -nie możemy zatem określić sensownie miary odległosci miedzy obiektami opisanymi atrybutami porządkowymi W rzeczywistości, wartości atrybutów porządkowych określają ranking poszczególnych obiektów na skali porządkowej atrybutów porządkowych Atrybuty porządkowe transformujemy najczęściej do postaci atrybutów ciągłych i dalej postępujemy jak w przypadku atrybutów ciągłych gdzie M oznacza liczbę różnych wartości atrybutu porządkowego str. 16 Obiekty opisane atrybutami różnych typów (1) Najpopularniejszym podejściem do problemu określenia niepodobieństwa obiektów opisanych atrybutami różnych typów jest podejście oparte na agregacji niepodobieństw poszczególnych typów atrybutów opisujących obiekty i uzyskaniu jednej zagregowanej miary niepodobieństwa, będącej średnia ważona poszczególnych miar niepodobieństwa pojedynczych atrybutów Ogólna postać takiej zagregowanej miary niepodobieństw obiektów jest najczęściej definiowana w następujący sposób: gdzie w k oznacza wagę k-tego atrybutu A k, a d k (x ik, x jk ) niepodobieństwo wartości k-tego atrybutu obiektów x i i x j str. 17 Obiekty opisane atrybutami różnych typów (2) str. 18
Obiekty opisane atrybutami różnych typów (3) str. 19 Obiekty opisane atrybutami różnych typów (4) str. 20 Przykład (1) ob-id A1 A2 A3 1 Ala bardzo dobry 400 2 Beata dobry 50 3 Celina dostateczny 150 4 Ala bardzo dobry 600 Dane (obiekty) są opisane 3 typami atrybutów: A1 atrybut nominalny, A2 atrybut porządkowy i A3 atrybut ciągły Załóżmy, że w przypadku atrybutu A1 podobne są wyłącznie identyczne wartości atrybutu str. 21
Przykład (2) str. 22 Przykład (3) str. 23 Przykład (4) str. 24
Przykład (5) str. 25 Inne typy danych (1) str. 26 Inne typy danych (2) str. 27
Inne typy danych (3) Sekwencje DNA, sekwencje dostępu do stron WWW: definicja odległości (podobieństwa) sekwencji symboli, powinna uwzględniać fakt, że sekwencje mogą mieć różną długość oraz różne symbole na tych samych pozycjach, np.: x= abcde y= bcdxye Miaraodległości:D(x, y) = x + y -2 LCS(x, y) gdzielcs oznaczanajdłuższą wspólną podsekwencję (ang. longest common subsequence)(lcs(x,y) = bcde). Stąd, D(x, y) = 3 str. 28 Metody grupowania typy metod Istnieje wiele różnych metod i algorytmów grupowania: Dla danych liczbowych i/lub danych symbolicznych Deterministyczne i probabilistyczne Rozłączne i przecinające się Hierarchiczne i płaskie Monocechowe i policechowe Przyrostowe i nie przyrostowe str. 29 Klasyfikacja metod grupowania Popularna klasyfikacja metod grupowania metody hierarchiczne metody itracyjno-optymalizacyjne metody gstościowe metody gridowe metody oparte na modelu str. 30
Metody hierarchiczne - wprowadzenie Metody hierarchiczne: generują zagnieżdżoną sekwencję podziałów zbiorów obiektów w procesie grupowania Metoda grupowania hierarchicznego polega na sekwencyjnym grupowaniu obiektów - drzewo klastrów(tzw. dendrogram). Podejście podziałowe(top-down): początkowo, wszystkie obiekty przypisujemy do jednego klastra;następnie, w kolejnych iteracjach, klaster jest dzielony na mniejsze klastry, które, z kolei, dzielone są na kolejne mniejsze klastry Podejście aglomeracyjne(bottom-up): początkowo, każdy obiekt stanowi osobny klaster, następnie, w kolejnych iteracjach, klastry są łączone w większe klastry str. 31 Metody hierarchiczne - wprowadzenie F G C A B D E obiekty A B C D E F G dendrogram str. 32 Miary odległości (1) W obu podejściach, aglomeracyjnym i podziałowym, liczba klastrów jest ustalona z góry przez użytkownika i stanowi warunek stopu procesu grupowania 4 podstawowe (najczęściej stosowane) miary odległości pomiędzy klastrami są zdefiniowane następująco, gdzie p p oznacza odległość pomiędzy dwoma obiektami(lub punktami)p ip, m i oznacza średnią wartośćklastrac i, in i oznacza liczbę obiektównależących do klastrac i str. 33
Miary odległości (2) minimalna odległość: maksymalna odległość: odległość średnich: średnia odległość: ' dmin ( CC i, j) = min ' p p ' dmax ( CC i, j) = max ' p p p Ci, p Cj dmean( CC i, j) = mi mj ' d ( CC) = 1/( nn) p p ave i, j p Ci, p Cj i j ' p Ci p Cj str. 34 Ogólny hierarchiczny aglomeracyjny algorytm grupowania Wejście: baza danychd obiektów(n -obiektów) Wyjście: dendrogram reprezentujący grupowanie obiektów 1. umieść każdy obiekt w osobnym klastrze; 2. skonstruuj macierz odległości pomiędzy klastrami; 3. dla zadanej wartości niepodobieństwad k (d k może się zmieniać w kolejnych iteracjach) 4. Repeat 5. utwórz grafklastrów, w którymkażda para klastrów, której wzajemna odległość jest mniejsza niż d k,jest połączonakrawędzią; 6. until wszystkie klastry utworzą graf spójny; 7. returndendrogram str. 35 Hierarchiczny aglomeracyjnyalgorytm grupowania (1) Wejście: baza danych D n obiektów. Wyjście: dendrogram reprezentujący sekwencję grupowania obiektów 1: umieść każdy obiekt w osobnym klastrze; 2: skonstruuj macierz odległości międzyklastrowej dla wszystkich par klastrów; 3: korzystając z macierzy odległości międzyklastrowych, znajdź najbliższą parę klastrów i połącz znalezione klastry, tworząc nowy klaster; 4: uaktualnij macierz odległości międzyklastrowych po operacji połączenia; str. 36
Hierarchiczny aglomeracyjnyalgorytm grupowania (2) 5: if wszystkie obiekty należą do jednego klastra then 6: zakończ procedurę grupowania; 7: else 8: przejdź do kroku 3; 9: end if 10: return dendrogram reprezentujący sekwencje grupowania obiektów; str. 37 Hierarchiczne podejście podziałowe W przypadku hierarchicznych podziałowych algorytmów grupowania początkowo wszystkie obiekty przypisane są do jednego klastra, a następnie, w kolejnych iteracjach, klaster jest dzielony na mniejsze klastry, aż do osiągniecia warunku stopu algorytmu Większość podziałowych algorytmów grupowania zakłada, że w każdej iteracji algorytmu klaster jest dzielony dokładnie na dwa podklastry W wyniku działania algorytmów podziałowych otrzymujemy najczęściej dendrogram, który ma postać drzewa binarnego Ze względu na strukturę otrzymanego dendrogramu algorytmy te noszą nazwę binarnych podziałowych algorytmów grupowania str. 38 Algorytm PDDP (1) Podstawowy obszar zastosowań algorytmu -grupowanie dokumentów tekstowych Algorytm PDDPzakłada wektorową reprezentację dokumentów tekstowych -każdy dokument d i jest reprezentowany przez wektor częstości występowania słów kluczowych w danym dokumencie Słownik słów kluczowych (tak zwany tezaurus) zawiera nsłów kluczowych Każdy dokument tekstowy d i jest reprezentowany przez n-wymiarowy wektor kolumnowy częstości występowania słów kluczowych: d i = (d i1, d i2,, d in ) T Współczynnik d ij nazywamy wagąsłowa t j w dokumencie d i str. 39
Algorytm PDDP (2) Załóżmy, ze dany jest zbiór mdokumentów tekstowych d 1, d 2,, d m Zbiór ten można przedstawić w postaci macierzy występowania słów kluczowych (ang. term frequency matrix). M = (d 1, d 2,, d m ) Macierz M jest macierzą, o rozmiarze n m, wektorów częstości występowania słów kluczowych Aby uniknąć faworyzowania dużych dokumentów normalizujemy wagi dokumentów: str. 40 Algorytm PDDP (3) str. 41 Algorytm PDDP (4) str. 42
Algorytm PDDP (5) str. 43 Algorytm PDDP (6) str. 44 Działanie algorytmu PDDP (1) str. 45
Działanie algorytmu PDDP (2) str. 46 Działanie algorytmu PDDP (2) str. 47