SOM (Self Organizing Maps)

Transkrypt

SOM (Self Organizing Maps)
SOM
SELF-ORGANIZING MAPS
Przemysław Szczepańczyk
Łukasz Myszor
Podstawy teoretyczne Map Samoorganizujących się
stworzył prof. Teuvo Kohonen (1982 r.).
●
●
SOM wywodzi się ze sztucznych sieci neuronowych.
SOM znalazły zastosowania w licznych dziedzinach,
m.in.:
●
- Rozpoznawanie mowy
- Kompresja obrazów
- Zagadnienia sterowania i robotyki
- Wyszukiwanie dokumentów
- I inne
Mapę tworzy statyczna siatka komórek (sieć Kohonena
jest najbardziej znanym modelem)
●
Wizualizacja wielowymiarowych danych za pomocą
dwuwymiarowej mapy w taki sposób, aby dokumenty
bliskie sobie w przestrzeni dokumentów były bliskie sobie
na płaszczyźnie.
●
●
Odwzorowanie wag danych za pomocą kolorów
●
Jest to sieć ucząca sie bez nadzoru.
●
Mapa ma stały rozmiar.
Siatka ma najczęściej budowę heksagonalną lub
prostokątną.
●
Głównym kosztem podczas tworzenia mapy jest
porównywanie wektorów.
●
Graficzna reprezentacja sieci Kohonena
Elementy budujące siatkę
Przykład grupowania kolorów przy pomocy algorytmu SOM:
Mapa wstępna
Mapa po 100 iteracjach
Neurony wyjściowe (a dokładniej ich wagi) można
inicjować wartościami losowymi.
Metodyka zmian wag neuronów wyjściowych nazywa się
strategią. Dla SOM dwie podstawowe strategie to:
- WTA: Winner Takes All Zwycięzca bierze wszystko.
Po przedstawieniu sieci wektora wejściowego, neuron
najbardziej podobny do elementu prezentowanego
(którego wagi są najbardziej podobne składowym
wektora wejściowego) zostaje zmodyfikowany tak aby
jego wagi były jak najbardziej zbliżone do wektora
wejściowego.
- WTM: Winner Takes Most Zwycięzca bierze
najwięcej. W tej strategii nie tylko neuron najbardziej
podobny, ale także jego otoczenie zostają
zmodyfikowane. Najczęściej ta modyfikacja jest zależna
od odległości sąsiada od zwycięzcy.
Uczenie SOM polega na tym, że dla każdego wektora
wejściowego zwycięzca oraz jego sąsiedzi (ściślej ich
wektory modelowe) są modyfikowane tak aby były one
bardziej podobne wektorowi prezentowanemu.
W czasie fazy uczenia pojedyncze zmiany mogą być
sprzeczne, ale całkowitym wynikiem procesu powinny
być elementy poukładane na mapie.
Funkcja uczenia:
Mając próbkę x ze zbioru uczącego X w danym kroku t
fazy uczenia znajdujemy element mapy najbardziej
zbliżony do wektora prezentowanego c(x):
c(x) = arg min{||x-mi||}
Po znalezieniu tego elementu, zwycięzca i jego sąsiedzi
modyfikowani są za pomocą wzoru:
mi(t+1)= mi(t) + hc(x),i(t)[x(t) – mi(t)]
gdzie hc(x),i jest funkcją sąsiedztwa i działa wygładzająco na
elementy siatki znajdujące w okolicy zwycięzcy; t –
zmienna czasowa .
Funkcja sąsiedztwa jest brana jako funkcja rozkładu
gaussowskiego:
Gdzie 0 < α(t) < 1 opisywana jest jako prędkość
uczenia. Z założenia α(t) jest funkcją nie rosnącą.
Algorytm Batch Map:
Jest to modyfikacja SOM stworzona przez Kohonena.
Zakłada modyfikacje wektorów modelowych dopiero po
analizie pewnej liczby elementów oraz przyjmuje
dostępność wszystkich przykładów przed uruchomieniem.
Warunek ten w przypadku modelowania mapy
dokumentów off-line nie jest ograniczeniem.
Dzięki temu algorytmowi przy odpowiednio dużej liczbie
przykładów otrzymuję się znaczące oszczędności
obliczeniowe . Algorytm ten jest zależny od wartości
początkowych. Mechanizm ten powinien dawać dobre
rezultaty przy pewnym wstępnym przesortowaniu.
Model Batch Map odpowiednio zastosowany do tworzenia
map dokumentów nie powoduje znaczącej utraty jakości
przy znacznym przyspieszeniu obliczeń. Kilkanaście
iteracji algorytmu Batch Map daje zadowalające wyniki
Ogólny algorytm Batch Map:
1) Jako wektory modelowe należy przyjąć K
wektorów przykładowych, gdzie K jest ilością
wektorów modelowych (ilością węzłów mapy).
2) Dla każdego elementu mapy i przypisać te
wektory ze zbioru przykładów, które znajdują się w
sąsiedztwie Ni elementu i (Ni – zbiór sąsiadów).
3) Ustawić wektor modelowy elementu mapy jako
średnią ze zbioru elementów przypisanych do tego
elementu.
4) Powtórzyć kroki 2 i 3
WEBSOM:
Własności klastrowania i odwzorowywania danych
wejściowych SOM postanowiono wykorzystać w
dziedzinie wyszukiwania informacji.
●
Powstał w Centrum Badań nad Sieciami Neuronowymi
(Helsinki University of Technology).
●
●
Autor: prof. Teuvo Kohonen.
Praktycznie można w niej umieścić nieskończoną ilość
dokumentów.
●
Z powodu dużej złożoności i czasochłonności procesu
uczenia tworzone mapy mogą być jedynie statyczną
prezentacją zbioru dokumentów stworzoną off-line.
●
Zastosowanie w internecie
WebSom może być bardzo pomocne w wizualnym
zorganizowaniu odpowiedzi z tradycyjnych wyszukiwarek.
Użytkownik, otrzymując kilkaset lub kilka tysięcy
dokumentów z wyszukiwarki w praktyce korzysta jedynie
z kilkunastu. Natomiast posługując się mapą i jednym
relewantnym dokumentem jako punktem odniesienia,
może sięgnąć do innych, skorelowanych z nim
dokumentów.
Na metodę WEBSOM składają się następujące
kroki:
●
- Utworzenie słownika ze zbioru
odwzorowywanych dokumentów.
- Utworzenie modeli statystycznych dokumentów
w postaci histogramu słów.
- Formatowanie mapy dokumentów za pomocą
algorytmu SOM.
Eksperyment WebSom przeprowadzony w 1998 r. przez
Kohonen'a:
- operował na zbiorze 1 124 134 dokumentów
- średnia długość dokumentu to 218 słów
- długość słownika wynosiła 63 773 słowa
- samoorganizująca się sieć składała się z 104 040
komórek
- materiał pochodził z 80 różnych grup tematycznych
Usenet'u
- każdy dokument klasyfikowano do jednej z 80 grup
- dokładność klasyfikacji wynosiła około 80 procent
- formatowanie mapy trwało około miesiąca
- wyszukiwanie w mapie odbywało się prawie w czasie
rzeczywistym
Fragment mapy
WEBSOM
Wady:
SOM jest obliczeniowo droga co jest poważną wadą,
gdy liczba wymiarów danych wzrasta.
●
●
Jest to metoda wolna.
●
Niemożliwe jest tworzenie mapy w trybie „on-line”.
Problemem jest dostarczenie poprawnych danych:
aby wygenerować mapę każdy wzorzec musi
posiadać wartość we wszystkich wymiarach.
●
Nauka sieci musi być powtarzana przy każdej nowej
porcji dokumentów
●
Źródła:
- Teuvo Kohonen – Self-Organization of Very Large
Document Collections: State of the Art
- SOM_PAK – zestaw programów w języku C autorstwa
Kohonena i jego zespołu:
http://www.cis.hut.fi/research/som_lvq_pak
- WebSOM: http://websom.hut.fi/websom/
- http://davis.wpi.edu/~matt/courses/soms/applet.html