• Nie Znaleziono Wyników

SOM i WebSOM

N/A
N/A
Protected

Academic year: 2021

Share "SOM i WebSOM"

Copied!
47
0
0

Pełen tekst

(1)

SOM i WebSOM

(2)

Wprowadzenie

SOM jest skrótem od

Self Organizing Maps, czyli Samoorganizujące się mapy.

Podstawy teoretyczne stworzył fiński profesor Teuvo Kohonen w 1982 r

(3)

SOM - ogólnie

Celem tych sieci jest klasyfikowanie wielowymiarowych danych

wejściowych - obiektów opisanych dużą ilością parametrów – w taki sposób, by przedstawić reprezentację tych danych w mniejszej ilości wymiarów, przeważnie dwóch, przy możliwie jak najwierniejszym odwzorowaniu struktury wewnętrznej wektora wejściowego. Dzięki temu sieci te przydatne są przy wizualizacjach skomplikowanych

struktur, a przetworzone przez nie dane mogą stanowić podstawę do diagramów wyświetlanych na ekranie, jak również znajdują

zastosowanie wszędzie tam, gdzie istotna jest redukcja rozmiarów danych wejściowych, ze względu na zdolność kompresji

samoorganizującej sieci Kohonena.

(4)

Uczenie się bez nadzoru

SOM jest siecią uczącą się bez nadzoru

Sieci uczące się bez nauczyciela w trakcie uczenia opierają się wyłącznie na obserwacji danych wejściowych, nikt im natomiast nie mówi, co z tych danych wejściowych powinno wynikać to sieci muszą wykryć i ustalić

same.

Sieć Kohonena uczy się całkiem sama, wyłącznie obserwując przesyłane do niej dane, których wewnętrzna struktura i ukryta w tej strukturze nieznana logika będą decydować o końcowym obrazie klasyfikacji i o ostatecznym działaniu sieci. Można założyć, że w sieci Kohonena poszczególne neurony będą identyfikowały i rozpoznawały poszczególne skupienia danych. Przez skupienie danych rozumieć tu będziemy grupę danych: dane należące do skupienia są między sobą w jakimś stopniu podobne, natomiast dane należące do różnych skupień różnią się pomiędzy sobą.

(5)

Sztuczna sieć neuronowa - definicje

SOM wywodzi się ze sztucznych sieci neuronowych Sztuczna sieć neuronowa (SSN) - definicje:

Zbiór połączonych ze sobą jednostek wejściowo-wyjściowych. Z każdym połączeniem skojarzona jest waga, która może zostać zmieniona w trakcie uczenia

(6)

Sztuczna sieć neuronowa - definicje

Lub inaczej:

Sztuczne sieci neuronowe są tworem człowieka, ale działaniem naśladują to, co natura stworzyła i rozwijała przez miliony lat - strukturę nerwową potrafiącą odbierać docierające sygnały i efektywnie przetwarzać je na użyteczną informację.

Dowolna sztuczna sieć neuronowa może być zdefiniowana poprzez określenie:

- modelu sztucznego neuronu, - topologii,

- reguły uczenia sieci.

(7)

Struktura

Struktura SOM:

- sieć składa się z dwóch warstw

1. warstwa wejściowa – wektory wejściowe 2. warstwa wyjściowa – mapa topologiczna - sieć jest zwykle jednokierunkowa,

- każdy neuron jest połączony ze wszystkimi składowymi N-wymiarowego wektora wejściowego x.

- wagi połączeń neuronów tworzą wektor wi=[wi1, wi2, ..., win]T.

(8)

Struktura

(9)

Struktura

W strukturze sieci Kohonena istotne jest to, że każdy neuron warstwy wejściowej komunikuje się z każdym neuronem warstwy topologicznej – natomiast neurony w warstwach nie komunikują się pomiędzy sobą

(10)

Struktura

Mapa może być różnego kształtu i wymiaru. Mapa może być

jednowymiarowa, dwuwymiarowa płaszczyźnie lub torusie, trójwymiarowa itp. Najbardziej typową i najczęściej używaną jest mapa dwuwymiarowa.

Analizowane dane mają być odwzorowane na mapie (rozmiary mapy są zadawane przez użytkownika).

Zakładamy, że na mapie znajduje się M neuronów. Liczba M jest deklarowana, lub też przyjmuje się domyślnie:

M = 5 . √N gdzie N oznacza liczbę wektorów danych.

(11)

1D

(12)

2D

(13)

Przykładowe mapy dwuwymiarowe

Dwa przykłady mapy dwuwymiarowej utworzonej na płaszczyźnie.

