Instrukcje do laboratorium
Transkrypt
Instrukcje do laboratorium
Instrukcje do laboratorium Marcin Korze« Zachodniopomorski Uniwersytet Technologiczny, Wydziaª Informatyki, Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej [email protected] Spis tre±ci 1 Metody Sztucznej Inteligencji 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2 3 Wprowadzenie do programu Matlab i pakietów: Netlab i Network Toolbox . . . . . . . . . . . . . . . . . . . . . . Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . Sieci neuronowe jednokierunkowe warstwowe . . . . . . . Sieci neuronowe jednokierunkowe (ang. feed-forward, MLP ) . Klasykacja i regresja . . . . . . . . . . . . . . . . . . . Sieci neuronowe typu RBF . . . . . . . . . . . . . . . . . Sieci rekurencyjne . . . . . . . . . . . . . . . . . . . . . Neural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 3 4 5 6 7 Aplikacje Sztucznej Inteligencji 8 2.1 2.2 8 9 Klasykacja i regresja . . . . . . . . . . . . . . . . . . . . . . . . Optymalizacja dyskretna . . . . . . . . . . . . . . . . . . . . . . . Podstawy Sztucznej Inteligencji - ZIP 3.1 3.2 4 2 Porównani algorytmów ucz¡cych sieci neuronowych z pakietu Neural Network Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . Sieci neuronowe typu RBF . . . . . . . . . . . . . . . . . . . . . . Sztuczne Sieci Neuronowe - INF 4.1 4.2 4.3 Porównani algorytmów ucz¡cych sieci neuronowych z pakietu Neural Network Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . Kompresja obrazów z wykorzystaniem sieci neuronowych . . . . . Sieci neuronowe typu RBF . . . . . . . . . . . . . . . . . . . . . . 1 10 10 10 13 13 14 14 Rozdziaª 1 Metody Sztucznej Inteligencji Rozliczenie zaj¦¢ Rozliczenie zaj¦¢ odbywa si¦ na podstawie: 1. Obecno±ci i czynnej pracy na zaj¦ciach 2. Ocen z wej±ciówek 3. Ocen z zada« praktycznych i sprawozda« Cz¦±¢ materiaªu i zada« ma charakter dodatkowy co na le»y rozumie¢: trzeba czyta¢ i robi¢ wi¦cej je»eli chce si¦ mie¢ ocen¦ powy»ej 4.0. 1.1 Wprowadzenie do programu Matlab i pakietów: Netlab i Neural Network Toolbox Podstawowa znajomo±¢ programowania w Matlabie oraz znajomo±¢ podstawowych funkcji do oblicze« numerycznych. Wymagania Zadania do wykonania 1. Nauczy¢ si¦ wczytywa¢ dane ró»nych formatów do Matlaba, dane mo»na znale¹¢ tu: • http://mlr.cs.umass.edu/ml/datasets.html • http://weka.sourceforge.net/wiki/index.php/Datasets • http://lib.stat.cmu.edu/ • http://www.inf.ed.ac.uk/teaching/courses/dme/html/datasets0405.html 2. Zapozna¢ si¦ z pakietem Neural Network Toolbox (zaczynaj¡c od: help nnet 3. Zapozna¢ si¦ z pakietem Netlab (autorzy: Ian Nabney, Christopher Bishop) dost¦pny pod adresem: http://www.ncrg.aston.ac.uk/netlab/book. php 4. Nauczy¢ si¦ wykonywa¢ w Matlab'ie znane ze statystyki i metod numerycznych metody jak: wyznaczanie podstawowych statystyk, obliczanie macierzy korelacji, PCA, regresja liniowa, rozwi¡zywanie zadania optymalizacji, itp. 2 5. Nauczyc si¦ rysowania wykresów funkcji jednej i dwóch zmiennych, rysowania histogramów, itp. Wszystkie potrzebne informacje mo»na znale¹¢ na stronie http://www.mathworks.com/access/helpdesk/help/techdoc/. literatura i uwagi 1.2 Perceptron Zbiór liniowo separowalny, margines separacji. Perceptron, struktura sieci, model neuronu, reguªa perceptronu. Zbie»no±¢ perceptronu, twierdzenie Noviko'a. Interpretacja geometryczna wag. Wymagania Zadania do wykonania 1. Napisa¢ algorytm uczenia perceptronu, funkcja powinna bra¢ na wej±cie dane ucz¡ce, oraz zwraca¢ wagi neuronu/ów i waro±¢/±ci prrogowe. Prototyp funkcji mo»e wygl¡da¢ nast¦puj¡co: [w,b]=regulaPerceptronu(X,d). Uwaga funkcja powinna w jaki± sposób zabezpiecza¢ si¦ przed danymi nieseparowalnymi np. ustawiaj¡c maksymaln¡ liczb¦ kroków algorytmu na 1e6 lub uzale»niaj¡c stop od czasu dziaªania. 2. Wygenerowa¢ dowolne dane liniowo seprowalne1 np: X=rand(100,2); d=2*(X(:,1)-X(:,2)>0)-1; 3. Uruchomi¢ algorytm [w,b]=regulaPerceptronu(X,d) 4. Zwizualizowa¢ wynik dziaªania algorytmu. 5. Poeksperymentowa¢ z ró»nymi danymi wej±ciowymi np. zwi¦kszaj¡c rozmiar zbioru ucz¡cego zachowuj¡c margines separacji, zmieniaj¡c rozkªad danych. 6. Wyznaczy¢ maksymalny margines w danych oraz minimalny promie« danych, a nast¦pnie sprawdzi¢, »e zachodzi teza twierdzenia Noviko'a. * Zmodykowa¢ algorytm tak, aby w sensowny sposób zachowywaª si¦ dla danych nieseparowalnych. Poeksperymentowa¢ z ró»nymi zbiorami danych. Wi¦kszo±¢ informacji mo»na znale¹¢ w pracach: [4, rozdziaª 1.], [2, Rozdzaiª 5], przeczyta¢ ze zrozumieniem [2, 5.3]. Ksi¡»k¦ [4] mo»na traktowa¢ jako podstawowy podr¦cznik do sieci neuronowych na naszych zaj¦ciach. literatura i uwagi 1.3 Sieci neuronowe jednokierunkowe warstwowe Struktura sieci, model neuronu, uczenie metod¡ wstecznej propagacji bª¦du w postaci prostej (on-line) i wsadowej (o-line), przegl¡d zastosowa«. Wymagania 1 Uwaga: Kolejne dane mog¡ by¢ zapisane wierszami jak w przykªadnie lub kolumnami ten sposób preferowany jest przez pakiet Neural Network Toolbox. Oba sposoby zapisu s¡ równie cz¦sto spotykane w literaturze. Nale»y mie¢ to na uwadze transponuj¡c odpowiednio wzory w sytuacjach, gdy jest to potrzebne. 3 Zadania do wykonania 1. Napisa¢ algorytm2 uczenia sieci neuronowej metod¡ wstecznej propagacji bª¦du w postaci on-line, dla pojedynczej warstwy neuronów. Prototyp funkcji mo»e mie¢ posta¢: [w,b]=backprop(X,d), gdzie (X, d) to pary ucz¡ce. 2. Zmodykowa¢ algorytm do tak, aby pracowaª w trybie wsadowym.Powinna wystarczy¢ tu zmiana pojedynczej linii, podmienion¡ lini¦ wzi¡±¢ w komentarz. * Zmodykowa¢ algorytm do tak, aby pracowaª dla sieci dwuwarstwowej, proponuje tryb wsadowy oraz w miejsce zwykªej wstecznej propagacji bª¦du wykorzysta¢ jaki± rodzaj gradientów sprz¦»onych. Wywoªanie mo»e mi¦¢ posta¢: [w1,b1,w2,b2]=backprop(X, d, K), gdzie K okre±la liczb¦ neuronów warstwy ukrytej, do obsªugi funkcji ze zmienn¡ liczb¡ argumentów mo»na u»y¢ staªej nargin. 3. Napisa¢ funkcj¦, która dla zadanych wag, oraz próbek wej±ciowych wyznaczy warto±ciowe sieci neuronowej. Funkcja mo»e obsªugiwa¢ zmienn¡ liczb¦ argumentów: y=mlp(X,w,b) y=mlp(X,w1,b1,w2,b2) * Napisa¢ funkcje do wizualizacji, wywoªania: sepline(X,d,w,b) lub sepline(X,d,w1,b1,w2,b2). Funkcja powinna ona rysowa¢ prost¡ separacji na tle próbek ucz¡cych w przypadku sieci jednowarstwowej, oraz lini¦ separacji w przypadku sieci dwuwarstwowej. Zastanowi¢ si¦ nad przypadkiem gdy danych wej±ciowe s¡ wi¦cej ni» dwuwymiarowe, wtedy mo»na posªu»y¢ si¦ metod¡ PCA. (wskazówka: przypadek danych dwuwymiarowych jest prosty nale»y posªu»y¢ si¦ funkcjami: meschgrid i contour.) 4. Poeksperymentowa¢ z ró»nymi zbiorami danych, porówna¢ dziaªanie z algorytmem reguªa perceptronu. Wi¦kszo±¢ informacji mo»na znale¹¢ w pracach: [4, rozdziaª 2.], parz równie» [2]. literatura i uwagi 1.4 Sieci neuronowe jednokierunkowe (ang. feed-forward, MLP ) Wymagania MLP, struktura sieci model neuronu. Uczenie sieci metod¡ wstecznej propagacji bª¦du i jej uogólnienia: dodanie czynnika momentu, minimalizacja kierunkowa, gradienty sprz¦»one, metody drugiego rz¦du. Optymalna prosta separuj¡ca dla danych linowo separowalnych i nieseparowalnych, metoda SVM. Zadania do wykonania 1. Pobra¢ dane dowolne dane z repozytoriom UCI: http://archive.ics.uci.edu/ml/datasets.html. Powinny dotyczy¢ one interesuj¡cego zagadnienia o którym mamy pewn¡ wiedz¦ (np. wine). 2. Wczyta¢ dane do Matlab'a 2 Prosz¦ wzi¡±¢ pod uwag¦, »e podstawowym typem Matlab'a s¡ macierze, dla których przeci¡»ono odpowiednie dziaªania i funkcje, czyli nale»y korzysta¢ z wygodnych notacji wektorowych i nie powinno si¦ nadu»ywa¢ p¦tli for. 4 3. Podzieli¢ dane na dwie cz¦¢i: cz¦±¢ ucz¡c¡ (P, T) i cz¦±¢ testuj¡c¡ (PT, TT) 4. Podzieli¢ zbiór ucz¡cy (P, T) na cz¦±¢ ucz¡c¡ (PU, TU) i waliduj¡c¡ (PV, TV) 5. Nauczy¢ sie¢ neuronow¡ na caªym zbiorze ucz¡cym (bez podziaªu na cz¦±ci ucz¡c¡ i waliduj¡c¡) i dokona¢ oceny bª¦du na zbiorze testowym 6. Nauczy¢ sie¢ neuronow¡ na caªym zbiorze ucz¡cym z wykorzystaniem zbioru waliduj¡cego i dokona¢ oceny bª¦du na zbiorze testowym * Dokona¢ wizualizacji danych (w rzutach na wybrane podprzestrzenie lub lepiej u»ywaj¡c PCA) oraz wizualizacji modelu. * Zastosowa¢ uczenie sieci metod¡ SVM 7. Dokona¢ oceny modelu: oszacowanie bª¦du klasykacji (odsetek bª¦dnych klasykacji na zbiorze testowym), krosswalidacja, AUC. 8. Powtórzy¢ uczenie dla sieci jednowarstwowych i dwuwarstwowych (z przyj¦t¡ arbitralnie liczb¡ neuronów ukrytych), porówna¢ ró»ne rodzaje sieci neuronowych oraz porówna¢ ró»ne algorytmy uczenia, do porównania mo»na wykorzysta¢ równie» program WEKA, wyniki zebra¢ w tabeli. * Dobra¢ liczb¦ neuronów warstwy ukrytej z wykorzystaniem zbioru waliduj¡cego. * Spróbowa¢ dokona¢ oceny istotno±ci i wspóªzale»no±ci zmiennych. (do oceny wspóªzale»no±ci mo»na u»y¢ wspóªczynnika korelacji liniowej miary przyrostu informacji lub innych, istotno±¢ mo»na oceni¢ bior¡c pod uwag¦ jaki wpªyw na jako±¢ modelu ma usuniecie jednej lub kilku zmiennych,) 9. Analiza i wnioski dotycz¡ce eksperymentu (nale»y bra¢ pod uwag¦ wielko±¢ bª¦du, zªo»ono±¢ modelu, praktyczn¡ przydatno±¢ takiego klasykatora w konkretnym przypadku, dokona jako±ciowej analizy ). 1.5 Klasykacja i regresja Ocena dokªadno±ci maszyny ucz¡cej, testowanie, kroswalidacja, MAE, MSE, dokªadno±¢ klasykacji, bª¡d klasykacji, czuªo±¢, specyczno±¢, krzywa ROC, AUC. Wymagania Zadania do wykonania 1. Wczyta¢ do Matlab'a dowolne dane dotycz¡ce problemu klasykacji dla dwóch klas. 2. Podzieli¢ dane na trzy cz¦±ci ucz¡ca L, waliduj¡c¡ V i testuj¡c¡ T 3. Nauczy¢ na danych ucz¡cych nast¦puj¡ce liniowe maszyny ucz¡ce: perceptron, MLP (sie¢ jednowarstwowa ró»ne algorytmy uczenia dost¦pne w matlabie), (ewentualnie SVM, regresja logistyczna)), powinni±my dosta¢ ró»ne zestawy wag prostej separuj¡cej w, b, oraz ró»ne bª¦dy klasykacji3 . 3 Nale»y rozró»nia¢ bª¡d sieci (w przypadku MLP jest to zwykle MSE lub SSE, w przypadku regresji logistycznej to DEV lub log-likelihood) oraz bª¡d klasykacji 5 4. Wybra¢ najlepszy z modeli u»ywaj¡c próby waliduj¡cej, a nast¦pnie oceni¢ jego dokªadno±¢ u»ywaj¡c próby testowej * Napisa¢ funkcj¦ która dla zadanych wag i danego zbioru testowego narysuje krzyw¡ ROC. * Obliczy¢ pole pod ta krzyw¡. Wi¦kszo±¢ informacji na ten temat mo»na znale¹¢ w ksi¡»ce: [3, 2.3.2], zach¦cam jednak do szerszego zapoznania si¦ z ta pozycj¡.. literatura i uwagi literatura i uwagi ta¢ w [1] lub [3, 6.2]. O metodzie maszyn wektorowych (SVM) mo»na przeczy- 1.6 Sieci neuronowe typu RBF Sieci RBF, struktura sieci, model neuronu, uczenie sieci (samoorganizacja + regresja), algorytm K-±rodków, algorytm EM, mieszanka modeli gaussowskich (GMM), sieci probabilistyczne, optymalny klasykator Bayesowski Wymagania Zadania do wykonania 1. Pobra¢ dane autoPrices.txt ze strony ksir.wi.ps.pl lub inne dowolne dane z repozytorioum UCI: http://archive.ics.uci.edu/ml/datasets.html dotycz¡ce zadania regresji. 2. Wczyta¢ dane do Matlab'a 3. Dokona¢ normalizacji zmiennych: zmienne przyjmuj¡ce warto±ci ró»nych znaków normalizujemy do przedziaªu [−1, 1] z zachowaniem zera, zmienne przyjmuj¡ce warto±ci dodatnie normalizujemy do zakresu [0, 1]. 4. Podzieli¢ dane na dwie cz¦¢i: cz¦±¢ ucz¡c¡ (PU, TU) i cz¦±¢ testuj¡c¡ (PT, TT) 5. Nauczy¢ sie¢ neuronow¡ typu RBF na caªym zbiorze ucz¡cym (bez podziaªu zbioru ucz¡cego na cz¦±ci ucz¡c¡ i waliduj¡c¡) i dokona¢ oceny bª¦du na zbiorze testowym. 6. Dokona¢ oszacowania bª¦du sieci RBF (mse lub mae) 7. Powtórzy¢ uczenie dla sieci z ró»n¡ liczb¡ liczb¡ neuronów RBF. 8. Analiza istotno±ci poszczególnych atrybutów (zmiennych) warunkowych. 9. Stworzy¢ dla porównania standardowy model regresji liniowej, porówna¢ bª¦dy (mse lub mae), spojrze¢ na wspóªczynniki i stad wnioskowa¢ nt. istotno±ci zmiennych. 10. Analiza i wnioski dotycz¡ce eksperymentów (nale»y bra¢ pod uwag¦ wielko±¢ bª¦du, praktyczn¡ przydatno±¢ prognozy (np. szacowanie ceny samochodu dla potrzeb komisu samochodowego), dyskusj¦ czym spowodowany jest bª¡d, dyskusj¦ nt. brakuj¡cych czynników maj¡cych wpªyw na bª¡d prognozy, itp.). 6 Zadania dodatkowe: 1. Dokona¢ wizualizacji danych (w rzutach na wybrane podprzestrzenie lub uzywaj¡c PCA) 2. Spróbowa¢ dokona¢ oceny istotno±ci i wspóªzale»no±ci zmiennych. (do oceny wspóªzale»no±ci mo»na u»y¢ wspóªczynnika korelacji liniowej, istotno±¢ mo»na oceni¢ bior¡c pod uwag¦ jaki wpªyw na jako±¢ modelu ma usuniecie jednej lub kilku zmiennych) 3. Dobra¢ liczb¦ neuronów warstwy ukrytej lub szeroko±¢ neuronów RBF z wykorzystaniem zbioru waliduj¡cego. literatura i uwagi Wi¦kszo±¢ informacji mo»na znale¹¢ w pracach: [4, rozdziaª 2.], o metodzie maszynach wektorowych (SVM) mo»na przeczyta¢ w [1] lub [3, 6.2]. 1.7 Sieci rekurencyjne Sieci Hopelda, struktura sieci model neuronu, tryb pracy, tryb odtwarzania, reguªa Hebba, pami¦ci skojarzeniowa, funkcja Lapunowa Wymagania 7 Rozdziaª 2 Aplikacje Sztucznej Inteligencji 2.1 Klasykacja i regresja Zadania do wykonania 1. Pobra¢ dwa dowolne, nietrywialne zbiory danych z repozytorium UCI: http://archive.ics.uci.edu/ml/datasets.html, lub innego. (przykªadowo mo»e to by¢ zbiór laeukemia, zbiory z KDD CUP 2004, zbiór streszcze« artykuªów z bazy Reuters-21578, lub inny) 2. Wczyta¢ dane do Matlab'a, oraz/lub do Weka (oraz/lub innego programu) 3. Podzieli¢ dane na dwie cz¦±ci: cz¦±¢ ucz¡c¡ (PL, TL) i cz¦±¢ testuj¡c¡ (PT, TT) 4. Przedstawi¢ wizualnie dane wielowymiarowe z zaznaczonymi klasami decyzyjnymi, najlepiej posªu»y¢ si¦ metod¡ PCA, gdy nie jest to mo»liwe dokona¢ redukcji atrybutów mniej istotnych 5. Na cz¦±ci ucz¡cej dokona¢ wybory najlepszego klasykatora (spo±ród nast¦puj¡cych metod: sieci neuronowe o ró»nej strukturze i ró»nych alg. uczenia, metody SVM, regresja logistyczna, naiwny klasykator Bayes'a, inne), klasykatory nale»y ocenia¢ stosuj¡c metod¦ kroswalidacji na zbiorze ucz¡cym 6. Dokona¢ selekcji atrybutów wybran¡ metod¡ (np. spróbowa¢ dla zbioru leukaemia wybra¢ jedynie kilka atrybutów które wystarczaj¡ do do±¢ dokªadnej klasykacji obiektów) 7. Porówna¢ wyniki kroswalidacji z wynikami na zbiorze testowym. 8. Oceny jako±ci klasykacji dokonywa¢ na podstawie: • bª¦dów/dokªadno±ci klasykacji • krzywej ROC (krzywe te przedstawi¢ gracznie dla ró»nych klasykatorów) • AUC (pole pod krzyw¡ ROC) 9. Podsumowanie i wnioski dotycz¡ce mi¦dzy innymi: 8 • krytycznej oceny jako±ci klasykacji w danym konkretnym problemie • stosowalno±ci wybranych metod uczenia maszynowego w danym konkretnym problemie pod wzgl¦dem mo»liwo±ci numerycznych oraz jako±ci dziaªania • oceny wybranych metod (które lepsze, które gorsze) • do prezentacji wyników u»ywa¢ tabel i wykresów, zach¦cam do u»ywania generatora raportów Matlab'a 2.2 Optymalizacja dyskretna Zadania do wykonania Do wyboru mamy dwa tematy: • Wyszukiwanie optymalnej ±cie»ki komiwoja»era • Problem kolorowania grafów (kolorowanie wierzchoªków) Zadania nale»y rozwi¡za¢ stosuj¡c algorytm ewolucyjny, jednak proponuj¦ zacz¡¢ od napisania, którego± ze znanych algorytmów heurystycznych 9 Rozdziaª 3 Podstawy Sztucznej Inteligencji - ZIP 3.1 Porównani algorytmów ucz¡cych sieci neuronowych z pakietu Neural Network Toolbox Zadania do wykonania 1. Wczyta¢ do Matlab'a trzy ró»ne zbiory danych dotycz¡ce problemu klasykacji dla dwóch klas (np. wine, breast-cancer, waveform-5000). 2. Podzieli¢ dane na dwie równe cz¦±ci ucz¡ca L, testuj¡c¡ T 3. Porówna¢ czasy dziaªania i dokªadno±¢ klasykacji algorytmów ucz¡cych przy ustalonej strukturze sieci. Nale»y wzi¡±¢ pod uwag¦ algorytmy: traingd, traingdm, trainrp, trainscg, traincgf, trainlm, oraz struktury: 1- warstwow¡, 2-warstwow¡ (5:5:100 neuronów w warstwie ukrytej), kilka przykªadów sieci 3-warstwowych. Wyniki przedstawi¢ w tabeli (przykªadowo tab 3.1) oraz na wykresach. Przedstawi¢ wyniki pogrupowane wzgl¦dem algorytmów uczenia, nale»y patrze¢ na czas dziaªania i liczb¦ parametrów oraz bª¡d na zbiorze testowym (zdolno±¢ do uogólniania) 4. Podsumowanie i wnioski 5. Jako zaª¡cznik wklei¢ wykorzystywane skrypty Matlab'a 3.2 Sieci neuronowe typu RBF Sieci RBF, struktura sieci, model neuronu, uczenie sieci (samoorganizacja + regresja), algorytm K-±rodków Wymagania Zadania do wykonania 1. Pobra¢ dane autoPrices.txt ze strony ksir.wi.ps.pl lub inne dowolne dane z repozytorioum UCI: http://archive.ics.uci.edu/ml/datasets.html dotycz¡ce zadania regresji. 2. Wczyta¢ dane do Matlab'a 10 3. Dokona¢ normalizacji zmiennych: zmienne przyjmuj¡ce warto±ci ró»nych znaków normalizujemy do przedziaªu [−1, 1] z zachowaniem zera, zmienne przyjmuj¡ce warto±ci dodatnie normalizujemy do zakresu [0, 1]. 4. Podzieli¢ dane na dwie cz¦¢i: cz¦±¢ ucz¡c¡ (PU, TU) i cz¦±¢ testuj¡c¡ (PT, TT) 5. Nauczy¢ sie¢ neuronow¡ typu RBF na caªym zbiorze ucz¡cym (bez podziaªu zbioru ucz¡cego na cz¦±ci ucz¡c¡ i waliduj¡c¡) i dokona¢ oceny bª¦du na zbiorze testowym. (przydatne polecenia newrb, newrbe, newgrnn) 6. Wyznaczy¢ bª¡d sieci RBF na zbiorze ucz¡cym i testowym (mse lub mae) 7. Powtórzy¢ uczenie dla sieci z ró»n¡ liczb¡ neuronów RBF. 8. Stworzy¢ dla porównania standardowy model regresji liniowej, porówna¢ bª¦dy (mse lub mae), spojrze¢ na wspóªczynniki i stad wnioskowa¢ nt. istotno±ci zmiennych. 9. Spróbowa¢ dokona¢ oceny istotno±ci i wspóªzale»no±ci zmiennych. (do oceny wspóªzale»no±ci mo»na u»y¢ wspóªczynnika korelacji liniowej, istotno±¢ mo»na oceni¢ bior¡c pod uwag¦ jaki wpªyw na jako±¢ modelu ma usuniecie jednej lub kilku zmiennych) 10. Analiza i wnioski dotycz¡ce eksperymentów (nale»y bra¢ pod uwag¦ wielko±¢ bª¦du, praktyczn¡ przydatno±¢ prognozy (np. szacowanie ceny samochodu dla potrzeb komisu samochodowego), dyskusj¦ czym spowodowany jest bª¡d, dyskusj¦ nt. brakuj¡cych czynników maj¡cych wpªyw na bª¡d prognozy, itp.). Wyniki przedstawi¢ w tabeli i na wykresach. 11 numer eksperymentu rozmiar zbioru ucz¡cego struktura sieci rodzaj algorytmu uczenia czas dziaªania bª¡d na zb. ucz¡cym bª¡d na zb. testowym ... ... ... ... ... ... ... Tablica 3.1: Wyniki nale»y prezentowa¢ w tabeli zbli»onej do tej oraz na wykresach. 12 Rozdziaª 4 Sztuczne Sieci Neuronowe INF 4.1 Porównani algorytmów ucz¡cych sieci neuronowych z pakietu Neural Network Toolbox Celem ¢wiczenia jest przebadanie algorytmów uczenia sieci neuronowych. Przy ocenie algorytmów nale»y wzi¡¢ pod uwag¦ dwie rzeczy: a) czas dziaªania algorytmu, b) zdolno±¢ do uogólniania mierzona jako bª¡d klasykacji na zbiorze testowym. Szczegóªowy plan zada«: Zadania do wykonania 1. Wczyta¢ do Matlab'a trzy ró»ne zbiory danych dotycz¡ce problemu klasykacji dla dwóch klas. 2. Podzieli¢ dane na dwie równe cz¦±ci ucz¡ca L, testuj¡c¡ T 3. Porówna¢ czasy dziaªania i dokªadno±¢ klasykacji algorytmów ucz¡cych przy ustalonej strukturze sieci. Nale»y wzi¡±¢ pod uwag¦ algorytmy: traingd, traingdm, trainrp, trainscg, traincgf, trainlm, oraz struktury: 1- warstwow¡, 2-warstwow¡ (5:5:100 neuronów w warstwie ukrytej), kilka przykªadów sieci 3-warstwowych. Wyniki przedstawi¢ w tabeli (przykªadowo tab 3.1) oraz na wykresach. Przedstawi¢ wyniki pogrupowane wzgl¦dem algorytmów uczenia, nale»y patrze¢ na: czas dziaªania i liczb¦ parametrów sieci (stuktur¦) oraz bª¡d na zbiorze testowym (zdolno±¢ do uogólniania) 4. Sprawdzi¢ jak skaluj¡ si¦ powy»sze algorytmy gdy zmienia si¦ rozmiar zbioru ucz¡cego 5. Podsumowanie i wnioski 6. Zach¦cam do publikowania wyników (do HTML'a lub LaTeX'a) bezpo±rednio z poziomu Matlaba, w przeciwnym razie jako zaª¡cznik wklei¢ wykorzystywane skrypty Matlab'a. Sprawozdanie nie powinno przekracza¢ 4 stron, Zasadnicz¡ cz¦±ci¡ s¡: tabela, wykresy, oraz podsumowanie. 13 4.2 Kompresja obrazów z wykorzystaniem sieci neuronowych Zadania do wykonania 1. Przygotowa¢ obraz testowy. 2. Ustali¢ struktur¦ sieci neuronowej liczb¦ we/wy oraz liczb¦ parametrów warstwy ukrytej, rodzaje funkcji aktywacji zaczynaj¡c od purelin. 3. Przygotowa¢ wzorce ucz¡ce dziel¡c obraz na wzorce zadanej wymiarowo±ci. 4. Nauczy¢ sie¢ neuronow¡ odtwarza¢ wzorce ucz¡ce, wyznaczy¢ bª¡d sieci oraz wspóªczynnik kompresji. 5. Poeksperymentowa¢ z ró»n¡ liczb¡ wej±¢/wyj±¢ oraz z ró»n¡ liczb¡ neutronów z warstwy ukrytej, parz¡c za ka»dym razem na bª¡d sieci oraz wspóªczynnik kompresji. 6. Prezentacja wyników (rysunki oryginaª i po kompresji obok siebie oraz tabela z wynikami), podsumowanie i wnioski 7. Zach¦cam do publikowania wyników (do HTML'a lub LaTeX'a) bezpo±rednio z poziomu Matlaba, w przeciwnym razie jako zaª¡cznik wklei¢ wykorzystywane skrypty Matlab'a. Sprawozdanie nie powinno przekracza¢ 4 stron. 4.3 Sieci neuronowe typu RBF Sieci RBF, struktura sieci, model neuronu, uczenie sieci (samoorganizacja + regresja), algorytm K-±rodków Wymagania Zadania do wykonania 1. Pobra¢ dane autoPrices.txt ze strony wikizmsi.zut.edu.pl lub inne dowolne dane z repozytorioum UCI: http://archive.ics.uci.edu/ml/datasets.html dotycz¡ce zadania regresji. 2. Wczyta¢ dane do Matlab'a 3. Dokona¢ normalizacji zmiennych: zmienne przyjmuj¡ce warto±ci ró»nych znaków normalizujemy do przedziaªu [−1, 1] z zachowaniem zera, zmienne przyjmuj¡ce warto±ci dodatnie normalizujemy do zakresu [0, 1]. 4. Podzieli¢ dane na dwie cz¦¢i: cz¦±¢ ucz¡c¡ (PU, TU) i cz¦±¢ testuj¡c¡ (PT, TT) 5. Nauczy¢ sie¢ neuronow¡ typu RBF na caªym zbiorze ucz¡cym (bez podziaªu zbioru ucz¡cego na cz¦±ci ucz¡c¡ i waliduj¡c¡) i dokona¢ oceny bª¦du na zbiorze testowym. (przydatne polecenia newrb, newrbe, newgrnn) 6. Wyznaczy¢ bª¡d sieci RBF na zbiorze ucz¡cym i testowym (mse lub mae) 7. Powtórzy¢ uczenie dla sieci z ró»n¡ liczb¡ neuronów RBF. Wybra¢ najlepsz¡ liczb¦ neuronów posªuguj¡c si¦ zbiorem ucz¡cym (mo»na wydzieli¢ cz¦±¢ waliduj¡c¡) 14 8. Stworzy¢ dla porównania standardowy model regresji liniowej, porówna¢ bª¦dy obu modeli (mse oraz mae). Spojrze¢ na wspóªczynniki i stad wnioskowa¢ nt. istotno±ci zmiennych. 9. Spróbowa¢ dokona¢ oceny istotno±ci i wspóªzale»no±ci zmiennych. (do oceny wspóªzale»no±ci mo»na u»y¢ wspóªczynnika korelacji liniowej, istotno±¢ mo»na oceni¢ bior¡c pod uwag¦ jaki wpªyw na jako±¢ modelu ma usuniecie jednej lub kilku zmiennych) 10. Analiza i wnioski dotycz¡ce eksperymentów (nale»y bra¢ pod uwag¦ wielko±¢ bª¦du, praktyczn¡ przydatno±¢ prognozy (np. szacowanie ceny samochodu dla potrzeb komisu samochodowego), dyskusj¦ czym spowodowany jest bª¡d, dyskusj¦ nt. brakuj¡cych czynników maj¡cych wpªyw na bª¡d prognozy, itp.). Wyniki przedstawi¢ w tabeli i na wykresach. 11. Zach¦cam do publikowania wyników (do HTML'a lub LaTeX'a) bezpo±rednio z poziomu Matlaba, w przeciwnym razie jako zaª¡cznik wklei¢ wykorzystywane skrypty Matlab'a. Sprawozdanie nie powinno przekracza¢ 4 stron. 15 Bibliograa [1] Ch J. C. Burges. A Tutorial on Support Vector Machines for Pattern Recognition, in Data Mining and Knowledge Discovery, 2, 121167 (1998), Kluwer Academic Publishers, Boston. [2] J. Hertz, A. Krogh, R. G. Palmer WNT, Warszawa, 1993. Wst¦p do teorii oblicze« neuronowych . [3] J. Koronacki, J. wik, Statystyczne systemy ucz¡ce. WNT, Warszawa 2005. [4] S. Osowski. 1998. . WNT, Warszawa, Sieci neuronowe w ujeciu algorytmicznym [5] A. Piegat, Modelowanie i sterowanie nicza EXIT, Warszawa 2000. . Akademicka ocyna wydaw- rozmyte [6] I. H. Witten, E. Frank, Data Mining: Practical and Techniques. Morgan Kaufmann, 2005 16 Machine Learning Tools