ś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

Podobne dokumenty