Marcin Jaruszewicz Jacek Mańdziuk Dobór danych wejściowych sieci neuronowej przy pomocy algorytmów genetycznych Marcin Jaruszewicz Jacek Mańdziuk
Cel prezentacji Wyjaśnienie stanu aktualnego badań Przedstawienie szczegółów implementacji Określenie podstawowych własności algorytmu Omówienie pomysłów poprawy
Algorytm genetyczny Definicja chromosomu: Zmienne wejściowe z puli dostępnych zmiennych od 5 do 10 (parametr) Liczba warstw ukrytych SN (od 1 do 2) Przystosowanie chromosomu jest liczone jako błąd predykcji SN na rekordach walidacyjnych Chromosom, dla którego SN nie mogła się nauczyć (błąd nie malał) nazywany jest chromosomem martwym (w pp. chromosomem żywym)
Algorytm genetyczny Wstępne ograniczenie liczby zmiennych za pomocą metody macierzy autokorelacji (od 10% do 20%) – daje ok. 35 zmiennych Rekordy w pojedynczym eksperymencie: 80 uczących, 10 walidacyjnych, 10 testowych (niedostępne dla AG, do testowania jego skuteczności)
Populacja wyjściowa Parametry: liczba warstw ukrytych (1-2), liczba kodowanych zmiennych (5-10) Parametr: rozmiar populacji wyższego poziomu Dla każdego elementu wyższego poziomu tworzone są wszystkie możliwe układy parametrów chromosomów (12 chromosomów) oraz wzorców sieci neuronowych
Algorytm (1) Policz przystosowanie dla nowych osobników w populacji rodziców, znajdź i zapamiętaj najlepszy chromosom Policz przystosowanie dla nowych osobników w populacji dzieci Dla każdego chromosomu liczone jest przystosowanie według 2 sieci neuronowych (wielowątkowo)
Algorytm (2) Zamień rodziców na dzieci Znajdź najlepsze dziecko ze wszystkich możliwych Zamień rodzica na dziecko tylko jeśli błąd dziecka <= błąd rodzica Przygotuj podział populacji dla rankingu (ustalenie losowych par: rodzic1 lepszy – rodzic1 gorszy, rodzic2 lepszy – rodzic2 gorszy) Wykonaj krzyżowanie zgodnie z prawdopodobieństwem: dziecko1,2=rodzic1 lepszy + rodzic2 lepszy W krzyżowaniu powstaje tyle ile jest możliwości podziałów
Algorytm (3) Dla każdego rodzica wykonaj mutację zgodnie z prawdopodobieństwem jeśli liczba żywych chromosomów przekroczy próg (50%) mutacji podlegają również chromosomy żywe
Mutacja Zmianie podlega kodowanie zmiennych wejściowych Prawdopodobieństwo mutacji jednego genu: 0.5 dla martwych, 0.05 dla żywych Parametr określający liczbę zmian w jednym chromosomie w czasie jednej mutacji: 5 Nowa zmienna wybierana jest losowo z dostępnej puli
Krzyżowanie Prawdopodobieństwo krzyżowania: 0.9 Ustalenie punktu podziału: od 1 do maksimum z liczby kodowanych zmiennych przez rodziców -1 X Y Rodzic 1 Rodzic 2 Dziecko 1 Dziecko 2 Wybrany podział Możliwe podziały
Własności algorytmu Zmiana liczby żywych chromosomów w populacji 600 osobników Liczba mutacji na martwych i żywych chromosomach Liczba udanych krzyżowań wprowadzających do populacji żywe i martwe osobniki Zmiany jakościowe populacji
Pomysły Populacja wyjściowa Krzyżowanie Mutacja Kontrolowane losowanie z pogrupowanych zmiennych (zmienne tego samego typu, zmienne z danej giełdy) Krzyżowanie grupowanie zmiennych, żeby nie rozdzielać grup prawdopodobieństwo =1 osobno żywe od martwych Mutacja szukać najlepszej możliwej mutacji uwzględnienie oceny znaczenia zmiennej w chromosomie
Dziękuję za uwagę!