====== - LAB: Tworzenie prostych sieci neuronowych ====== Celem ćwiczenia jest zapoznanie się z uczeniem prostych sieci neuronowymi. Obejmuje to budowanie struktury sieci, jej uczenie i użycie do klasyfikacji przypadków danych. ===== Wprowadzenie ===== Do przeczytania i przygotowania: * AIM 20.5 * CIL 5.3 ===== Narzędzia ===== Podstawowym narzędziem do realizacji ćwiczeń jest program [[http://www.aispace.org/neural/|Neural nets]] z [[http://www.aispace.org|AIspace]]. ===== Ćwiczenia ===== ==== Używanie gotowych sieci ==== Pracuj w parze z Koleżanką/Kolegą. Uruchom narzędzie pisząc w konsoli tekstowej ''ais-neural''. - Przeczytaj //[[http://www.aispace.org/neural/help/tutorial2.shtml|tutorial]]//. - Załaduj przykładowe zadanie //Mail reading// przez //File/Load Samle graph and data//. Sieć modeluje klasyfikację przypadków sytuacji czytania wiadomości w zależności od 4 parametrów. - Obejrzyj opis //Help/Legend//. - Przejdź do uczenia sieci, zakładka //Solve//. Ustaw //Auto step speed// na Medium 0.5s. - Dokonaj inicjalizacji parametrów sieci. - Włącz uczenie, najpierw 5 pojedynczych kroków, a potem włącz uczenie w 50 krokach. Uczenie sieci z warstwą ukrytą (3 warstwy) jest realizowane algorytmem ze wsteczną propagacją błędów. - Obejrzyj przypadki dla uczenia sieci //View/Edit examples//. - Obejrzyj statystyki uczenia: //Show plot// i //Statistics//. - Podaj ręcznie kilka przykładów do klasyfikacji dla sieci: //Calculate output// - Spróbuj powtórzyć ćwiczenie dla innych wybranych przykładów. ==== Budowa sieci ==== - Przeczytaj //[[http://www.aispace.org/neural/help/tutorial2.shtml|tutorial]]//. - Załaduj przykładowy zbiór danych do budowy sieci //Small car data// przez //File/Load Samle data//. Sieć modeluje klasyfikację samochodów do 4 klas na podstawie szeregu parametrów. - Obejrzyj opis //Help/Legend//. - Obejrzyj opis tekstowy sieci //Edit/View text representation//. Zwróć uwagę na dane uczące. - Przejdź do uczenia sieci, zakładka //Solve//. Ustaw //Auto step speed// na Medium 0.5s. - Dokonaj inicjalizacji parametrów sieci. - Wybierz przykłady testowe ze zbioru uczących //[[http://www.aispace.org/neural/help/tutorial2.shtml|tutorial]]//. - Włącz uczenie. - Obserwuj statystyki uczenia. - Podaj ręcznie kilka przykładów do klasyfikacji dla sieci: //Calculate output// ==== Własna sieć ==== - Załaduj i obejrzyj przykład //Likes TV// - Stwórz analogiczną sieć od nowa, ma klasyfikować czy użytkownik ogląda jakąś kategorię programu telewizyjnego w zależności od pory dnia. - Przez opcję //File/Creat new graph// stwórz nową sieć. - Załóż, że będą 3 klasy programów (np. oglada, obojetne, nieoglada) (neurony wyjściowe), 2 neurony ukryte, wymyśl kilka cech wejściowych związanych z typem programu i jego porą emisji. - Utwórz przypadki dla uczenia sieci //View/Edit examples// i dokonaj uczenia.