Uczenie nienadzorowane Algorytm Kohonena
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
2012-11-28
Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”
Uczenie nienadzorowane Algorytm Kohonena
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 nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem 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
Uczenie nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
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 nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
Uczenie z nauczycielem (przyp.)
Uczenie nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
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 nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
Uczenie bez nauczyciela
Uczenie nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
Uczenie bez nauczyciela
Donald Hebb (1949)
Neurons that fire together, wire together.
Neuron, który jako pierwszy zgłosił odpowiedź na dany impuls, jest
uznawany za specjalistę i jego wagi są zmieniane tak, by rozpoznawał
właśnie tę klasę impulsów.
Uczenie nienadzorowane Algorytm Kohonena
Uczenie z nauczycielem Uczenie bez nauczyciela
Zastosowania
wykrywanie podobieństwa pomiędzy wzorcami (wg wybranego kryterium),
analiza składowych głównych tworzenie map cech
klasyfikacja
określanie prototypu
kodowanie
Uczenie nienadzorowane 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 nienadzorowane 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 )
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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,
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Topologie sieci
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Motywacja
ograniczyć wzrost wag
zwiększyć „gładkość” dopasowania
zwiększyć specjalizację w obrębie klas
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Przykład
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Przykład
kliknij
Siatka prostokątna rozprowadzona przez algorytm Kohonena na trzech
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Przykład
kliknij
Siatka prostokątna rozprowadzona przez rozszerzony algorytm Kohonena na trzech ścianach (o wspólnym wierzchołku) sześcianu. W algorytmie
zastosowano gaussowską funkcję sąsiedztwa.
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Przykład
kliknij
Siatka prostokątna rozprowadzona przez algorytm Kohonena na powierzchni
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Przykład
kliknij
Siatka prostokątna rozprowadzona przez rozszerzony algorytm Kohonena na
powierzchni kuli. W algorytmie zastosowano gaussowską funkcję sąsiedztwa.
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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).
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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.
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
Odległość Minkowskiego
-1 -0.5 0 0.5
1 m=0.5
m=1.5 m=1
m=2 m=4
m=10
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych
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
zwróć sieć.
Uczenie nienadzorowane Algorytm Kohonena
Zagadnienie Algorytm Kohonena
Rozszerzony algorytm Kohonena Zastosowania
Algorytm Kohonena dla danych symbolicznych