• Nie Znaleziono Wyników

1Powtórzenie WprowadzeniedoSieciNeuronowych—Laboratorium8–10Uczeniebeznauczyciela,samoorganizacjaiPCA

N/A
N/A
Protected

Academic year: 2021

Share "1Powtórzenie WprowadzeniedoSieciNeuronowych—Laboratorium8–10Uczeniebeznauczyciela,samoorganizacjaiPCA"

Copied!
6
0
0

Pełen tekst

(1)

Wprowadzenie do Sieci Neuronowych — Laboratorium 8–10 Uczenie bez nauczyciela, samoorganizacja i PCA

Maja Czoków, Jarosław Piersa 2012-12-05

1 Powtórzenie

1.1 Algorytm Kohonena dla wejść numerycznych

Dane: Sieć neuronowa / graf G = (V, E), zbiór danych uczących X ⊂ Rn

Wynik: nauczona sieć, która powinna klasyfikować dane pod kątem ich podobieństwa (odległości między punktami). Zauważmy, że wśród danych nie ma podanych poprawnych klasyfikacji!

1. Ustaw T — maksymalna ilość iteracji, i := 0 — licznik, każdemu węzłowi w sieci przypisz losową pozycję (losowe wagi) v.x, v.y, v.z, ...

2. Dla i = 0..T wykonuj:

• Wylosuj przykład uczący a ∈ X

• Znajdź węzeł v ∈ V , który leży najbliżej a

• Przesuń węzeł v i wszystkich jego sąsiadów „w kierunku” punktu a:

u.x = α · u.x + (1 − α)a.x u.y = α · u.y + (1 − α)a.y

(...) gdzie np. α = i+1T

3. Zwróć nauczoną sieć.

1.2 Algorytm Kohonena dla wejść symbolicznych

Dane: Sieć G = (V, E), zbiór danych symbolicznych X wraz z „miarą odległości”. Powinno zachodzić:

• d(x, x) = 0

• d(x, y) = d(y, x) ≥ 0

1. Przypisz węzłom losowe prototypy 2. Powtarzaj wiele razy

(2)

• Każdemu wierzchołkowi w przypisz listę tych przykładów, że prototyp p(w) jest do nich naj- bliższy

• Każdemu wierzchołkowi w przypisz nowy prototyp — medianę uogólnioną z listy klasyfikacyj- nej w i list sąsiadów w

• Wyczyść listy klasyfikacyjne 3. Zwróć sieć

Mediana uogólniona zbioru {a1, ..., an} — element ai, który minimalizujeP

jd2(ai, aj)

1.3 Algorytm klasyfikacyjny ze stałą ilością kategorii

1. Ustal ilość kategorii k,

2. Podziel dowolnie zbiór przekładów na k kategorii, 3. Powtarzaj wiele razy,

• Wybierz przykład E,

• Znajdź dla E kategorię o najbliższym środku ciężkości,

• Jeżeli nie był w niej przypisany, to przypisz tam E, uaktualnij środki ciężkości w obu katego- riach (tj. wypisanej i wpisanej),

• Zakończ gdy stan się ustabilizuje.

Środek ciężkości Dane niech będą punkty w przestrzeni x1, .., xk ∈ Rno masach równych m1, ..., mk>

0 odpowiednio. Środek ciężkości układu ma współrzędne

X = P

imixi

P

imi (1)

1.4 Algorytm ze zmienną ilością kategorii

1. Przypisz zbiór kategorii k := ∅, każda kategoria ma swój prototyp P , 2. Powtarzaj wiele razy

(a) wybierz przykład E,

(b) znajdź kategorię o najbliższym prototypie P , jeżeli lista kategorii jest pusta patrz dwa punkty niżej,

(c) sprawdź czy P jest wystarczająco podobny do E:

(d) jeżeli nie lub lista jest pusta to utwórz nową kategorię o prototypie E i zakończ bierzącą iterację,

(e) jeżeli tak to sprawdź czy P można zaakceptować jako prototyp dla E, (f) jeżeli nie to wróć do (2a) i wybierz kolejny najbliższy prototyp,

(3)

ART2 Przykładowe implementacje operacji P — prototyp, E — przykład:

• Znormalizuj wszystkie przykłady E := |E|E

• najbliższy P — ten, który maksymalizuje hP, Ei,

• wystarczająco podobny — czy hP, Ei ≥ αP

jEj, gdzie α < 1n,

• można zaakceptować — czy hP, Ei ≥ ρ, gdzie ρ ∈ (0, 1),

• upodobnij

P := (1 − βP ) + βE P := P

|P | gdzie β ∈ (0, 1)

1.5 Wyszukiwanie składowych głównych

Dane: lista przykładów numerycznych X.

Wynik: wektor cech które mają największy wpływ wśród danych.

1. Rozpocznij z niewielkimi losowymi wagami,

2. Znormalizuj wszystkie wejścia do przedziału [−1, 1], 3. Powtarzaj wiele razy:

• Wybierz przykład x z listy

• (Reguła Hebba) w := w +  hw, xi x

• (Reguła Oja) w := w +  hw, xi (x − hw, xi w) 4. Zwróć wektor w

5. Następna składowa liczona jest tak samo, ale na danych zrzutowanych na podprzestrzeń prostopadłą do w:

x := x − whw, xi hw, wi Gdzie h·, ·i jest iloczynem skalarnym.

2 Zadania

Strony z przykładowymi implementacjami:

