Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.
M. Czoków, J. Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu
2013-11-19
Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”
1 Uczenie nienadzorowane Uczenie z nauczycielem Uczenie bez nauczyciela
2 Algorytm Kohonena Zagadnienie
Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
1 Uczenie nienadzorowane Uczenie z nauczycielem Uczenie bez nauczyciela
2 Algorytm Kohonena Zagadnienie
Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Uczenie z nauczycielem (przyp.)
Dane:
zestaw przykładów uczących E k poprawne odpowiedzi C k Cel:
znalezienie wartości wag w ij (które minimalizuje pewien błąd)
Uczenie z nauczycielem (przyp.)
Source: http://www.classicgaming.cc/classics/
spaceinvaders/wallpaper.php
Uczenie bez nauczyciela
Dane:
zestaw przykładów uczących E k Cel:
znalezienie wartości wag w ij (które minimalizuje pewien błąd)
Uczenie bez nauczyciela
1 Uczenie nienadzorowane Uczenie z nauczycielem Uczenie bez nauczyciela
2 Algorytm Kohonena Zagadnienie
Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Motywacja
Dane:
dane uczące, numeryczne w przestrzeni R n
graf G = (V, E )
Motywacja
Cel:
zmapować graf na dane uczące, tak aby był rozmieszczony
„równomiernie” a sąsiednie wierzchołki leżały niedaleko
(alternatywne sformułowanie zmapować dane uczące uczące na
graf, tak aby „podobne” były w tym samym lub sąsiednich
wierzchołkach i przypisanie danych do wierzchołka było
równomierne
Algorytm
1
przypisujemy neuronom małe losowe wagi (pozycje w R d ) p 1 ...p d
2
dla t = 1..T wykonujemy:
1
losujemy przykład P,
2
znajdujemy jednostkę v ∈ V, której zestaw wag π(v ) leży najbliżej P,
3
dla neuronu zwycięzcy i wszystkich jego sąsiadów s(v ) wykonujemy:
π(w ) = π(w ) + α(t)(P − π(w )),
gdzie α(t) maleje od 1 do 0 wraz z postępem algorytmu, np.
α(t) = 1 −
t−1T,
Topologie sieci
Przykład
-4 -3 -2 -1 0 1 2 3 4
-10 -5
0 5
10 -10
-5 0 5 10 15
20 -4
-3 -2 -1 0 1 2 3 4
-10 -5
0 5
10 -10
-5 0 5 10 15 20
Motywacja
ograniczyć wzrost wag
zwiększyć „gładkość” dopasowania
zwiększyć specjalizację w obrębie klas
Rozszerzony algorytm Kohonena
1
ustawiamy losowe wagi neuronom,
2
dla t = 1..T wykonujemy:
1
losujemy przykład P,
2
znajdujemy jednostkę v ∈ V, której zestaw wag π(v ) leży najbliżej P,
3
dla neuronu zwycięzcy i wierzchołków odległych o co najwyżej λ krawędzi:
π(w ) := π(w ) + α(t)G (w , v )(P − π(w )), gdzie
G (w , v ) =
1 w = v
< 1 i malejąca wraz z ilością krawędzi między v i w
Kwadratowa funkcja sąsiedztwa
G (w , v ) =
1 ρ(w , v ) ≤ λ
0 w p. p.
0 6
0.2
0.4
0.6
0.8
1
Gaussowska funkcja sąsiedztwa dla rosnącej λ
G (w , v ) = exp(− ρ 2 (w , v ) 2λ 2 ).
click
4 6 0
2 4 06 0.5 1 1.5 2
M. Czoków, J. Piersa WSN 2012/2013 Wykład 07
Funkcja sąsiedztwa - mexican hat
MH(v , w ) = 2exp(− ρ 2 (v , w )
2λ 2 1 ) − exp(− ρ 2 (v , w )
2λ 2 2 ), λ 1 < λ 2
4 6 -16 -0.5 0 0.5 1
Przykład
Przykład
kliknij
Kohonen: G =siatka, E = sześcian.
Przykład
kliknij
Kohonen + Gauss: G =siatka, E = sześcian.
Przykład
kliknij
Kohonen: G =siatka, E = sfera 2d.
Przykład
kliknij
Kohonen+Gauss: G =siatka, E = sfera 2d.
Zastosowania
Wizualizacja danych za pomocą danej struktury przestrzennej (zadanej przez graf) w innym wymiarze (przykłady są wtedy rozłożone jednostajnie na obszarze reprezentacji)
przejście do wyższego wymiaru (np. krzywa wypełniająca przestrzeń),
przejście do niższego wymiaru (wizualizacja skomplikowanych
struktur z zachowaniem topologii, ale nie odległości).
Strefy wpływów
-4 -3 -2 -1 0 1 2 3 4
-6 -4 -2 0 2 4 6 -4
-3 -2 -1 0 1 2 3 4
-6 -4 -2 0 2 4 6
Odległość Minkowskiego
Odległość Minkowskiego jest to uogólniona funkcja odległości między punktami przestrzeni euklidesowej. Nazywana jest również
odległością L p . Wzór na tę funkcję w zależności od p ma postać:
d (x , y ) = (
K
X
k=1
(x k − y k ) p )
1p.
Odległość Minkowskiego
-1 -0.5 0 0.5
1 m=0.5
m=1.5 m=1
m=2 m=4
m=10
Najbliższy punkt w różnych metrykach
-6 -4 -2 0 2 4 6
-6 -4 -2 0 2 4 6
P = 1
-6 -4 -2 0 2 4 6
-6 -4 -2 0 2 4 6
P = 2
Najbliższy punkt w różnych metrykach
-6 -4 -2 0 2 4 6
-6 -4 -2 0 2 4 6
P = 3
-6 -4 -2 0 2 4 6
-6 -4 -2 0 2 4 6
P = 10
Motywacja
Chcemy dostosować algorytm Kohonena, dla wejść, które mają współrzędne symboliczne (opisane wektorem zerojedynkowym - prawda lub fałsz)
Zał. dla danych symbolicznych dana jest ”funkcją odległości ” d . d (x , x ) = 0
d (x , y ) = d (y , x ) ≥ 0
Algorytm Kohonena dla wejść symbolicznych
1
każdy węzeł w grafie otrzymuje prototyp (typowy przedstawiciel klasy) oraz listę przykładów (klasę którą reprezentuje prototyp)
2
przypisz węzłom losowe startowe prototypy,
3
powtarzaj wiele razy:
wyczyść listy klasyfikacyjne,
każdemu wierzchołkowi w przypisz listę takich przykładów, że prototyp p(w ) jest do nich najbliższy,
każdemu wierzchołkowi w przypisz nowy prototyp — medianę uogólnioną z listy klasyfikacyjnej w i list sąsiadów w ,
4