Dobór danych wejściowych sieci neuronowej przy pomocy algorytmów genetycznych - analiza wyników Mgr inż.

Download Report

Transcript Dobór danych wejściowych sieci neuronowej przy pomocy algorytmów genetycznych - analiza wyników Mgr inż.

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
Przystosowanie
Przystosowanie
avg fitness
min fitness
max fitness
0,0075
0,007
0,0065
0,006
0,0055
0,005
0,0045
0,004
1
10
19 28
37 46
55 64 73
82 91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253 262 271 280 289 298
Średni rozmiar chromosomu
Średni rozmiar
6
avg size
5,5
5
4,5
4
1
10
19
28
37
46
55
64
73
82
91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253 262 271 280 289 298
Liczba żywych chromosomów
Liczba żywych
450
400
350
300
250
200
150
100
50
0
1
10
19
28
37
46
55
64
73
82
91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253 262 271 280 289 298
Krzyżowania
Krzyżowania
160
cross-over alive
cross-over not-alive
140
120
100
80
60
40
20
0
1
10
19
28
37
46
55
64
73
82
91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253 262 271 280 289 298
Mutacje
Mutacje
200
180
160
140
120
100
80
60
40
20
0
mutation alive
mutation not-alive
Przystosowanie populacji
przystosowanie
0,0065
0,0063
0,0061
0,0059
0,0057
0,0055
0,0053
0,0051
0,0049
0,0047
0,0045
0
50
100
150
200
250
300
350
400
450
Pokolenia chromosomów
pokolenia
300
290
280
270
260
250
240
230
220
210
200
0
50
100
150
200
250
300
350
400
450
Predykcja vs wartość
wartości
0,03
0,02
0,01
prediction
0
real value
1
-0,01
-0,02
-0,03
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Błąd vs zmienność
0,03
prediction error
volatility
0,025
0,02
0,015
0,01
0,005
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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…