280 likes | 427 Views
Dobór danych wej ś ciowych sieci neuronowej przy pomocy algorytmów genetycznych. - a naliza wynik ó w. Mgr inż. Marcin Jaruszewicz Prof. nzw. dr hab. Jacek Mańdziuk. Seminarium Metody Inteligencji Obliczeniowej. Agenda. Kontekst predykcji Algorytm Genetyczny Brute Force Sieć Neuronowa
E N D
Dobór danych wejściowych sieci neuronowej przy pomocy algorytmów genetycznych - analiza wyników Mgr inż. Marcin Jaruszewicz Prof. nzw. dr hab. Jacek Mańdziuk Seminarium Metody Inteligencji Obliczeniowej
Agenda • Kontekst predykcji • Algorytm Genetyczny • Brute Force • Sieć Neuronowa • Eksperyment – parametry • Eksperyment - wyniki
Predykcja indeksu giełdowego • Dane wejściowe dla trzech giełd i dwóch kursów walut: wartości indeksu, średnie, oscylatory, formacje • Przestrzeń ponad 300 zmiennych • Prognoza zmiany wartości indeksu z zamknięcia na zamknięcie następnego dnia • Problemy: duże sieci neuronowe, zmienność zależności, różnorodność zmiennych
Metody doboru danych • Macierz autokorelacji – współczynniki określające liniowe zależności między zmiennymi • Nauka sieci neuronowej – wpływ zmiennych na predykcję po procesie nauki ‘maksymalnej’ sieci neuronowej • Algorytm genetyczny – populacja zestawów zmiennych wejściowych
Chromosom • Definicja chromosomu: • Zmienne wejściowe z puli dostępnych zmiennych • Liczba warstw ukrytych sieci neuronowej (ustawiona na 1) • Zmienny rozmiar chromosomu - kodowanie liczby zmiennych wejściowych od 4 do 7 (parametr) • Wymuszone zmienne • Przystosowanie - chromosomy żywe i martwe, 3 SN
Algorytm genetyczny • Wstępne ograniczenie liczby zmiennych za pomocą metody macierzy autokorelacji (od 10% do 20%), dodatkowo wszystkie zmienne z prognozowanej giełdy – ok. 80 zmiennych • Rekordy w pojedynczym eksperymencie: 140 uczących, 5 walidacyjnych, 5 testowych (niedostępne dla AG, do testowania jego skuteczności) • Dobór danych dla okienka 5 dni, 10 kolejnych przesunięć
Mutacja • Zmianie podlega kodowanie zmiennych wejściowych • Prawdopodobieństwo mutacji: 0.05 (żywe) lub 1 (martwe) • Mutacja żywych po przekroczeniu progu 90% żywych chromosomów w populacji • Parametr określający liczbę zmian w jednym chromosomie w czasie jednej mutacji: 1
Mutacja cd. • Mutacja nie dotyczy najlepszego chromosomu • Mutacja nie dotyczy wymuszonych zmiennych • Nowa zmienna wybierana jest losowo z dostępnej puli • Prawdopodobieństwo wylosowania nowej zmiennej zależy od częstości jej występowania w populacji lub najlepszych chromosomach (1 dla najlepszych, 0.75 dla najczęstszych, 0.5 dla pozostałych)
Selekcja • Funkcja przystosowania na podstawie błędu po nauce sieci neuronowej kodowanej przez chromosom • Wybór metodą rankingową • Losowanie par chromosomów • Wybór rodziców ze zwycięzców z dwóch sąsiednich par • Dzieci zastępują przegranych • Stały rozmiar populacji
Krzyżowanie • Prawdopodobieństwo krzyżowania: 1 • Prawdopodobieństwo wylosowania nowej zmiennej zależy od częstości jej występowania w populacji lub najlepszych chromosomach (1 dla najlepszych, 0.75 dla najczęstszych, 0.5 dla pozostałych) • Dzieci zastępują rodziców tylko jeśli mają lepsze przystosowanie • Krzyżowanie na podstawie części wspólnej rodziców
Zakończenie AG • Wynikiem jest najlepszy chromosom • Najlepszy chromosom musi być żywy dla każdej równoległej sieci neuronowej • Warunek stop według • iteracji bez znalezienia kolejnego najlepszego chromosomu • braku różnorodności populacji po względem przystosowania • Maksymalnej liczby iteracji
Brute Force • Iteracyjna wymiana kolejnych kodowanych zmiennych • Iteracyjne powtarzanie procesu
Nauka sieci neuronowych • Metoda back-propagation z momentem • Zatrzymanie nauki na podstawie rekordów walidacyjnych • Małe sieci neuronowe – jedna warstwa ukryta, rozmiar pierwszej warstwy 4-7
Parametry eksperymentu • Okienko kroku = 150 • Krok, liczba testowych i walidacyjnych 5 • Stop po iteracjach bez najlepszego = 200 • Rozmiar populacji = 400 • Liczba iteracji AG = 200 • Start liczenia preferencji od 10 iteracji • Dodatkowe przeszukanie przestrzeni powtórzone zgodnie z liczbą kodowanych przez najlepszy chromosom zmiennych
Wyniki • Parametry działania algorytmu genetycznego • Parametry populacji • Wyniki prognozy
Wyniki • krok 1 • średni błąd 0,00820; średnia zmienność 0,00828; źródło: GA • [target dax [t]; close change (%); krok 1,3,4,6,7,8,9,10] • [target dax [t]; value o; podobne krok 2, podobne krok 9] • [eur/usd [t]; impet 20; x] • [target dax [t-5]; roc 5; podobne krok 2] • [eur/usd [t]; value l; x] • [eur/usd [t]; close change (%); x] • krok 2 • średni błąd 0,00574, średnia zmienność 0,00483; źródło: BF • [eur/usd [t]; so; x] • [target dax [t-5]; close change (%); x] • [djia [t]; rsi 5; krok 9] • [target dax [t]; so; krok 5, podobne krok 6, krok 10] • [target dax [t-1]; roc 5; podobne krok 1, podobne krok 7] • [djia [t]; close change (%); krok 4, krok 8, krok 9] • [target dax [t]; value h; podobne krok 1, podobne krok 9]
Wyniki cd. • krok 3 • średni błąd 0,00532, średnia zmienność 0,00541; źródło: GA • [target dax [t]; close change (%); krok 1,3,4,6,7,8,9,10] • [target dax [t]; impet 5; krok 5, podobne krok 10] • [djia [t]; 5 days change (%); krok 4] • [target dax [t-1]; close change (%); x] • [target dax [t]; 2 avg's buy/sell signal; krok 7] • [usd/jpy [t]; 20 days change (%); x] • krok 4 • średni błąd 0,00501, średnia zmienność 0,00555; źródło: GA • [target dax [t]; close change (%); krok 1,3,4,6,7,8,9,10] • [target dax [t-1]; 20 days change (%); krok 5, podobne krok 10] • [djia [t]; close change (%); krok 2, krok 8, krok 9] • [usd/jpy [t]; williams; x] • [djia [t]; 5 days change (%); krok 3] • [target dax [t]; change o(%); x]
Wybierane zmienne • Zmienne z KOSPI występują dwa razy w dwóch krokach. • Oscylator stochastyczny lub FSO: dla DAX - kroki: 2, 5, 6, 8, 10 • Zmiana wartości zamknięcia (%) dla DJIA - kroki: 2, 4, 8, 9
Dziękuję za uwagę Uwagi i pytania…