Podstawy sztucznej inteligencji – PROJEKT – Sieci neuronowe Rok akademicki 2014/2015 |
---|
Imię i nazwisko: Krystian Cymerys |
Grupa ćwiczeniowa 1 III rok Informatyka Stosowana |
Zadanie nr 1
W tym zadaniu należało narysować wykresy funkcji aktywacji dla argumentów z przedziału ‑2:2 z krokiem 0.1. Dla wszystkich funkcji bias=0. Poniżej funkcję aktywacji przedstawione na wykresie:
Liniowa (purelin)
Skokowa unipolarna (hardlim)
Skokowa bipolarna (hardlims)
Sigmoidalna (logsig)
Tangensoidalna (tansig)
Rysunek .
Zadanie nr 2
W tym zadaniu należało wybrać dwie funkcje: jedną ciągłą, drugą zaś nieciągłą. Pokazać wpływ bias na ich przebieg. Bias=-2,0,3.
Rysunek .Funkcja ciągła – purelin(x) wraz z wartościami bias
Rysunek .Funkcja nieciągła – hardlims(x) wraz z wartościami bias
Z powyższych wykresów możemy wywnioskować, iż w przypadku jednowejściowego neuronu wartości biasu umożliwiają przesuwanie progu aktywacji względem osi x. Zaobserwować można, że gdy wartość biasu jest ujemna próg aktywacji przesuwa się w prawo, natomiast gdy bias jest dodatni próg ulega przesunięciu w lewo. Z przeprowadzonego doświadczenia możemy wywnioskować, że neuron wraz z biasem może uczyć się wektorów, których neuron z biasem równym 0 nie byłby w stanie się nauczyć. Możemy również wysunąć wniosek, iż dodatkowa waga zamiast większej ilości obliczeń spowoduje poprawę własności neuronu.
Zadanie nr 3
Wpływ wagi sygnału wejściowego na wyjście uzależniony jest od opisanej funkcji przejścia. W powyższym przypadku (purelin – funkcja liniowa) zależność jest prosta. Zmniejszanie wagi sygnału powoduje obrót wykresu zgodnie z ruchem wskazówek zegara, zaś jeśli zwiększamy wagę sygnału to powoduje obrót wykresu przeciwnie do ruchu wskazówek zegara. Wpływ wartości progowej na wyjście neuronu (bias) jest identyczne jak opisane w poprzednim zadaniu. Jeżeli b>0 to próg aktywacji przesuwa się w lewo, natomiast jeżeli b<0 to próg aktywacji przesuwa się w prawo. Wartość b=0 nie ma wpływu na wyjście neuronu. Zmiana funkcji aktywacji zupełnie zmienia zachowanie się neuronu. W rezultacie zmianie ulega również sygnał wyjściowy. To jak będzie on wyglądał zależy od wybranej funkcji aktywacji. Wybór musi być dobrany do zadanego problemu.
Rysunek .F=purelin, w=1, b=0
Rysunek .F=hardlim, w=-1, b=2
Rysunek .F=logsig, w=2, b=-1
Rysunek .F=tansig, w=-2, b=1
Na powyższych zrzutach ekranu widzimy różne funkcje aktywacji z różnie ustawionymi parametrami (waga, bias). Takie testowanie pozwala zobrazować jak dany neuron będzie się zachowywał, a w przyszłości pozwali to nam na szybki dobór zarówno funkcji aktywacji jak i dopasowanie parametrów dla zadanego problemu.
Wzór:
$$y = f\left( \sum_{i = 1}^{n}{w_{i}x_{i} + b} \right) = f\left( w^{T}x \right)$$
Rysunek .F=purelin, w=1, b=0
Rysunek .F=hardlim, w=-1, b=2
Powyższe zrzuty ekranu przedstawiają obliczenia wykonane w programie Excel na tym samym zakresie danych co w programie Matlab. Możemy zaobserwować, iż wykresy z programu Excel pokrywają się (są zgodne) z wykresami programu Matlab.
Zadanie nr 4
W przypadku funkcji liniowej zwiększenie wartości wejściowej neuronu, zwiększa wartość wyjściową. W sposób analogiczny zachowuje się neuron, jeżeli jego wartość wejściową zmniejszamy to wartość wyjściowa również ulega zmniejszeniu. Uzależnione jest to od wagi. Jeżeli waga jest większa od zera wówczas powyższe stwierdzenie działa. Natomiast w przeciwnym wypadku zależność ta wygląda odwrotnie. W przypadku biasu, czyli wartości progowej, który nie zależy od wagi ani od sygnału wejściowego, możemy zaobserwować zwiększanie wartości wyjściowej o wartość, którą posiada bias (wartość z przedziału od -2 do 2). W dużej mierze wartość wyjściowa zależy od funkcji aktywacji jaką wybierzemy. Na powyższych zrzutach ekranu widzimy standardowe ustawienie w programie Matlab dla funkcji purelin oraz logsig. Parametry mają takie same wartości a uzyskana wartość wyjściowa jest różna. W przypadku funkcji purelin wynosi 0, natomiast dla logsig równa jest 1.
Rysunek . F=purelin
Rysunek . F=tansig
Rysunek . F=logsig
Rysunek . F=hardlim
Na powyższych zrzutach ekranu widzimy różne funkcje aktywacji z różnie ustawionymi parametrami (wartości wejściowe, wagi, bias). Takie testowanie pozwala zobrazować jak dany neuron będzie się zachowywał, a w przyszłości pozwali to nam na szybki dobór zarówno funkcji aktywacji jak i dopasowanie parametrów dla zadanego problemu.
Wartości policzone zostały w programie Excel. Pokrywają się one z wartościami wyliczonymi przez program Matlab.