dr inż. Małgorzata Krętowska Wydział Informatyki PB Sztuczne sieci

Transkrypt

dr inż. Małgorzata Krętowska Wydział Informatyki PB Sztuczne sieci
dr inż. Małgorzata Krętowska
Wydział Informatyki PB
Sztuczne sieci neuronowe
Pracownia specjalistyczna nr 3
Zakres materiału: Zasada działania perceptronu.
Zadania
Zad 1 Przeanalizować działanie perceptronu korzystając z programów demo: nnd4db ("Decision
boundaries") oraz nnd4pr ("Perceptron learning rule"). (jeżeli nie zostało to zrobione na zajęciach nr 2 ).
Zad 2 Przedstawić graficznie działanie pojedynczego neuronu z progową funkcją aktywacji, który będzie
rozwiązywał problem 2-wymiarowy
a) AND
b) OR
Na wykresie umieścić klasyfikowane punkty oraz otrzymaną hiperpłaszczyznę (w1x1+w2x2+b=0).
Zad 3 Wykorzystując funkcję newp utworzyć sieć zbudowaną z jednego neuronu do analizy danych
utworzonych w zadaniu 2.
a) Przeanalizować utworzoną strukturę, w szczególności: inputWeights{1,1}, biases{1}. Sprawdzić
wartości wag i progu
b) Ustawić (sprawdzić) odpowiednie parametry uczenia neuronu:
wartości początkowe wag na 0 (initFcn)
perceptronową regułę uczenia (learnFcn)
odpowiednią liczbę cykli uczenia (epochs)
odpowiednią dokładność (błąd) (goal)
c) Sprawdzić działanie perceptronu przed uczeniem. Przeanalizować działanie reguły
perceptronowej (train, sim)
Zad 4 Utworzyć perceptron rozwiązujący problem OR korzystając z dostępnego w Matlabie narzędzia
NNTool. Przeanalizować dostępne opcje.
Zad 5* Stworzyć zbiór danych 2-wymiarowych zawierający elementy należące do trzech klas.
Zaprojektować sieć neuronową odpowiednią do analizy tego typu danych w przypadku a) klas
separowalnych liniowo; b) klas nieseparowalnych liniowo. Jakie są problemy przy analizie powyższych
danych?
Zad 6 Przeanalizować problem klasyfikacji przy wykorzystaniu perceptronu w oparciu o programy demo:
demop1 i demop2 (uruchamiane z okna pomocy !!!)
* zadanie dodatkowe
Opcje MATLABA:
Tworzenie percepronu
net=newp(RM,Nr)
RM – macierz Rx2 z maksymalnymi i minimalnymi wartościami danych wejściowych R
wymiarowych (funkcja MATLABA: minmax(dane))
Nr – liczba neuronów
np. net=newp([0 1;0 1], 2) lub net=newp(minmax(dane),2)
Przykłady odwołań do poszczególnych parametrów sieci:
net.inputWeights{1,1} – struktura opisująca wagi wejściowe neuronu 1 warstwy 1
net.trainParam.epochs
net.IW{1,1} – wartości wag neuronu 1 warstwy 1
net.b{1} – wartość progu neuronu 1
Parametry:
initzero – inicjacja wag na wartość 0
rands – inicjacja wag wartościami losowymi
dotprod – przekazywanie na wejście percepronu waŜonej sumy danych wejściowych i
progu
learnp – perceptronowa reguła uczenia
Uczenie i symulacja działania sieci:
train(net, dane_we, dane_wy) – uczenie sieci
sim(net, dane_we) – symulacja działania sieci, zwraca wartości wyjściowe sieci
dla danych uczących
Wykresy
plotpv(dane, t) – wykres punktowy zbioru dane, t – wektor klas (wartości
binarne)
plotpc(W,b) – W - wektor wag, b- próg (WTX+b=0) – wykreślanie linii o zadanych
parametrach W i progu b
plotpc(net.IW{1,1}, net.b{1})