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