Sieci neuronowe i uczenie maszynowe – laboratorium

7

Uczenie nienadzorowane sieci neuronowych

Długość trwania: 0.5 jednostki

 

Narzędzie: Statistica NN

Temat zajęć:

Uczenie sieci Kohonena (SOM)

Zagadnienia:

Uczenie przez współzawodnictwo, uczenie nienadzorowane, koncepcja sąsiedztwa.

Zbiory danych:

IRIS, PROTEIN

Zadanie 1.  Projektowanie i testowanie prostej sieci typu SOM

1.      Utwórz sieć typu mapa odwzorowania cech istotnych (SOM) o wymiarach 5x4 (sugerowanych przez StatsticaNN) dla zbioru IRIS: File|New|Network, potem wybrać Kohonen, Advise, Create.

2.      Otwórz edytor sieci (Edit|Network). Jakiego typu neurony są stosowane w warstwie wyjściowej (okienko z ilustracją sieci to sugeruje) ?

3.      Zwróć uwagę, jak zdefiniowany jest błąd popełniany przez sieć (Error function) (Suma po wszystkich przykładach odległości pomiędzy przykładem a najbliższym mu wektorem wag neuronów w warstwie wyjściowej => uczenie nienadzorowane!).

4.      Zobacz, jak można zmieniać topologię sieci manewrując parametrem Width dla drugiej warstwy.

5.      Naucz sieć (Train|Kohonen) przy domyślnych ustawieniach parametrów. Zwróć uwagę, że mimo nienadzorowanego charakteru uczenia ma sens wyświetlanie przebiegu błędu.

6.      Co więcej, można używać zbioru weryfikującego i oprzeć na nim warunek stopu. Zbadaj, jak uczy się sieć np. z warunkiem stopu Minimum improvement|Verification = 0.01, Window = 10 (wydaje się to sensowne, bo widać, że minimum lokalne znajdowane jest bardzo szybko i nie ma potrzeby uczyć sieci aż przez 100 epok).

7.      Testowanie sieci. Obejrzyj najpierw, jak „odpowiadają” poszczególne neurony na kolejne przykłady ze zbioru uczącego (Run|Activations). Potem obejrzyj odpowiedzi sieci w diagramie, który zachowuje jej topologię (Run|Topological Map).  Jak grupują się przykłady ?
Zwróć uwagę, że podczas przeglądania przykładów mapą topologiczną, można sobie nazywać przykłady (górne pole bez nazwy) i/lub neurony (dolne pole bez nazwy); działa także prawy przycisk myszki.

8.      Poza tym można też obejrzeć statystykę „wygrywania” współzawodnictwa przez poszczególne neurony w poszczególnych podzbiorach (Statistics|Win frequencies).

9.      W podobny sposób naucz i przeanalizuj dla tego samego zbioru sieć o innej topologii (szczególnie ciekawe jest to dla sieci o topologii „jednowymiarowej”, gdzie warstwa wyjściowa ma np. 10 neuronów ułożonych w rzędzie, parametr Width = 1 dla warstwy 2 w edytorze sieci).

Zadanie 2. Analiza rzeczywistego problemu przy użyciu sieci SOM

Dane: Zbiór PROTEIN.STA (dostępny lokalnie w katalogu Statistica (Examples)). Opisuje spożycie protein różnego pochodzenia w wybranych krajach Europy. Dane nie są podzielone na klasy decyzyjne.

Zbuduj sieć dla tego problemu (sugerowany rozmiar warstwy wyjściowej 4x4 lub nawet 3x3, bo mało przykładów). Naucz ją i przetestuj. Czy da się wyciągnąć jakieś wnioski dot. podobieństwa poszczególnych krajów pod względem spożycia protein (jakieś ciekawe obserwacje (podobieństwa) i próba ich uzasadnienia). Można, podobnie jak dla IRIS, spróbować z siecią SOM jednowymiarową.


 

Wprowadzenie do środowiska STATISTICA: Neural Networks

1.      Tworzenie zbiorów danych (liczba zmiennych zależnych i niezależnych, podział na zbiór uczący, testujący i weryfikujący, brakujące przypadki).

2.      Tworzenie sieci:

§         typ sieci,

§         wstępne przetwarzanie/kodowanie: minmax, min-SD, explicite, none;

§         architektura sieci: liczba warstw, wielkości warstw ukrytych

3.      Edycja sieci (Edit|Network)

§         Zmiana liczby neuronów

§         Zmiana funkcji aktywacji (linear, logistic, hyperbolic)

§         PSP (Post Synaptic Potential) function - funkcja obliczająca pobudzenie neuronu, agregująca bodźce do jednej wartości skalarnej: linear, radial, division

4.      Przebieg błędu średniokwadratowego (Statistics|Training graph)

5.      Uczenie (Train|Multilayer perceptrons|Back propagation)

6.      Warunki stopu

7.      Prędkość uczenia

8.      Człon bezwładności

9.      Funkcja odpowiedzi sieci (Run|Responce surface)

10.   

 

 

 

Czêœæ I: Badanie wpływu parametrów sieci i algorytmu na przebieg uczenia

Zobacz, co się dzieje gdy opcja "Shuffle cases" jest wyłączona.