Neurony są tam ułożone w siatkę heksagonalną i prostokątną.

(14)

Sąsiedztwo

Przy uczeniu się mapy bardzo ważną rolę odgrywa pojęcie sąsiedztwa neuronów. Sąsiedztwo to wyznacza się według położenia wektorów referencyjnych na mapie. Sąsiedztwo neuronu oznaczonego numerem c będziemy oznaczać Nc . Jeżeli chcemy wyraźnie napisać, że jest to

sąsiedztwo neuronu c który zwyciężył w k-tej iteracji, to zapiszemy Nc = Nc (k)

Zmienna c oznacza na ogół numer zwycięskiego neuronu w czasie uczenia ze współzawodnictwem. Na ogół sąsiedztwo Nc (k) charakteryzuje się

pewnym promieniem, który maleje wraz z upływem czasu uczenia t, czyli w miarę zwiększania się wskaźnika k.

(15)

Sąsiedztwo

(16)

Sąsiedztwo

Ważnym pojęciem jest zasięg sąsiedztwa, który się zwykle zmniejsza w trakcie uczenia

(17)

Sąsiedztwo

Sąsiedztwo może być sztywne (0 - nie należy, 1 - należy) lub też wyznaczane funkcją przynależności przyjmującej wartości rzeczywiste z przedziału [0,1].

Funkcja intensywności przynależności do

N

c jest oznaczana symbolem hcm(k) gdzie m i c są dwoma numerami ze zbioru 1,…,M.

Funkcje te opierają się na odległości neuronu m od zwycięskiego neuronu c. Funkcje te mają bardzo często postać funkcji radialnych scentrowanych w punkcie rc .

(18)

Sąsiedztwo

Jednowymiarowe funkcje sąsiedztwa dla promienia R = 2:

- bubble, - gaussian, - cut-gaussian, - epanechnikov

(19)

Sąsiedztwo

Funkcje sąsiedztwa: bubble i gaussian określone na płaszczyźnie. Funkcja bubble wyznacza sąsiedztwo w sposób ostry: 1 - tak, 0 - nie;

funkcja gaussian w sposób łagodny jako liczbę z przedziału (0, 1].

(20)

Sąsiedztwo

Najbardziej popularnymi funkcjami sąsiedztwa są bubble i gaussian. Są one pokazane na poprzednim slajdzie.

Przykładowo funkcja radialna gaussian przyjmuje postać:

gdzie wektory rm i rc są odpowiednimi wektorami referencyjnymi,

symbol k oznacza numer iteracji, 2Ϭ2(k) oznacza promień sąsiedztwa.

Jak widać z tej definicji, wielkość promienia sąsiedztwa 2Ϭ2(k) maleje ze wzrostem k.

(21)

Sąsiedztwo

(22)

Sąsiedztwo

Uczeniu w sieci Kohonena podlega „zwycięski” neuron (niebieski) oraz jego sąsiedzi

(23)

Sąsiedztwo

Sąsiedztwo jest pojęciem umownym, wiec w tej samej sieci można zdefiniować zarówno bliższych, jak i dalszych sąsiadów

(24)

Sąsiedztwo

Można też rozważać sąsiedztwo o zróżnicowanym zasięgu

(25)

Sąsiedztwo

Pokazywane przedtem przykłady sąsiedztwa odwoływały się do

dwuwymiarowej struktury sieci, możliwe jednak jest także zdefiniowanie sąsiedztwa jednowymiarowego

(26)

Uczenie się sieci

W trakcie pokazywania elementów zbioru uczącego każdorazowo

wyłaniany jest neuron „zwycięski”. Najczęściej właśnie ten „zwycięzca” jest uczony. Zwycięski jest ten neuron, którego wektor wag jest najbliższy w stosunku do aktualnego wektora wejściowego. Na skutek uczenia

zwycięzcy neuron który „lubił” określone sygnały wejściowe (bo przy ich pojawianiu się dawał silny pozytywny sygnał wyjściowy, który czynił go zwycięzcą), po każdym kroku procesu uczenia będzie „lubił” te sygnały coraz bardziej. Taki neuron po wytrenowaniu będzie więc rozpoznawał pewną klasę sygnałów. Ponieważ tylko on będzie rozpoznawał te klasę, będzie, wiec mógł służyć jako swoisty detektor wszelkich sygnałów

podobnych do tych, jakie w trakcie uczenia powodowały, że był on zwycięzcą.

(27)
(28)

Uczenie się sieci

