średnie geometryczne grupowanie
Transkrypt
średnie geometryczne grupowanie
Grupowanie – VQ • Kwantyzacja wektorowa (VQ – Vector Quantization) • • • • • • • k-średnich GLA – Generalized Lloyd Algorithm ISODATA SOM – Self-Organizing Maps Wstępny podział na grupy Walidacja grupowania Przykłady zastosowania Statistical Pattern Recognition, Chapter 10 Kwantyzacja wektorowa 2 (Vector Quantization) Przykład ilustracyjny • • • Dany jest obraz 24 bit/piksel, 16 mln kolorów Posiadamy urządzenie z ekranem 8 bit/piksel 256 kolorów Chcemy znaleźć taki zestaw 256 kolorów (mapa kolorów) spośród 16 mln, aby obraz był najbardziej podobny do oryginału (zadanie kwantyzacji kolorów) • Ogólna wersja tego zadania – nazywana kwantyzacją wektorową – polega na odwzorowaniu z przestrzeni ciągłej do przestrzeni dyskretnej Statistical Pattern Recognition, Chapter 10 3 • Najprostsze rozwiązanie: kwantyzacja jednostajna, dzielimy przestrzeń na przedziały o równej długości • Wady: niektóre kolory mogą nie być w ogóle używane, często pojawiające się odcienie są nielicznie reprezentowane • Wniosek: rozkład kolorów w mapie powinien odzwierciedlać rozkład w oryginalnym obrazie. 4 • • Oryginalny 24-bitowy obraz reprezentuje próba x1,x2,…,xn Mapa kolorów składa się z 256 wektorów kodowych z1,z2,…,zg (g = 256), przy czym każdy wektor kodowy reprezentuje 24-bitowy kolor. Zbiór wektorów kodowych nazywany jest książką kodową. • Każdy piksel oryginalnego obrazu zastępowany jest przez najbliższy wektor kodowy. • Do przesłania pojedynczego piksela kanałem transmisyjnym wystarczy przesłać indeks jego wektora kodowego w książce kodowej. Statistical Pattern Recognition, Chapter 10 5 Kodowanie • i kanał transmisyjny zi ... zi x’ = zi i ... znajdź najbliższy x Dekodowanie Kwantyzacja wektorowa dokonuje kompresji danych: zamiast 24bitowych pikseli przekazujemy 8-bitowy indeks (256 elementów w książce kodowej) oraz dodatkowo samą książkę kodową, co daje współczynnik kompresji bliski 3 Statistical Pattern Recognition, Chapter 10 6 • Błąd rekonstrukcji to suma różnic między kolorami oryginalnych pikseli a ich wektorami kodowymi: D = ∑∑ bij d (x i , z j ), g n j =1 i =1 ( gdzie bij = 1 dla d x i , z j ) = min d (x i , z l ) oraz bij = 0 w przeciwnym l przypadku. • Minimalizacja błędu rekonstrukcji prowadzi do najlepszej książki kodowej • W celu rozwiązania tego zadania można użyć metod grupowania (np. k-średnich). Po dokonaniu podziału oryginalnego zbioru na grupy, dla każdej grupy należy określić reprezentanta. Statistical Pattern Recognition, Chapter 10 7 VQ – Sformułowanie problemu • • Dane: • zbiór p-wymiarowych wektorów x1,x2,…,xn • kryterium jakości: miara zniekształcenia / błąd rekonstrukcji Szukane: • zbiór p-wymiarowych wektorów z1,z2,…,zg, dla których kryterium jakości przyjmuje wartość najmniejszą x Kodowanie zi …i… i Dekodowanie x’ = zi Statistical Pattern Recognition, Chapter 10 8 Miary zniekształcenia • Średnie zniekształcenie (average distortion) D2 = ∫ p(x)d (x, x′) dx = ∫ p(x) x′ − x dx • Dla różnych postaci norm || . ||, otrzymujemy różne miary: {∑ p x′ − x } v 1v • norma Lv: • norma Minkowskiego: • norma kwadratowa (dla dodatnio określonej symetrycznej macierzy Q): i =1 max xi′ − xi 1≤i ≤ p (x′ − x )T Q(x′ − x ) • Dla skończonej liczby obiektów w próbie: D = ∑∑ bij d (x i , z j ), g n j =1 i =1 Statistical Pattern Recognition, Chapter 10 9 Algorytm k-średnich • Można zastosować wprost algorytm k-średnich grupowania danych 1) Wybierz początkowy zbiór wektorów kodowych (książkę kodową) 2) Na podstawie zbioru wektorów kodowych wyznacz taki podział na grupy, dla którego miara zniekształcenia przyjmuje wartość najmniejszą 3) Dla uzyskanego podziału na grupy znajdź najlepszy zbiór wektorów kodowych 4) Jeżeli warunek stopu nie jest spełniony, wróć do kroku 2) Statistical Pattern Recognition, Chapter 10 10 wektory kodowe oryginalne wektory obszar Voronoi Statistical Pattern Recognition, Chapter 10 11 Algorytm GLA – Generalized Lloyd Algorithm • Algorytm zaczyna działanie od pojedynczego wektora kodowego i pojedynczej grupy • Po uzyskaniu rozwiązania, wektor kodowy dzielony jest na dwa, położone blisko siebie • W kolejnej iteracji znajdywane jest rozwiązanie dla dwóch wektorów kodowych i dwóch grup • Po uzyskaniu rozwiązania, każdy wektor dzielony jest na dwa „potomne”, dając w efekcie cztery wektory kodowe i cztery grupy • Procedura powtarzana jest aż do wystąpienia warunku stopu Statistical Pattern Recognition, Chapter 10 12 Z+ε Z-ε 1) Wybierz początkowy wektorów kodowy z1 jako średnią zbioru; ustal ε; m := 1 2) Dla uzyskanego zbioru m wektorów kodowych, dokonaj rozbicia każdego wektora zi na dwa wektory zi + ε, zi - ε ; m := 2m Statistical Pattern Recognition, Chapter 10 13 3) Wyznacz podział na grupy minimalizujący przyjętą miarę zniekształcenia 4) Dla uzyskanego podziału znajdź najlepszy zbiór wektorów kodowych 5) Powtarzaj kroki 3 i 4, dopóki nie zostanie spełniony warunek stopu 6) Jeżeli m ≠ N wróć do kroku 2 Statistical Pattern Recognition, Chapter 10 14 Algorytm ISODATA • Jest rozszerzeniem algorytmu k-średnich o możliwość automatycznego doboru liczby grup • Wymaga ustalenia wartości następujących parametrów: • NMIN_EX – minimalna liczba obiektów w grupie • ND – przybliżona, oczekiwana liczba grup • σS2 – maksymalny rozrzut w grupie • DMERGE – minimalna dopuszczalna odległość między grupami • NMERGE – maksymalna liczba łączonych grup Statistical Pattern Recognition, Chapter 10 15 Ogólny schemat algorytmu • • Grupowanie: dokonaj podziału na grupy algorytmem k-średnich Dzielenie grup (splitting): jeżeli w jakiejś grupie występują znaczne różnice między obiektami, rozdziel je do odrębnych grup • Łączenie grup (merging): jeżeli jakieś grupy leżą bardzo blisko siebie, połącz je w jedną grupę • Powtarzaj procedurę dopóki nie wystąpi warunek stopu Statistical Pattern Recognition, Chapter 10 16 1) Ustal początkową liczbę grup NC; przyjmij NC pierwszych obiektów ze zbioru za centra grup mi (i = 1,2,…, NC) 2) Przypisz obiekty do grup reprezentowanych przez najbliższe centra a) jeżeli przydział obiektów do grup nie zmienił się to zakończ algorytm 3) Usuń grupy zawierające mniej niż NMIN_EX obiektów oraz a) obiekty z usuniętych grup przypisz do najbliższych pozostałych b) zmniejsz NC o liczbę usuniętych grup 4) Dla każdej i-tej grupy wykonuj a) wyznacz centra mi (i = 1,2,…, NC) nowych grup b) wyznacz średnią odległość między obiektami a centrami grup: d AVG = 1 NC 1 , n d d = ∑ i i i n n i =1 i ∑ n b x j − mi j =1 ij Statistical Pattern Recognition, Chapter 10 17 c) oblicz wariancję wzdłuż każdej osi układu współrzędnych i znajdź oś o* o maksymalnej wariancji σi2(o*) 5) Dla każdej i-tej grupy, dla której σi2(o*) > σS2 wykonuj: jeżeli ( di > dAVG i Ni > 2 NMIN_EX+1 ) lub ( NC < ND/2 ) to: a) podziel tę grupę na dwie, których centra mi1 i mi2 różnią się tylko ze względu na współrzędną o* mi1(o*) = mi(o*) + ε σi(o*), 0<ε<1, mi2(o*) = mi(o*) - ε σi(o*), 0<ε<1, (pozostałe współrzędne pozostają niezmienione) b) zwiększ NC o liczbę dodanych grup c) obiekty z rozdzielonej grupy przyporządkuj do nowych grup Statistical Pattern Recognition, Chapter 10 18 6) Jeżeli NC > 2 ND to wykonuj: a) oblicz wszystkie odległości dij = d(mi, mj) b) posortuj dij malejąco c) dla każdej pary grup i,j wykonuj: jeżeli (żadna grupa nie została dotychczas podzielona) i (dij < DMERGE) i (nie więcej niż NMERGE par grup zostało połączonych w trakcie bieżącej iteracji) to: – połącz i-tą i j-tą grupę – wyznacz centrum nowej grupy: m' = ni m i + n j m j ni + n j – zmniejsz NC o liczbę usuniętych grup 7) Wróć do kroku 1 Statistical Pattern Recognition, Chapter 10 19 • Algorytm ISODATA łatwo eliminuje grupy zawierające niewielką liczbę obiektów • • Grupy powinny być liniowo separowalne Wartości parametrów algorytmu trzeba dobrać metodą prób i błędów Statistical Pattern Recognition, Chapter 10 20 SOM – Self Organizing Maps • Do zbioru wektorów kodowych wprowadza się pewne uporządkowanie (topologię). Polega ono na określeniu tzw. sąsiedztwa (neighborhood). Wektory kodowe są ułożone w siatkę sąsiedztwa • Wektory kodowe związane relacją sąsiedztwa reprezentują podobne grupy obiektów • • • Najczęściej stosuje się siatki 1 i 2-wymiarowe Przykład siatki jednowymiarowej: Przykłady dwuwymiarowych siatek sąsiedztwa (kolejna strona): Statistical Pattern Recognition, Chapter 10 sąsiedztwo 1 poziomu sąsiedztwo 1 i 2 poziomu 21 22 Ogólny schemat algorytmów SOM • Wybierz wymiar siatki sąsiedztwa i rodzaj sąsiedztwa (liczba sąsiadów pojedynczego wektora kodowego) • Wylosuj początkowy zestaw wektorów kodowych jako m + εi, gdzie m to średnia z całego zbioru, a εi jest wektorem losowym o małych wartościach • Wybierz początkową wartość tzw. współczynnika uczenia η (learning rate) oraz ustal sposób jego zmniejszania w kolejnych iteracjach • Ustal sposób zmniejszana zasięgu sąsiedztwa h 23 • Dopóki nie wystąpi warunek stopu, powtarzaj następującą procedurę: • Wylosuj wektor xi ze zbioru uczącego i znajdź najbliższy mu wektor kodowy z* (z* nazywany jest zwycięzcą) • Dokonaj poprawek wektorów kodowych zl leżących w sąsiedztwie zwycięzcy z* (zwycięzca również należy do swojego sąsiedztwa): zl := zl + η h(zl,z*) (xi - zl), gdzie h jest funkcją sąsiedztwa mającą maksimum dla h(z*,z*) = 1 • • Zmodyfikuj wartość η zgodnie z przyjętym schematem Zmniejsz zasięg sąsiedztwa, modyfikując wartość odpowiedniego parametru funkcji h) 24 Ilustracja pojedynczej iteracji • Często przyjmuje się, że w kolejnych iteracjach wartości współczynnika uczenia η tworzą szereg geometryczny lub są wartościami w kolejnych punktach funkcji wykładniczo malejącej • W początkowych iteracjach sąsiedztwo obejmuje prawie całą siatkę wektorów kodowych, natomiast w końcowych iteracjach w zakres sąsiedztwa wchodzi tylko zwycięzca Statistical Pattern Recognition, Chapter 10 25 Najczęściej stosowanymi realizacjami SOM są: • Sieć Kohonena : wektory kodowe są powiązane regularną siatką sąsiedztwa • Gaz neuronowy : możliwe jest dodawanie lub usuwanie wektorów kodowych w obrębie siatki sąsiedztwa Statistical Pattern Recognition, Chapter 10 26 Przykład działania sieci Kohonena: – dwuwymiarowe dane uczące wylosowane z rozkładu jednostajnego, – sąsiedztwo jednowymiarowe 27 Przykład działania sieci Kohonena: – dwuwymiarowe dane uczące wylosowane z rozkładu jednostajnego, – sąsiedztwo dwuwymiarowe 28 Przykład działania gazu neuronowego: – dwuwymiarowe dane uczące z określoną strukturą grup Statistical Pattern Recognition, Chapter 10 Wstępny podział na grupy • • 29 Dana jest n-elementowa próba x1, x2,…, xn Szukamy wstępnego podziału na k grup, lub k reprezentantów tych grup • Wstępny podział powinien być uzyskany za pomocą algorytmu o niskiej złożoności obliczeniowej • Rezultat stanowi rozwiązanie początkowe dla właściwego (bardziej złożonego obliczeniowo) algorytmu grupowania Statistical Pattern Recognition, Chapter 10 30 Losowy wybór k reprezentantów • • Z całego zbioru n obiektów losujemy bez zwracania k obiektów Wylosowane obiekty są traktowane jako reprezentanci grup w kroku początkowym docelowego algorytmu grupowania x2 x1 Statistical Pattern Recognition, Chapter 10 31 Kwantyzacja cech • Wybierana jest jedna z cech, oryginalna lub po transformacji (np. składowa główna metody PCA) • Zakres możliwych wartości wybranej cechy dzielony jest na k równych przedziałów • • Z każdego przedziału wybierany jest reprezentant grupy Najczęściej reprezentantem grupy jest wektor średni x2 x1 Statistical Pattern Recognition, Chapter 10 32 Algorytm lidera 1) Ustal promień grupy T 2) Wybierz pierwszy obiekt x1 ze zbioru X jako centrum pierwszej grupy (lider). 3) Dla kolejnych obiektów xi (i = 2,…,n) wykonuj: a) Znajdź najbliższego lidera b) Jeżeli odległość xi od najbliższego lidera ≤ T, to przypisz xi do jego grupy c) Jeżeli odległość xi od najbliższego lidera > T, to xi zostaje uznane za lidera nowej grupy Statistical Pattern Recognition, Chapter 10 33 T • • Środki grup są odległe od siebie co najmniej o T Algorytm jest szybki, gdyż wymaga jednorazowego przejścia przez zbiór • Jako dane wejściowe algorytmu można – zamiast zbioru – podać macierz niepodobieństw między obiektami • • Rezultat zależy od kolejności obiektów w zbiorze Użytkownik nie podaje z góry liczby grup Statistical Pattern Recognition, Chapter 10 34 Walidacja grupowania • Metody grupowania dokonują podziału nawet wówczas, gdy w danych nie ma naturalnie występujących grup (np. grupowanie danych wygenerowanych z rozkładu jednostajnego) • • Różne metody grupowania dają w rezultacie różne podziały Każda metoda grupowania wprowadza pewne założenia o strukturze zbioru (np. metody najmniejszych kwadratów na ogół zakładają nie wprost sferyczny kształt grup) • Jak ocenić, czy podział na grupy odpowiada strukturze zbioru? • Najprościej wykonać wizualizację zbioru w dwóch wymiarach, np. używając dwóch pierwszych składowych głównych metody PCA • Jak ocenić, czy liczba grup została dobrana prawidłowo? Statistical Pattern Recognition, Chapter 10 35 Modele zbiorów danych bez grup • Model Poissona: obiekty są próbą ze zbioru o p-wymiarowym rozkładzie jednostajnym, rozpiętym nad pewnym obszarem A. Standardowo przyjmuje się obszar A w postaci hiperkostki lub hipersfery. • Rozkład jednomodalny: zbiór jest opisany dowolnym rozkładem jednomodalnym (zazwyczaj przyjmuje się wielowymiarowy rozkład normalny o sferycznym kształcie). Statistical Pattern Recognition, Chapter 10 36 Miara zniekształcenia (distortion measure) • Analizowane są różnice pomiędzy macierzą niepodobieństwa D oraz odpowiadającą jej macierzą D*, zawierającą odległości wyznaczone na podstawie ultrametryki • • dij to niepodobieństwa między obiektami xi i xj dij* to odległości między grupami zawierającymi xi i xj ∑ ∆= i< j d ij − d ij∗ ∑ i< j • d ij Im mniejsza wartości miary zniekształcenia ∆ tym łatwiej klasyfikatorowi, który zwrócił macierz D*, klasyfikować dane ze zbioru X Statistical Pattern Recognition, Chapter 10 37 Wybór liczby grup • Kryterium Milligana i Coopera: liczba grup g jest tak dobrana, aby maksymalizować wyrażenie n − g Tr (S B ) g − 1 Tr (SW ) Preferowane są takie wartości g, które prowadzą do większych rozproszeń pomiędzy klasami i jednocześnie małych rozproszeń wewnątrz klas. Statistical Pattern Recognition, Chapter 10 38 • Zmodyfikowany test wiarygodności: opracowany dla mieszanin rozkładów (metoda EM) • Hipoteza zerowa: g = g0, przy hipotezie alternatywnej g = g1 • Wartość testowa to 2 g1 − n − 1 − p − log(λ ), 2 n gdzie λ to współczynnik wiarygodności. • Test chi-kwadrat z liczbą stopni swobody równej podwojonej różnicy pomiędzy liczbami parametrów w każdej hipotezie. W przypadku mieszaniny rozkładów Gaussa o zadanymi macierzami kowariancji, liczba stopni swobody jest równa: n p = 2( g1 − g 0 ) p( p + 3) 2 Statistical Pattern Recognition, Chapter 10 Przykłady zastosowania 39 Produkcja leków • Należy opracować związek chemiczny o pożądanych właściwościach • Istotnym zadaniem jest przewidywanie własności chemicznych nowoopracowywanych cząsteczek • Można wykonać to zadanie za pomocą technik komputerowych, co umożliwia wyselekcjonowanie tylko tych cząsteczek, których właściwości będą bliskie pożądanym • Oszczędzany jest czas i pieniądze, ponieważ do badań laboratoryjnych trafią tylko „obiecujące” cząsteczki Statistical Pattern Recognition, Chapter 10 40 • Opracowane zostały bazy danych cząsteczek chemicznych wraz z ich właściwościami • Dla nowoopracowywanej cząsteczki poszukuje się cząsteczki najbardziej do niej „podobnej”, licząc na to, że jej właściwości chemiczne również będą podobne • Cząsteczki uznawane są za podobne, jeżeli ich powierzchnie Van der Waalsa (czyli powierzchnie potencjału elektrostatycznego) są podobne. • Powierzchnia Van der Waalsa jest rozmaitością rozpiętą w 3wymiarach Statistical Pattern Recognition, Chapter 10 41 • • Problem: jak porównywać dwie rozmaitości trójwymiarowe? Pomysł: należy „rozpiąć” powierzchnie Van der Waalsa na dwóch wymiarach i porównywać dwuwymiarowe obrazy. • Do wykonania tej transformacji najczęściej wykorzystywane są SOM-y, z sąsiedztwem kwadratowym i dużą liczbą neuronów (np. siatka 64x64) SOM Zupan J. and Gasteiger J. – Neural Networks in Chemistry and Drug Design, Wiley, 1999 Statistical Pattern Recognition, Chapter 10 42 • Inne zastosowania • • Wizualizacja danych wielowymiarowych Wstępne przetwarzanie danych w: • • • • • • • rozpoznawaniu mowy, rozpoznawaniu mówcy, diagnostyce medycznej Kodowanie obrazu Kodowanie sygnału mowy Segmentacja obrazów medycznych Redukcja ciągu uczącego Detekcja awarii Grupowanie białek Statistical Pattern Recognition, Chapter 10