Uczenie prostych liniowych sieci jedn
Zanim jednak przeczytasz, wprowadzisz do swojego komputera, wypróbujesz i (oczywiście!) ulepszysz ten mój program uczący - potrzebna jest pewna uwaga wprowadzająca. Otóż podczas eksperymentów polegających na badaniu działania pojedynczego neuronu i całej sieci (w poprzednim rozdziale) korzystałeś z możliwości ręcznego wprowadzania wszystkich potrzebnych sygnałów, co dawało pełną kontrolę nad eksperymentem. Wtedy tak było łatwo, miło i wygodnie. Z chwilą jednak podjęcia prób uczenia sieci - pieszczoty się kończą. Tu niekiedy potrzebne są setki i tysiące eksperymentów, zanim coś sensownego zacznie się wyłaniać z początkowego chaosu.Oczywiście można sobie wyobrazić masochistę, który kilka tysięcy razy wprowadza “z palca” te same dane w celu nauczenia sieci poprawnego rozwiązania jakiegoś zadania, ale zakładam, że tacy aberaci są jednak wśród Czytelników tej książki w zdecydowanej mniejszości.
Dlatego od początku założymy, że proces uczenia musi być oparty na zapamiętanym w komputerze, wcześniej przygotowanym tak zwanym zbiorze uczącym, w którym powinny być zawarte zarówno sygnały wejściowe (do wszystkich neuronów sieci) jak i wzorce poprawnych (wymaganych) sygnałów wyjściowych, z którymi algorytm uczący będzie konfrontował rzeczywiste zachowanie sieci. W moich programach format rekordów zbioru uczącego będzie następujący:
komentarz (ułatwiający śledzenie co się dzieje) zestaw sygnałów wejściowych wzorcowy zestaw sygnałów wyjściowych Zakładać przy tym będę, że w zestawie sygnałów wejściowych podawane będą pięcioelementowe wektory (porcje po pięć sygnałów dla pięciu wejść rozważanego neuronu), zaś wzorcowy sygnał wyjściowy będzie jeden (jako że masz do dyspozycji chwilowo tylko jeden neuron). Ciąg uczący może być dowolnie długi, więc plik zawierający podane wyżej zestawy informacji bywa niekiedy naprawdę duży, ale na początek, dla programu uczącego jeden neuron, proponuję użyć takiego krótkiego pliku: typowy obiekt który pouńnien byc rozpoznawany
1
typowy obiekt który pouńnien byc odrzucany 1 ,-2,1,-2,-4 -1
nietypowy obiekt który powinien byc rozpoznawany
.8:
nietypowy obiekt który powinien byc odrzucany