Zadania kontrolne¶
Dokonać aproksymacji następujących funkcji:
\[\begin{split}\begin{eqnarray*} f(x)=sin(x) , 0<x<6\\ f(x)=0.5*log(x) , 1<x<2.5\\ f(x)=x*cos(x)+0.3*log(x) , 1<x<6 \end{eqnarray*}\end{split}\]
Obliczeń dokonać dla sieci o różnej ilości neuronów ukrytych, cykli uczenia oraz dla rożnych funkcji aktywacji neuronów wyjściowych. Jako że efekt treningu zależy od początkowych wartości wag, trening należy powtórzyć parokrotnie dal każdego ustawienia. Zanotować dla każdego ustawienia średni błąd uczenia. Na podstawie uzyskanych wyników wysunąć wnioski o wpływie modyfikowanych czynników na rezultaty uzyskane przez sieci. Dane zebrać w tabelce.
- Dokonaj klasyfikacji zbioru danych Iris za pomocą wielowarstwowego perceptronu. Obliczeń dokonać dla różnej ilości neuronów ukrytych i funkcji aktywacji. Trening należy powtórzyć parokrotnie dla każdego ustawienia. Zanotować dla każdego ustawienia średni błąd uczenia. Dane zebrać w tabelce.
- Wybierz dowolną funkcje z zadania pierwszego i sieć, która osiągała dobre rezultaty. Przetestuj wpływ początkowych wartości wag na efekt uczenia.
- Korzystając z funkcji sklearn.datasets.fetch_mldata pobierz zbiór danych MNIST. Zbiór ten zawiera zdigitalizowane próbki ręczne pisma cyfr od 0 do 9. Podziel zbiór losowo na część uczącą i testową. Wykorzystując sieć MLP dokonaj uczenia zbioru MNIST z różnymi parametrami sieci. Dane zbierz w tabelce.
- Zbudować sieć MLP dla klasyfikacji cyfr ze zbioru mnist_012. Uczenie przeprowadzić dla różnej liczby neuronów w warstwie ukrytej. Dla najlepszej sieci ocenić (tzn. takiej, dla której błąd MSE jest najmniejszy) sprawność klasyfikatora na zbiorze testowym.
- Przetestować działanie perceptronu na zbiorach perceptron1 i perceptron2.
- Wczytać zbiór Diabetic i dokonać jego losowego podziału na część uczącą i testową. Dokonać uczenia sieć preceptron i MLP dla zbioru danych Diabetic z różnymi parametrami sieci i różnymi funkcjami aktywacji. Dane zbierz w tabele i porównaj z wynikami uzyskanymi przez liniowy klasyfikator SVM.
- Dla zbioru banana zbudować sieć z warstwą ukrytą i jednym neuronem. Dla kilku przykładowych architektur dokonać uczenia sieci na zbiorze uczącym i ocenić sprawność klasyfikacji na zbiorze testowym.
- Dokonaj uczenia sieci Hopfielda i testowania jego wyników dla trzech wzorców liter ‘a’, ‘t’ oraz ‘v’. Dokonaj testowania na zaszumionych wzorcach liter. Jaki efekt testowania sieci uzyskuje się dla negatywów zaszumionych wzorców uczących?
- Dla zbioru danych Hopfield09 zbudować sieć Hopfielda zapamiętującą cyfry od 0 do 9. Dokonać \(10\%\) zaszumienia danych i sprawdzić działanie sieci na danych zaszumionych.
- Dokonaj uczenia sieci Kohonena z różnymi parametrami i z wykorzystaniem algorytmów WTM. Zaobserwuj ich wpływ na zdolność sieci do prawidłowego odwzorowania zbiorów danych uczących. Dokonaj testowania sieci na zbiorach danych kohonen1.