Uczenie sieci odbywa się poprzez wielokrotne pokazywanie przykładów (wektorów wejściowych) i modyfikacje wag neuronów wyjściowych. W zależności od przyjętej strategii modyfikowany może być tylko jeden neuron lub pewna grupa neuronów.

(29)

Uczenie się sieci

Metodyka zmian wag neuronów wyjściowych nazywa się strategia. 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 zgodnie z funkcją f 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.

(30)

Uczenie się sieci

Na ogół uczenie przebiega w dwóch fazach. Najpierw przyjmuje się duże wartości współczynnika uczenia i duży promień sąsiedztwa. W drugiej fazie obydwie te wielkości ulegają istotnemu zmniejszeniu w szczególności

promień sąsiedztwa maleje do zera.

Pierwsza faza przebiega według zasady Winner Takes Most (WTM)

Promień sąsiedztwa jest duży, co powoduje, że oprócz neuronu-zwycięzcy również jego sąsiedzi (z mapy) zmieniaj¡ swoje wektory kodowe.

Współczynnik uczenia ƞ jest w tej fazie stosunkowo duży. Zmiany wag następuję według wzoru:

w

c

( k + 1) = w

c

( k ) +

ƞ

( k ) h

cm

( k ) [x( k ) - w

c

( k )] , c = 1,…,M

(31)

Uczenie się sieci

w

c

( k + 1) = w

c

( k ) +

ƞ

( k ) h

cm

( k ) [x( k ) - w

c

( k )] ,

m = 1,…,M We wzorze powyższym:

- ƞ(k) oznacza współczynnik uczenia,

- c oznacza numer wektora-zwycięzcy, tj. numer wektora w znajdującego się najbliżej prezentowanego w k-tym kroku wektora x(k),

- wartość funkcji hci(k) określa, w jakim stopniu należy uwzględnić

przynależność neuronu i do sąsiedztwa zwycięskiego neuronu o numerze c = c (k).

Tak więc, przy każdej prezentacji kolejnego wektora x zostanie do niego przyciągnięty odpowiadający mu wektor-zwycięzca wc który pociąga za sobą wagi tych neuronów które znalazły się w jego sąsiedztwie na mapie.

(32)

Uczenie się sieci

Druga faza uczenia. Obowiązuje tu zasada Winner Takes All (WTA).

Adaptacji podlega tylko neuron-zwycięzca c, ponieważ promień sąsiedztwa zmalał do zera. Zmienia się tylko wektor wagowy wc według wzoru:

w

c

( k + 1) = w

c

( k ) + ƞ( k ) [x( k ) - w

c

( k )] ,

(33)

Współczynnik uczenia

Współczynnik uczenia ƞ(k) maleje zazwyczaj wraz z upływem czasu

uczenia wyznaczanego numerem iteracji k. Niech T oznacza maksymalną liczbę iteracji. Liczbę tą ustala się z góry. Dość często stosuje się

następujące wzory na zmniejszanie współczynnika uczenia:

1. Liniowe zmniejszanie

ƞ(t) = ƞ0(T - t) / T, t = 1, 2,…,T . 2. Wykładnicze zmniejszanie

ƞ(t) = ƞ0exp(-Ct), t = 1, 2,…,T C > 0 jest pewną stałą.

3. Hiperboliczne zmniejszanie

ƞ(t) = C1 / (C2 + t); t = 1, 2,…,T C1, C2 > 0 pewne stałe.

4. Indywidualny współczynnik uczenia, np.

ƞ(t) = 1/ ni(t), gdzie ni(t) oznacza liczbę zwycięstw i-tego neuronu.

(34)

Algorytm SOM

1. Przypisz wagom sieci o M neuronach warstwy wyjściowej i N wejściach niewielkie liczby losowe. Ustal liczbę neuronów należących do

początkowego otoczenia neuronu

2. Dołącz nowy wektor uczący x=[x1, x2 , ..., xN ] do wejścia.

3. Oblicz odległości

4. Znajdź neuron zwycięski. Mając próbkę x ze zbioru uczącego X w danym kroku k fazy uczenia znajdujemy element mapy najbardziej zbliżony do wektora prezentowanego c(x):

c(x) = arg min{||x-mi||}

5. Wyznacz nowe wartości wag dla neuronu zwycięzcy i jego sąsiedztwa korzystając z jednej z dwóch strategii:

WTM wc(k + 1) = wc (k) + ƞ(k) hcm(k) [x(k) - wc (k)], c = 1,…,M WTA wc(k + 1) = wc(k) + ƞ(k) [x(k) - wc(k)],

