Lekcja 5: Sieć Kohonena i sieć ART

Transkrypt

Lekcja 5: Sieć Kohonena i sieć ART
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):
Wt+1 = Wt + η(X − Wt )
• Starategia WTM (Winer Takes Most):
Wt+1 = Wt + ηG(t, i)(X − Wt )
d2 (i)
G(t, i) = e
(− 2σ2 (t) )
d(i) jest odległością między zbadanym neuronem a zwycięskim. A σ(t) jest
promieniem sąsiedztwa neuronu zwycięskiego w momencie t
t
σ(t) = σ0 e(− λ ) (λ > 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:
vi = 1
vi
wi = PK
i=1 vi + α
gdzie wi wagi połączeń od dolnej warstwy do górnej warstwy, a vi 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:
PK
i=1 xi vi
ρ= P
i xi
e) jeśli ρ ≥ ρmin modyfikuj wagi neuronu zwycięskiego zgodnie z regułą
uczenia:
vi = xi vi
vi
wi = PK
j=1 vj xj + α
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:
vi = 1
vi
wi = P2K
i=1 vi + α
gdzie wi wagi połączeń od dolnej warstwy do górnej warstwy, a vi 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:
P2K
(x ∧ vi )
P i
ρ = i=1
i xi
e) jeśli ρ ≥ ρmin modyfikuj wagi neuronu zwycięskiego zgodnie z regułą
uczenia:
v i = x i ∧ vi
vi
wi = P2K
(v
j=1 j ∧ xj ) + α
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 : X1 = (1, 0), X2 = (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 R2 )
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 R2 .
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 V1 i V2 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