Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 2013-11-26 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki
1 Zagadnienie 2 Algorytm ART2 3 Reguła Hebba Reguła Oja
Zagadnienie 1 Zagadnienie 2 Algorytm ART2 3 Reguła Hebba Reguła Oja
Zagadnienie Zagadnienie Dane: Wynik: zbiór punktów w R n : { E = E (1),.., E (m)}, E (i) R n, oczekiwana liczba kategorii 2 k m. podział zbioru E na klastry K 1... K k, każdy z klastrów powinien zawierać punkty, które leżą w pobliżu siebie, klastry są parami rozłączne i j K i K j =.
Środek ciężkości Zagadnienie Środkiem ciężkości zbioru punktów { x (1),.., x (n)}, x (i) R n nazywamy punkt: i x (i) m (i) i m(i), gdzie: m (i) > 0 masa (waga) i-tego punktu.
Zagadnienie 1 ustal ilość kategorii k, 2 przypisz przykłady kategoriom, 3 dla każdej kategorii oblicz jej środek ciężkości, 4 powtarzaj wiele razy, wybierz przykład E, znajdź dla E kategorię o najbliższym środku ciężkości, jeżeli nie był do niej przypisany, to przypisz tam E, uaktualnij środki ciężkości w obu kategoriach (tj. wypisanej i wpisanej), zakończ, gdy stan się ustabilizuje,
działania 1/5 Zagadnienie 12 10 8 6 4 2-6 -4-2 0 2 4 6
działania 2/5 Zagadnienie 12 10 8 6 4 2-6 -4-2 0 2 4 6
działania 3/5 Zagadnienie 12 10 8 6 4 2-6 -4-2 0 2 4 6
działania 4/5 Zagadnienie 12 10 8 6 4 2-6 -4-2 0 2 4 6
działania 5/5 Zagadnienie 12 10 8 6 4 2-6 -4-2 0 2 4 6
Do czego wykorzystać Zagadnienie 12 10 2 1.5 8 1 6 0.5 4 2-6 -4-2 0 2 4 6 0-6 -4-2 0 2 4 6 0 2 4 6 8 10 12
Do czego wykorzystać Zagadnienie out 2 2 1.5 1.5 1 1 0.5 0.5 0-6 -4-2 0 2 4 6 0 2 4 6 8 10 12 0-6 -4-2 0 2 4 6 0 2 4 6 8 10 12
Zagadnienie Inicjalizacja środków ciężkości w k-means++ 1 Przydziel losowemu przykładowi pierwszą kategorię. 2 Dla każdego przykładu E (i), któremu nie została przypisana żadna kategoria, oblicz D(E (i) ) odległość pomiędzy przykładem, a najbliższym środkiem ciężkości. 3 Wylosuj przykład, któremu przydzielona zostanie kolejna kategoria; każdy przykład E (i) może zostać wylosowany z prawdopodobieństwem proporcjonalnym do D 2 (E (i) ). 4 Powtarzaj krok 2 i 3, aż zostanie wyznaczonych k środków ciężkości.
Algorytm ART2 1 Zagadnienie 2 Algorytm ART2 3 Reguła Hebba Reguła Oja
Zagadnienie Algorytm ART2 Dane: zbiór przykładów (wektorów) uczących: E = { E 1,.., E m}, E i R n. Wynik: podział zbioru E na klastry K 1... K k, przy czym algorytm sam określa liczbę kategorii k, każda z kategorii jest reprezentowana przez prototyp P typowy element danej kategorii, każdy z klastrów powinien zawierać elementy leżące w pobliżu siebie, klastry są parami rozłączne i j K i K j =.
Szkielet algorytmu Algorytm ART2 1 przypisz zbiór kategorii k :=, każda kategoria ma swój prototyp P, 2 powtarzaj wiele razy 1 wybierz losowo przykład E, 2 znajdź kategorię o najbliższym prototypie P, jeżeli lista kategorii jest pusta, to patrz punkt 4, 3 sprawdź czy P jest wystarczająco podobny do E: 4 jeżeli nie lub lista jest pusta, to utwórz nową kategorię o prototypie E i zakończ bieżącą iterację, 5 jeżeli tak, to sprawdź czy P można zaakceptować jako prototyp dla E, jeżeli nie, to wróć do (2.2) i wybierz kolejny najbliższy prototyp, jeżeli tak, to upodobnij P do E,
Wstępna obróbka danych Algorytm ART2 Wybieramy pewną liczbe 0 < θ < 1 n, gdzie n oznacza wymiar przestrzeni przykładów. Normalizujemy przykłady. Zerujemy wszystko, co jest mniejsze od θ. Normalizujemy jeszcze raz.
Normalizacja Algorytm ART2 E := E E
Najbliższy prototyp Algorytm ART2 najbliższy P ten, który maksymalizuje P, E,
Można zaakceptować Algorytm ART2 można zaakceptować czy P, E ρ, gdzie ρ (0, 1),
Upodobnij Algorytm ART2 P := (1 β)p + βe P := P P
Wynik Algorytm ART2 w 3 w 1 w 2
Reguła Hebba Reguła Oja 1 Zagadnienie 2 Algorytm ART2 3 Reguła Hebba Reguła Oja
Reguła Hebba 1949 Reguła Hebba Reguła Oja Reguła Hebba Neurons, that fire together, wire together.
Reguła Hebba 1949 Reguła Hebba Reguła Oja Jeśli neuron A jest cyklicznie pobudzany przez neuron B, to staje się on jeszcze bardziej czuły na pobudzenie tego neuronu. 1 jeżeli neurony A i B połączone synapsą są pobudzone jednocześnie, to połączenie synaptyczne jest wzmacniane, 2 jeżeli neurony A i B połączone synapsą są pobudzone niejednocześnie, to połączenie synapytczne podlega osłabieniu.
Reguła Hebba 1949 Reguła Hebba Reguła Oja Zmiana wag połączenia pomiędzy neuronem A i B: gdzie: w (k+1) AB = w (k) AB (k) + ηy A y (k) B, w AB waga połączenia synaptycznego pomiędzy neuronem A i B, y A stan aktywacji neuronu A, y B stan aktywacji neuronu B, η współczynnik uczenia.
Prosta reguła Hebba - algorytm Reguła Hebba Reguła Oja 1 losujemy wektory wag, 2 wybieramy przykład x, 3 w := w + ηyx, gdzie y jest aktywacją w odpowiedzi na x, natomiast η dodatnim współczynnikiem uczenia, 4 wracamy do 2,
Reguła Hebba - wady Reguła Hebba Reguła Oja w (5) w (3) w (4) w (2) w (1) w (6) w (7) x 1 x 2 x 3 x 4 w (8) x 5 x 6 Reguła Hebba prowadzi do niekontrolowanego wzrostu długości wektora wag w.
Reguła Oja Reguła Hebba Reguła Oja Reguła Oja jest modyfikacją reguły Hebba. Dzięki niej wektor wag jest korygowany tak, żeby jego długość oscylowała wokół 1. Modyfikacja polega na dodaniu do reguły Hebba wyrazu zanikania wagi proporcjonalnego do kwadratu aktywacji neuronu. w := w + ηy(x yw)
Reguła Oja Reguła Hebba Reguła Oja x 1 w (2)w (3) x 2 w (4) w (6) x 3 x 4 w (1) w (5) x 5 x 6
Reguła Oja Reguła Hebba Reguła Oja x 1 w (2)w (3) x 2 w (4) w (6) x 3 x 4 w (1) w (5) x 5 x 6