Zaimplementuj algorytm propagacji wstecznej przedstawiony na wykładzie 9 dla sieci neuronowej 3-4-1 (3-wejścia, 4-warstwa ukryta, 1-wyjście). Rozwiąż pokazany problem
XOR
. Następnie
- zamiast funkcji sigmoidalnej wykorzystaj funkcje aktywacji
- wykorzystaj kombinacje funkcji sigmoidalnej z np. warstwa ukryta ma a warstwa wyjściowa jest lub inne kombinacje. Poeksperymentuj!
Które rozwiązanie daje lepszą dokładność? Odpowiedź na to pytanie pisząc program testowy, który to pokazuje (np. po uruchomieniu w terminalu dostajemy wyniki dla różnych kombinacji z opisem). Rozwiąż ten problem również dla innych funkcji logicznych AND i OR. Dlaczego w danych wejściowych z przykładu z wykładu mamy ostatnią kolumnę z samymi jedynkami. Na to pytanie odpowiedź w komentarzu kodu źródłowego programu.
Uruchomienie programu: ./ex-1.py <XOR|OR|AND>
.