6. Zmień odpowiednio wartości współczynnika uczenia i sąsiedztwa 7. Powtórz 2-6 dla następnych wzorców wejściowych aż do chwili ustalenia się odpowiedzi sieci.

(35)

Przykład

Rozkład wrażliwości neuronów warstwy wyjściowej przed i po uczeniu z wykorzystaniem próbek 16 podstawowych barw RGB

(36)

Przykład

Rozkład wrażliwości neuronów przed i po uczeniu w bardziej złożonym zadaniu, w którym na wejście sieci podawano próbki barwne z całego „sześcianu barw”

(37)

Przykład

http://www.youtube.com/watch?v=-6a7LATC-9g

(38)

SOM - Podsumowanie

- sieć uczy się bez nadzoru

- sieć składa się z dwóch warstw o wyraźnie rozdzielonych funkcjach

- uporządkowane neurony wyjściowe - uczony głównie neuron „zwycięski”

- ważną role odgrywa „sąsiedztwo”

- w wyniku uczenia powstaje mapa topologiczna

- aprioryczna interpretacja wartości wyjściowych jest niemożliwa

(39)

Model neuronu stosowanego w sieci Kohonena

Model neuronu stosowanego w sieci Kohonena jest specyficzny – na wejściu obliczana jest odległość miedzy wektorem wejściowym a

wektorem wag, a na sygnał na wyjściu jest tym większy im ta odległość jest mniejsza.

(40)

WebSOM

Własności klastrowania i odwzorowywania zależności w danych wejściowych postanowiono wykorzystać w dziedzinie wyszukiwania informacji. Mapy samoorganizujące mają tą przewagę nad klasycznymi algorytmami klastrowania, że oprócz przyporządkowywania próbek danych do klas, wizualizują je na płaszczyźnie (sieci jedno i dwuwymiarowe) lub w przestrzeni (sieci trójwymiarowe). Dzięki temu, osoba wyszukująca

informacje, kiedy odnajdzie jeden relewantny egzemplarz danych, może sięgnąć do innych, skorelowanych z nim próbek.

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ą offline.

(41)

WebSOM

System dokonujący takiego odwzorowania powstał w Centrum Badań nad Sieciami Neuronowymi, Helsinki University of Technology, pod

kierownictwem prof. Teuvo Kohonen’a. System nosi nazwę WebSOM i jego demonstrację można znaleźć w Internecie pod adresem

http://websom.hut.fi/websom/.

(42)

WebSOM

Na metodę Websom składają się następujące kroki:

- Utworzenie słownika ze zbioru odwzorowywanych dokumentów. Z tekstu usuwane są znaki przestankowe, spójniki, zaimki itp. Można dokonać również ekstrakcji rdzeni słów. Następnie każdemu słowu

przyporządkowywany jest unikalny wektor.

- Utworzenie modeli statystycznych dokumentów w postaci histogramów słów.

- Formowanie mapy dokumentów za pomocą algorytmu SOM.

(43)

WebSOM

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 roż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

(44)

Przykład

(45)

WebSOM

DEMO

http://websom.hut.fi/websom/milliondemo/html/root.html

(46)

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 „online”.

- 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

(47)

KONIEC

Cytaty

Powiązane dokumenty

Równocześnie brak zmian prędkości powietrza na wlocie oraz wylocie rejonu ściany dowodzi, że zaburzenia przepływu w ścianie wy- wołane ruchem kombajnu, mają jedynie

Miara wrażliwości pesymistycznej i miara wrażliwości oczekiwanej informują, jak bardzo zachowanie algorytmu dla rzeczywistych danych wejściowych może odbiegać od

„Córciu, nie mówi się waser tylko woda...” Dziecko przyzwyczaiło się do nowej matki.. Dostało nowe

Gdyby recenzent spojrzał na drugą stronę tomu „w przeddzień”, gdzie znajduje się wyraźna uwaga o ograniczonym nakładzie, przeznaczonym wyłącznie dla znajomych i

Grupa II – kolekcja Centrum Sztuki Współczesnej Znaki Czasu (Toruń).

Kształcąc się w kierunku zarządza- nia w ochronie zdrowia, należy więc stale poszukiwać możliwości doskonalenia.. Młodzi Menedżerowie Me- dycyny to organizacja, która

Zidentyfikowany model dynamiczny układu napędowego posłużył jako źródło otrzymywania danych wejściowych dla sieci neuronowych.. THE TOOTHED GEAR OF DYNAMIC MODEL AS A BASE

Projekt jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego 5 Z praktyki polskich nauczycieli wynika, że struktura