http://www.sund.de/netze/applets/gng/full/GNG-U_0.html http://www-users.mat.uni.torun.pl/~philip/java/SOM.html

(4)

2.1 Zadanie 1 — algorytm Kohonena

Zaimplementuj algorytm Kohonena dla wejść numerycznych lub / i symbolicznych. Pomysły na wej- ścia numeryczne: samoorganizacja grafu na płaszczyźnie lub w przestrzeni, krzywa wypełniająca figurę (por. krzywa Peano), powierzchnia wypełniająca bryłę, nakładanie tekstury na model trójwymiarowy, nakładanie siatki na kostkę RGB, CMY(K), walec HSV, stożek HSL. Przykładowe dane symboliczne:

klasyfikacja stron www, fragmentów tekstów w języku naturalnym, piosenek... W tym przypadku należy przygotować dane uczące i „miarę odległości” między nimi.

Uwagi:

Zadanie liczone jako dział czwarta — samoorganizacja.

Grafy powinny mieć dość regularną strukturę: łańcuch, cykl, krata, hiperkostka, drzewo binarne (trudno się uczy!), torus. Jeżeli jest to problem na płaszczyźnie to dodatkowo graf powien być planarny.

2.2 Zadanie 2 — Składowe główne (obrazy)

Wykorzystując regułę Hebba lub / i regułę Oja znajdź pierwszą (lub k pierwszych) składową główną dla zadanych danych uczących. Danymi mogą być np. fragmenty obrazów (ok 10 x 10 do 32 x 32 pikseli), zbiory danych w przestrzeni lub na płaszczyźnie (dość nietrywialne), statystyki logowania na serwer wydziałowy (komenda last ), statystyki ruchu w sieci (tcpdump, wireshark), listy procesów w systemie (ps -l ) itp. Dane symboliczne w miarę możliwości należy zamienić na numeryczne (np. nazwa użytkownika na uid, numer portu i adres w postaci liczbowej, typ protokołu z /etc/protocols, data na dni miesiąca, tygodnia, godziny, itp).

2.3 Zadanie 3 — Segmentacja

Za pomocą algorytmu/ów klasyfikujących wykonaj segmentację1 obrazu pod kątem barwy, tj podział obrazu na obszary charakteryzujące się podobnym kolorem. Można wykonać dla obrazów w odcieniach szarości, niezależnie dla każdego kanału R, G, B, bądź na całej przestrzeni RGB, CMY, HSV, etc. W obliczeniach warto rozważyć przypisanie kolorom ich wag np. ilości pikseli o danym kolorze. Zadanie jest liczone jako lista czwarta — samoorganizacja.

2.4 Zadanie 4 — Rysowanie grafu na płaszczyźnie

Za pomocą algorytmu Kohonena przemapuj graf na płaszczyznę (dla ambitnych i na wyższą ocenę: na torus / powierzchnię sfery).

Przykładowe grafy do mapowań:

• łańcuch (ścieżka wierzchołków)

• pierścień (cykliczna ścieżka wierzchołków)

• siatka kwadratowa

• periodyczna siatka kwadratowa

• hiperkostka d-wymiarowa

(5)

• graf losowy Wattsa-Strogatza doi:10.1038/30918

• graf losowy Alberty-Barabasiego doi:10.1103/RevModPhys.74.47

(6)

-4 -3 -2 -1 0 1 2 3 4

-10 -5

0 5

10 -10

-5 0 5 10 15 20

(a) Skomplikowane dane w Rn. (b) Graf na który chcemy zmapować dane.

-4 -3 -2 -1 0 1 2 3 4

-10 -5

0 5

10 -10

-5 0 5 10 15 20

(c) Mapowane wierzchołków grafu na dane. (d) Mapowanie wierzchołków grafu na przestrzeń kolorów.

/home

/root /boot

/media

/mnt /etc

/usr/bin /opt

/sbin /bin

/usr /usr/lib

/usr/include /var /src

/tmp

Cytaty

Powiązane dokumenty

Przy obliczeniach pominięto dział uzupełnienia dotyczący*ezon&lt;al973, natomiast wliczono dział uzupełnienia 1974, wprowadzony po raz pierwszy na skutek nadesłania

This example o f such a beautiful textile completed with a fringe is the only one known from early medieval Polish archaeological sources. 2001 Wczesnosredniowieczne groby komorowe

Celem badania jest określenie wpły- wu wzrostu gospodarczego na emisję zanieczyszczeń poprzez weryfikację środowisko- wej krzywej Kuznetsa oraz ocena wpływu wytwarzania energii

oraz: dodawanie i odejmowanie wektorów, mnożenie wektora przez skalar, translacja, norma, wektor prostopadły, ortogonalny, przeciwny, zerowy, normalny, binormalny, składowy,

METODA ODCINKOWA – pośrednia metoda wyznaczania przepływu wody; odcinkowy pomiar przepływu polega na pomiarze prędkości przepływu na wybranym odcinku cieku wodnego za

W efekcie dając na wejściu obraz, który nie jest żadnym z wzorców uczących, program powinien wygenerować ten, który zna i jest najbardziej podobny do

Napisz program, który mając listę cech charakteryzujących oddany program zaliczeniowy dokonuje bi- narnej oceny (zaliczony lub nie) oraz wyświetla uzasadnienie (tj. podzbiór

W Rozmyślaniach dominikańskich Maryja zwraca się do Gabriela dwukrotnie: raz jeszcze przed śmiercią Syna, kiedy anioł nie odpowiada na jej wołanie (R 11) i w opisanej już