Lekcja 5: Sieć Kohonena i sieć ART S. Hoa Nguyen 1 Materiał Sieci Kohonena (Sieć samo-organizująca) Rysunek 1: Sieć Kohonena Charakterystyka sieci: Jednowarstwowa jednokierunkowa sieć. Na ogół neurony na warstwie wyjściowej tworzą pełną topologię, np. mapa kwadratowa Algorytm uczenia a) inicjalizacja wag sieci, b) pobranie przykładu uczącego, c) obliczenie odległości wektora wejściowego do wag każdego z neuronów, d) wybranie neuronu zwycięzcy (wygrywającego) dla którego odległość wag od wektora wejściowego jest najmniejsza (Euklidesowa miara odległości, iloczyn skalarny wektorów, odległość Mahattana, norma L) e) skoryguj wartości poszczególnych wag tego neuronu f) powtórzenie kroków 2-5 dla wszystkich przykładów uczących N razy. Reguły uczenia 1
Starategia WTA (Winer Takes All): W t+1 = W t + η(x W t ) Starategia WTM (Winer Takes Most): W t+1 = W t + ηg(t, i)(x W t ) G(t, i) = e ( d 2 (i) 2σ 2 ) (t) d(i) jest odległością między zbadanym neuronem a zwycięskim. promieniem sąsiedztwa neuronu zwycięskiego w momencie t A σ(t) jest σ(t) = σ 0 e ( t λ ) (λ > 0) Sieci ART (Adaptive Resonance Theory) Rysunek 2: Sieć ART Charakterystyka sieci: Dwuwarstwowa jednokierunkowa sieć. Dolna warstwa zawiera K neuronów, jeśli dane wejściowe mają wymiar K. Sygnały wejściowe są binarne 0 lub 1. Algorytm uczenia a) inicjalizacja wag sieci: = 1 w i = K i=1 + α gdzie w i wagi połączeń od dolnej warstwy do górnej warstwy, a wagi połączeń od górnej do dolnej warstwy. b) pobranie przykładu uczącego. c) wyznacz neuron zwycięski (miarą iloczynu skalarnego). 2
d) sprawdź stopień podobieństwa: ρ = K i=1 x i i x i e) jeśli ρ ρ min modyfikuj wagi neuronu zwycięskiego zgodnie z regułą uczenia: = x i w i = K j=1 v jx j + α f) jeśli ρ < ρ min dołóż następny neuron do górnej warstwy. g) powtórzenie kroków b-g dla wszystkich przykładów uczących N razy. Sieci Fuzzy ART Charakterystyka sieci: Dwuwarstwowa jednokierunkowa sieć: Dolna warstwa zawiera 2K neuronów, jeśli dane wejściowe mają wymiar K. Sygnały wejściowe są rzeczywiste należące do [0, 1]. Wektor wejściowy X o wymiarze K jest reprezentowany przez wektor o wymiarze 2K: [X, X c ], gdzie X c jest wektorem komplementarnym do X Algorytm uczenia a) inicjalizacja wag sieci: = 1 w i = 2K i=1 + α gdzie w i wagi połączeń od dolnej warstwy do górnej warstwy, a wagi połączeń od górnej do dolnej warstwy. b) pobranie przykładu uczącego. c) wyznacz neuron zwycięski (miarą iloczynu skalarnego). d) sprawdź stopień podobieństwa: ρ = 2K i=1 (x i ) i x i e) jeśli ρ ρ min modyfikuj wagi neuronu zwycięskiego zgodnie z regułą uczenia: = x i w i = 2K j=1 (v j x j ) + α f) jeśli ρ < ρ min dołóż następny neuron do górnej warstwy. g) powtórzenie kroków b-g dla wszystkich przykładów uczących N razy. W tym algorytmie jest rozmytą operacją. 3
2 Zadania Symulacja sieci Kohonena: http://www.nnwj.de/sample-applet.html. Zadanie 1. Projektować sieci Kohonena umożliwiające grupowanie danych dwuwymiarowych przedstawionych na rysunkach 3 i 4. Podać liczbę neuronów, liczbę wejść i wyjść. Dla każdego ze zbioru danych zaproponować algorytm uczenia i odpowiednią funkcję odległości. Rysunek 3: Zadania 1: Pierwszy zbiór punktów. Rysunek 4: Zadania 1: Drugi zbiór punktów. Zadanie 2. Dla sieci Kohonena o strukturze podanej na Rysunku 5, wykonuj jeden cykl uczenia dla wzorców : X 1 = (1, 0), X 2 = (0, 1) a) Zakłada się, że wagi początkowe wszystkich neuronów wynoszą 1. Unormuj wektory wag. b) Dla wektora wejściowego, wyznacz neuron zwycięski (jeśli neurony są równoodległe od wktora wejściowego rozstrzygnąć arbitralnie). c) Modyfikuj wagi neuronu zwycięskiego (współczynnik uczenia wynosi 0.5) i unormuj wektor wag. 4
Rysunek 5: Sieć Kohonena do zadania 2 Zadanie 3. (Grupy drukarek) W celu grupowania drukarek o podobnych cechach, zastosowano sieć Kohonena. W zbiorze Opisy_Drukarek są parametry drukarek. Struktura sieci jest następująca: a) sieć ma 2 wejścia, b) wartswa wyjściowa składa się z 4 neuronów. Wykonać następujące czynności w Excelu: a) Symuluj działanie sieci dla przykładów treningowych używając strategii WTA (Winner Takes All): Unormalizuj wektory cech. Wyznacz dla każdego wektora treningowego neuron o najbliższym wektorze wag. Dla neuronu zwycięskiego aktualizuj wagi. b) Narysować położenie danych wejściowych (każda drukarka odpowiada jednemu punktu w przestrzeni R 2 ) c) Narysować grupy wektorów wejściowych. Zadanie 4. Stosowano sieć rezonansową ART, do zapamiętania wzorców podanych na Rysunku 6. Przyjmując próg podobieństwa ρ min = 0, 6 przeprowadź uczenie sieci. a) Proponuj strukturę sieci. b) Inicjalizuj wagi neuronów w dolnej warstwie i górnej warstwie. c) Wyznacz neuron zwycięski i przeprowadź test podobieństwa. d) Jeśli wynik testu jest pozytywny modyfikuj wagi neuronu zwycięskiego. e) Z którym wzorcem jest skojarzony wzorzec testowy? Zadanie 5. Sieć fuzzy ART jest używana do grupowania punktów w R 2. Zakłada się, że warstwa wyjściowa składa się z dwóch neuronów z parametrami podanymi w rysunku 2. 5
Rysunek 6: Wzorce do zadania 4 a) Podaj liczbę neuronów w warstwie wejściowej. b) Dla punktu zielonego i czerwonego, przeprowadź uczenia sieci, przyjmując próg podobieństwa ρ min = 0, 6, α = 1. c) Podaj interpretaję geometryczną wektora wag V 1 i V 2 przed uczeniem i po uczeniu. d) Jeśli wynik testu jest pozytywny modyfikuj wagi neuronu zwycięskiego. e) Do której grupy należy punkt o współrzędnych [0.8, 0.5]? Rysunek 7: Zbiór punktów do zadania 5 Zadanie 6. (Grupy kwiatów) (5 punktów) Implementować jeden z następujących algorytmów grupowania danych 6
algorytm k-średnich (k-means) or sieć Kohonena dla zbioru danych z opisami Irisów (Data/Iris). w celu podzielenia zbioru kwiatków na k grup. Wyznacz k, żeby łączny błąd grupawania jest najmniejszy (błąd grupowania jest sumą odległości punktów w grupie do jej centroida).? 7