METODY INTELIGENCJI OBLICZENIOWEJ. ZASTOSOWANIE SIECI NEURONOWYCH W PROGNOZOWANIU

Podobne dokumenty
Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Algorytmy genetyczne

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Algorytm genetyczny (genetic algorithm)-

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH W PROGNOZOWANIU

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Optymalizacja optymalizacji

Wprowadzenie do teorii systemów ekspertowych

KARTA MODUŁU KSZTAŁCENIA

Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ 2008/2009. Sieci Neuronowe. Wykład 11 Algorytmy genetyczne; Systemy rozmyte

Uczenie sieci typu MLP

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Dobór parametrów algorytmu ewolucyjnego

Wstęp do Sztucznej Inteligencji

Zadania laboratoryjne i projektowe - wersja β

ALGORYTMY GENETYCZNE ćwiczenia

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Obliczenia ewolucyjne - plan wykładu

Inżynieria danych I stopień Praktyczny Studia stacjonarne Wszystkie specjalności Katedra Inżynierii Produkcji Dr Małgorzata Lucińska

6. Klasyczny algorytm genetyczny. 1

Algorytmy ewolucyjne NAZEWNICTWO

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

PRZEWODNIK PO PRZEDMIOCIE

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

PROGNOZOWANIE CENY OGÓRKA SZKLARNIOWEGO ZA POMOCĄ SIECI NEURONOWYCH

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SZTUCZNA INTELIGENCJA

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

FORECASTING THE DISTRIBUTION OF AMOUNT OF UNEMPLOYED BY THE REGIONS

Nazwa przedmiotu: METODY SZTUCZNEJ INTELIGENCJI W ZAGADNIENIACH EKONOMICZNYCH Artificial intelligence methods in economic issues Kierunek:

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy genetyczne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Algorytmy ewolucyjne 1

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Projekt Sieci neuronowe

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Podstawy Sztucznej Inteligencji (PSZT)

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

8. Neuron z ciągłą funkcją aktywacji.

Systemy uczące się Lab 4

ALGORYTMY SZTUCZNEJ INTELIGENCJI

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH DO PROGNOZOWANIA CEN NA GIEŁDZIE ENERGII


Aproksymacja funkcji a regresja symboliczna

Sztuczna inteligencja

Program "FLiNN-GA" wersja 2.10.β

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

Gospodarcze zastosowania algorytmów genetycznych

Równoważność algorytmów optymalizacji

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

KARTA PRZEDMIOTU. 17. Efekty kształcenia:

Algorytmy genetyczne (AG)

ĆWICZENIE 5: Sztuczne sieci neuronowe

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

PRZEWODNIK PO PRZEDMIOCIE

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski drugi semestr letni (semestr zimowy / letni)

Metody przeszukiwania

Widzenie komputerowe

Metody Sztucznej Inteligencji II

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Przykład optymalizacji struktury sztucznej sieci neuronowej metodą algorytmów genetycznych

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Transkrypt:

FOLIA UNIVERSITATIS AGRICULTURAE STETINENSIS Folia Univ. Agric. Stetin. 2007, Oeconomica 258 (49), 107 122 Henryk MARJAK METODY INTELIGENCJI OBLICZENIOWEJ. ZASTOSOWANIE SIECI NEURONOWYCH W PROGNOZOWANIU METHODS OF COMPUTATIONAL INTELLIGENCE. USING NEURAL NETWORKS IN FORECASTING Zakład Informatyki, Akademia Rolnicza ul. Monte Cassino 16, 70-466 Szczecin Abstract. In the paper are presented basic problems contained with artificial intelligence and computational intelligence. Functioning of computational intelligence methods eg. multi-layered neural net, evolutionary computing, swarm intelligence and fuzzy systems were explained. Errors of forecasting dependent on neural network s architecture and used learning algorithms were presented. Graphically was compared quality of forecasts for selected neural structures. Słowa kluczowe: inteligencja obliczeniowa, sieci neuronowe. Key words: computational intelligence, neural networks. WSTĘP Termin sztuczna inteligencja (AI), używany głównie w USA, budzi z powodu słowa sztuczna wiele kontrowersji. Z tego powodu używa się innych pojęć, takich jak inteligencja maszynowa, inteligencja obliczeniowa (CI), czy soft computing. Inteligencję obliczeniową postrzega się, z jednej strony, jako subdyscyplinę sztucznej inteligencji, z drugiej strony jako dyscyplinę oddzielną, zależną od danych numerycznych, nieopartą na wiedzy. Inne częste pojęcie soft computing odpowiada dyscyplinie łączącej kilka odrębnych metodologi, takich jak: fuzzy logic, neural network i rozumowanie probabilistyczne, a także algorytmy ewolucyjne i teoria chaosu. Jeżeli chodzi o zakres podejmowanych tematów, terminy soft computing i inteligencja obliczeniowa pokrywają się znaczeniowo. Jednak pochodzenie terminu soft computing, wskazujące na narzędzia, powoduje, że w przypadku próby naśladowania za pomocą komputera sposobu podejmowania decyzji przez człowieka bardziej odpowiednie będzie użycie terminu inteligencja obliczeniowa. Inteligencja obliczeniowa definiowana była jako nauka o zmuszaniu maszyny do rozwiązywania problemów, które wymagałyby inteligencji, gdyby rozwiązywane były przez ludzi. Inne, bardziej konkretne, definicje to definicje, według których inteligencja obliczeniowa to studia nad skonstruowaniem inteligentnego agenta. Agent to konstrukcja, która postrzega i reaguje. Inteligencja obliczeniowa obejmuje cztery dziedziny, często ze sobą powiązane, tworząc systemy hybrydowe, a także powiązane z metodami probabilistycznymi (rys. 1). Dziedziny te to: sztuczne sieci neuronowe, obliczenia ewolucyjne, inteligencja grup i systemy rozmyte. Zasady funkcjonowania każdej z wymienionych dziedzin inteligencji obliczeniowej wywodzą się z systemów biologicznych: sztuczne sieci neuronowe powstały w oparciu o badania rzeczywistego systemu nerwowego, obliczenia ewolucyjne modelują naturalną ewo-

108 H. Marjak lucje, inteligencja grup modeluje zachowania organizmów żyjących w grupach i koloniach, a systemy rozmyte opierają się na badaniach dotyczących interakcji między organizmami (Engelbrecht 2002). Sieci neuronowe Obliczenia ewolucyjne Systemy rozmyte Inteligencja grup Metody probabilistyczne Rys. 1. Dziedziny inteligencji obliczeniowej Źródło: opracowano na podstawie: Engelbrecht (2002). Systemy eksperckie Systemy regułowe Sieci Bayesa, teoria pewności, logika rozmyta Sieci neuronowe Algorytmy ewolucyjne Obiekty, ramki i agenci Symulowane wyżarzanie Systemy oparte na wiedzy Inteligencja obliczeniowa Rys. 2. Kategorie systemów inteligentnych Źródło: opracowano na podstawie: Hopgood (2001).

Metody inteligencji obliczeniowej. Zastosowanie sieci... 109 Systemy inteligencji obliczeniowej operują na danych numerycznych. Systemami, w których działania prowadzone są na reprezentacji symbolicznej, są systemy oparte na wiedzy (ang. knowledge-based systems). Według tej klasyfikacji (rys. 2) sieci Bayesa, logika rozmyta i teoria pewności to części wspólne dwóch kategorii systemów, tj. systemów opartych na wiedzy i inteligencji obliczeniowej (Hopgood 2001). Celem pracy jest prezentacja metod inteligencji obliczeniowej oraz zastosowanie jednej z tych metod, tj. sieci neuronowych w prognozowaniu wartości kontraktów terminowych notowanych na Warszawskiej Giełdzie Towarowej. MATERIAŁ I METODY W rozważaniach empirycznych wykorzystano metodykę sztucznych sieci neuronowych. Rozważania dotyczące metod inteligencji obliczeniowej przeprowadzono na podstawie literatury przedmiotu. Sieci neuronowe wykorzystywane są m.in. jako systemy wspomagające podejmowanie decyzji na rynkach finansowych. Związki i zasady, pojawiające się pomiędzy neuronami w sieci neuronowej, również dobrze sprawdzają się w przestrzeniach wielowymiarowych. Zakres pracy obejmował analizę i ocenę możliwości uzyskania użytecznego narzędzia do prognozowania na giełdach towarowych, w szczególności prognozowania wartości cen kontraktów terminowych, z wykorzystaniem metod sztucznych sieci neuronowych, a także innych metod zaliczanych do metod inteligencji obliczeniowej. Materiał empiryczny stanowiły dane, podzielone na kilka grup: 1. Dane dotyczące badanych kontraktów terminowych, tj. kontraktów terminowych na dolara amerykańskiego notowanego na WGT, zawierające dzienne ceny: otwarcia, najniższą, najwyższą i zamknięcia. 2. Dane związane bezpośrednio z notowanymi kontraktami, tj. średni kurs dolara określany przez NBP, który był kursem rozliczenia badanych kontraktów. 3. Dane wpływające na kurs dolara w stosunku do złotego, tj. stopy procentowe na rynku międzybankowym WIBOR 1M i LIBOR 1M. 4. Wybrane indeksy giełdowe: WIG, S&P500, DJIA. Dane wymienione w pkt. 1 i 2 dotyczą bezpośrednio prognozowanej ceny zamknięcia w dniu następnym, natomiast zbiory danych wymienione w pkt. 3 i 4 użyte zostały na podstawie przeprowadzonych dyskusji w środowisku praktyków zajmujących się tym rynkiem. Zbiory te obejmują okres od stycznia 1999 do grudnia 2000 r. Dane z roku 1999 podzielono na zbiór uczący i zbiór testowy. Zbiór uczący wykorzystano do optymalizacji wag połączeń międzyneuronowych. Na podstawie zbioru testowego dokonano weryfikacji i wyboru struktur o najlepszych walorach prognostycznych. Wartości z tego okresu wykorzystane zostały w celu wyłonienia najlepiej generalizujących architektur. Dalsze prace prowadzono na danych z roku 2000, które podzielono na 5 części. Każdą z tych części podzielono na zbiory uczący i zbiór testujący. Ta część badań miała za zadanie odnalezienie optymalnych wartości wag w tym okresie, a następnie sprawdzenie ich w krótkim czasie na podstawie danych testowych. Na podstawie danych z roku 2000 podjęto próbę opracowania strategii zawierania transakcji.

110 H. Marjak W pierwszym etapie badań sieci użyto klasycznego algorytmu propagacji wstecznej. Wybrane do analizy w krótkim okresie sieci badano, wykorzystując cztery metody uczenia: podstawowy algorytm propagacji wstecznej, algorytmy wykorzystujące pewną dozę wiedzy heurystycznej Quickprop oraz RPROP. Inną metodą jest metoda gradientów sprzężonych z regularyzacją SCG (ang. scaled conjugate gradient). Zbudowanie poprawnie działającej sieci wiąże się z koniecznością rozwiązania licznych problemów. Dotyczą one już na początku określenia zbiorów uczącego i testowego. Analogicznie jak w większości podobnych przypadków konieczne stało się przetworzenie posiadanych danych w wartości z zakresu od 0,1 do 0,9. Ocenę jakości sieci oraz jakości prognoz, uzyskiwanych za pomocą tych sieci, przeprowadzono z wykorzystaniem dwóch miar błędów SSE (sumy kwadratów odchyleń) i RSQ (kwadratu wskaźników korelacyjnych Pearsona): gdzie: t i wartości rzeczywiste, σ wartości otrzymane, i n 1 t i i= 0 SSE = ( σ ) RSQ n 1 i= 0 ( t i i= 0 = 1 n 1 ( t t średnia szeregu wartości rzeczywistych, n liczba próbek. i 2 σ ) i i t ) 2 2 METODY INTELIGENCJI OBLICZENIOWEJ Inteligencja rojowa Inteligencja rojowa opracowana została na podstawie studiów nad organizmami żyjącymi w rojach lub koloniach. Studia nad społecznymi zachowaniami organizmów w takich grupach umożliwiły zaprojektowanie efektywnych algorytmów klasyfikacji i optymalizacji. Systemy wielocząsteczkowe PSO (ang. particle swarm optimization) to metoda optymalizacji oparta na studiach obserwacji stad ptaków. PSO jest procedurą przeszukiwania, gdzie element pojedynczy grupy odnajduje swoje miejsce, wybierając najlepsze sąsiedztwo. Każda cząstka w grupie odpowiada propozycji rozwiązania problemu optymalizacji. W systemach wielocząsteczkowych każda cząstka krąży w wielowymiarowej przestrzeni przeszukiwań, dostosowując swoje miejsce w przestrzeni zgodnie ze swoim doświadczeniem i z doświadczeniem cząstek sąsiednich. Cząstka krąży wokół globalnego minimum, ciągle szukając najlepszego rozwiązania. Wydajność każdej cząstki mierzona jest za pomocą wcześniej zdefiniowanej, charakterystycznej dla rozwiązywanego problemu, funkcji dopasowania (Engelbrecht 2002).

Metody inteligencji obliczeniowej. Zastosowanie sieci... 111 Sieci neuronowe Sieć neuronowa składa się z pewnej liczby jednostek elementarnych, nazywanych sztucznymi neuronami, przetwarzających dane. Często są one pogrupowane w warstwę wejściową, warstwy ukryte oraz warstwę wyjściową. Topologia i parametry połączeń stanowią program działania sieci. Sygnały pojawiające się na wyjściach, jako odpowiedź na macierze wejściowe, są rozwiązaniami problemów. Przykładem takiej struktury może być sieć trzywarstwowa, wykorzystująca do uczenia się algorytm propagacji wstecznej, działający wg schematu (Osowski 1996): analiza sieci neuronowych dla aktualnego wektora wejściowego; utworzenie sieci propagacji wstecznej, zastąpienie funkcji aktywacji ich pochodnymi, doprowadzenie na wyjścia z poprzedniego etapu, obecnie wejścia, sygnałów będących różnicami między odpowiednimi wartościami uzyskanymi a wymaganymi; adaptacja wag na podstawie poprzednich etapów; kontynuacja uczenia się dla wszystkich wektorów uczących do czasu spełnienia warunku zatrzymania. Obliczenia ewolucyjne Algorytmy genetyczne to techniki rozwiązujące zadania, wykorzystujące ocenę proponowanych rozwiązań, podobnie jak dzieje się to w naturalnych warunkach. Metoda ta pojawiła się w latach 70. za sprawą Hollanda, który zainspirowany teorią ewolucji utworzył na jej podstawie algorytm komputerowy naśladujący proces ewolucji w celu wyłaniania lepiej przystosowanych organizmów. Ewolucja i naturalna selekcja w populacjach organizmów żywych to dziedzina, na podstawie której badacze opracowali algorytmy genetyczne. Potrzeba opisania zjawisk, posiadających charakter wieloznaczny i nieprecyzyjny, była podstawą do stworzenia teorii zbiorów rozmytych. Sztuczne sieci neuronowe naśladują procesy myślowe i struktury występujących w rzeczywistości układów nerwowych żywych organizmów. Jakkolwiek zagadnienia wymienione powyżej mogą być rozpatrywane oddzielnie, to nie sposób nie wspomnieć o związkach łączących wszystkie te metody. Cechą cenioną przez projektantów systemów jest odporność na zakłócenia oraz zdolność do adaptacji, co charakterystyczne jest dla algorytmów genetycznych (Holland 1992). Metoda ta wykorzystuje przeszłe doświadczenia do określenia obszarów o większym prawdopodobieństwie zaistnienia obszarów o większej wydajności. Choć algorytmy genetyczne wykorzystują elementy losowości, nie ograniczają się jednak do błądzenia przypadkowego. Sztuczne sieci neuronowe (Tadeusiewicz 1995) są stosowane tam, gdzie ważne jest zwiększenie wydajności przez równoległe przetwarzanie, gdzie ważna jest odporność układu na zakłócenia oraz gdy nie jest znana charakterystyka badanego obiektu. Algorytmy genetyczne można stosować do znalezienia wag oraz topologii sieci neuronowych, a także do tworzenia baz reguł i funkcji przynależności w systemach rozmytych. Sieci neuronowe umożliwiają wyspecyfikowanie charakterystycznych dla algorytmów genetycznych parametrów krzyżowania i mutacji, a zastosowane w systemach rozmytych przekształcają je w systemy uczące się.

112 H. Marjak Algorytmy genetyczne wykorzystują wiele pojęć z genetyki. Zakodowany w postaci chromosomów zbiór parametrów zadania to organizm (osobnik). Chromosomy to uporządkowane ciągi genów, które z kolei są znacznikami (detektorami) pojedynczego elementu genotypu. Genotyp to struktura osobnika, składająca się z wielu chromosomów lub z jednego chromosomu. Fenotyp jest zdekodowaną strukturą osobnika powstałą na podstawie genotypu. Gen ma swoją wartość, czyli allel oraz pozycję locus w ramach chromosomu. Symulacja ewolucji prowadzona jest przez badanie, jak kolejne osobniki przystosowują się do warunków; wybierają do dalszej reprodukcji tylko osobniki najlepiej przystosowane. Miarą przystosowania jest funkcja przystosowania (ang. fitness function) Rutkowska i in. (1997). Na proces symulacji składają się wielokrotnie powtarzane cztery etapy (rys. 3): reprodukcja i wybór najlepiej przystosowanych organizmów; modyfikacja nowych organizmów, np. mutacja; ocena nowych organizmów za pomocą funkcji dopasowania oraz odrzucenie osobników najsłabszych, najgorzej dopasowanych. Chromosomy w algorytmach genetycznych, zaproponowanych przez Hollanda, składały się z ciągu zer i jedynek. Przy wyborze najlepiej przystosowanych osobników do reprodukcji wykorzystuje się najczęściej metodę koła ruletki. Podstawowymi operatorami genetycznymi, stosowanymi w celu utworzenia nowej populacji, są operator krzyżowania i mutacji. Pary rodzicielskie wybierane są z puli rodzicielskiej losowo. Podobnie losowo wybiera się punkt krzyżowania (locus). W przypadku mutacji następuje z określonym prawdopodobieństwem zamiana genu z określonej pozycji na wartość przeciwną. Potomstwo Reprodukcja Modyfikacja Rodzice Potomstwo ocenione Zmodyfikowane potomstwo Populacja Ocena Organizmy odrzucone Odrzucenie Rys. 3. Etapy reprodukcji Źródło: opracowano na podstawie: Davis (1994). Systemy rozmyte Logika rozmyta (Rutkowska i in. 1997) dobrze funkcjonuje w sytuacjach, gdy niemożliwe jest inną drogą efektywne zaadaptowanie pewnych informacji w postaci numerycznej. Chodzi tu głównie o informację lingwistyczną, np. deskryptory mały, duży, mniejszy mogą one mieć różne znaczenie dla różnych odbiorców. Ludzkie postrzeganie nie jest dokładne. Nasze obserwacje i myślenie zawiera element niepewności, który nie byłby możliwy do zaprezentowania w tradycyjnej teorii zbiorów i zrozumiały przez system komputerowy.

Metody inteligencji obliczeniowej. Zastosowanie sieci... 113 WYNIKI BADAŃ EMPIRYCZNYCH Wybór struktury sieci neuronowej Wstępnie przetestowano sieci z dużego przedziału architektur od struktury najprostszej z 12 węzłami wejściowymi i 1 neuronem wyjściowym do struktury wielowarstwowej: 12 neuronów wejściowych, 12 neuronów w I warstwie ukrytej, 12 neuronów w II warstwie ukrytej i 1 neuron wyjściowy. Proces uczenia się polega na wielokrotnym przedstawianiu wzorców danych uczących. Liczba cykli uczenia się zależna jest od postępu uczenia. Uczenie przerywane jest, gdy wartość błędu osiągnie założoną wartość lub gdy dalszy trening nie powoduje zmniejszania się miary minimalizowanego błędu. W tabeli 1 porównano błędy SSE i RSQ prognoz uzyskanych na podstawie danych uczących i testowych. Tabela 1. Porównanie miar błędów badanych struktur Architektura Trening Testowanie sse rsq sse rsq 12-1 0,8284 0,5551 2,2127 0,8418 12-1-1 0,7858 0,5780 1,7908 0,4907 12-2-1 0,8266 0,5561 2,1114 0,7576 12-3-1 0,8163 0,5616 1,9792 0,6475 12-4-1 0,8212 0,5590 1,9270 0,6040 12-5-1 0,7395 0,6029 1,1293 0,0600 12-6-1 0,7882 0,5767 1,6473 0,3712 12-7-1 0,7994 0,5707 1,7292 0,4394 12-8-1 0,7598 0,5920 1,2768 0,0628 12-9-1 0,7827 0,5797 1,7448 0,4524 12-10-1 0,7316 0,6071 1,9491 0,6224 12-11-1 0,7789 0,5817 1,0857 0,0963 12-12-1 0,8492 0,5439 1,1435 0,0481 12-12-1-1 0,8397 0,5491 1,6988 0,4141 12-12-2-1 0,8597 0,5383 1,9970 0,6623 12-12-3-1 0,8223 0,5584 1,5286 0,2724 12-12-4-1 0,7459 0,5994 1,4498 0,2068 12-12-5-1 0,8049 0,5678 1,7039 0,4183 12-12-6-1 0,8779 0,5285 2,4780 1,0627 12-12-7-1 0,7948 0,5732 1,1480 0,0444 12-12-8-1 0,7984 0,5713 1,5583 0,2971 12-12-9-1 0,7137 0,6167 1,3798 0,1485 12-12-10-1 0,7555 0,5943 1,9398 0,6147 12-12-11-1 0,7289 0,6086 1,4620 0,2170 12-12-12-1 0,8348 0,5517 1,9239 0,6015 Na podstawie powyższych wyników można stwierdzić, że poziom błędu SSE w fazie treningu nie przekłada się we wszystkich przypadkach na wartość SSE w trakcie testowania. Najmniejszą wartość SSE w fazie treningu uzyskano dla sieci 12-12-9-1 (0,7137), wartość SSE w fazie testowania dla tej struktury wyniosła 1,3798, co nie jest wartością naj-

114 H. Marjak mniejszą wśród badanych sieci. Najmniejszą wartość SSE w fazie testowania uzyskano dla sieci 12-11-1 (1,0857), dla której SSE w fazie treningu wyniósł 0,7789. Podobne wnioski można wyciągnąć z analizy błędów RSQ, przy czym należy zauważyć, że wyjątkiem jest tu struktura 12-12-6-1, dla której błędy SSE i RSQ w fazie treningu i testowania osiągnęły wartości najgorsze spośród badanych sieci. Analizując wyniki sieci najlepszych ze względu na błąd RSQ, znajdujemy potwierdzenie poprzednich obserwacji. Najmniejszą wartość błędu RSQ w fazie treningu zaobserwowano dla sieci 12-12-9-1 (0,6167). W tym przypadku, podobnie jak dla SSE, wartość RSQ w fazie testowania nie była najmniejsza (-0,1485). Analogicznie najmniejszą wartość RSQ w fazie testowania uzyskano dla sieci 12-11-1 (1,0857), dla której RSQ w fazie uczenia wynosiło 0,5817. Powyższe rozważania przedstawiono graficznie na rys. 4, 5. sse See trening trening Sse trening 0.86 0.84 0.82 0.8 0.78 0.76 0.74 0.72 0,86 0,84 0,82 0,80 0,78 0,76 0,74 0,72 sse trening sse testowanie 2,4 2.4 2.2 2,2 2 2,0 1.8 1,8 1.6 1,6 1,4 1.4 1,2 1.2 sse See testowanie Sse testowanie 0,70 0.7 12-1 12-1-1 12-2-1 12-3-1 12-4-1 12-5-1 12-6-1 12-7-1 12-8-1 12-9-1 12-10-1 12-11-1 12-12-1 12-12-1-1 12-12-2-1 12-12-3-1 12-12-4-1 12-12-5-1 12-12-6-1 12-12-7-1 12-12-8-1 12-12-9-1 12-12-10-1 12-12-11-1 12-12-12-1 1,0 1 Rys. 4. Porównanie błędów sse dla zbioru uczącego i dla zbioru testowego Jeżeli chodzi o wyniki (tab. 1), do dalszych prac zakwalifikowano takie sieci, dla których błędy RSQ i SSE w fazach uczenia i testowania wykazywały podobne tendencje; odrzucono te, dla których miara błędu była wprawdzie najlepsza, ale tylko dla jednej z faz badania lub tylko dla jednej z miar błędów. Dalsze prace podjęto z następującymi 4 strukturami: 3-warstwowymi 12 węzłów wejściowych, 5 lub 10 neuronów warstwy ukrytej oraz 1 neuron warstwy wyjściowej; 4-warstwowymi 12 węzłów wejściowych, 12 neuronów 1. warstwy ukrytej, 9 lub 11 neuronów 2. warstwy ukrytej oraz 1 neuron warstwy wyjściowej. Wybrane modele sieci przedstawiono na rys. 6.

Metody inteligencji obliczeniowej. Zastosowanie sieci... 115 rsq trening rsq trening 0.61 0,61 0.6 0,60 0.59 0,59 0.58 0,58 0.57 0,57 0.56 0,56 0.55 0,55 0.54 0,54 0,53 0.53 0,52 0.52 rsq trening rsq testowanie 12-1 12-1-1 12-2-1 12-3-1 12-4-1 12-5-1 12-6-1 12-7-1 12-8-1 12-9-1 12-10-1 12-11-1 12-12-1 12-12-1-1 12-12-2-1 12-12-3-1 12-12-4-1 12-12-5-1 12-12-6-1 12-12-7-1 12-12-8-1 12-12-9-1 12-12-10-1 12-12-11-1 12-12-12-1 0 0,0-0.2 0,2 0,4-0.4 0,6-0.6-0.8 0,8 1,0-1 1,2-1.2 rsq testowanie rsq testowanie Rys. 5. Porównanie błędów rsq dla zbioru uczącego i dla zbioru testowego a) b) Rys. 6. Wybrane struktury sieci a) 12-5-1 i b) 12-10-1

116 H. Marjak Na podstawie osiągniętych wyników można wstępnie porównać dokładności prognozy uzyskane na podstawie zbioru testowego dla wybranych modeli sieci neuronowych i dłuższego horyzontu prognozy (rys. 7, 8). 4.3 4,3 12-12-9-1 12-12-11-1 Rzeczywiste 4.2 4,2 4.1 4,1 4,0 4 3.9 3,9 09.1999 09/1999 10.1999 10/1999 11.1999 11/1999 12.1999 12/1999 Rys. 7. Porównanie prognoz uzyskanych za pomocą sieci 3-warstwowych: 12-5-1 i 12-10-1 4.3 4,3 12-5-1 12-10-1 Rzeczywiste 4.2 4,2 4,1 4.1 4,0 4 3,9 3.9 09.1999 09/1999 10.1999 10/1999 11.1999 11/1999 12.1999 12/1999 Rys. 8. Porównanie prognoz uzyskanych za pomocą sieci 4-warstwowych: 12-12-9-1 i 12-12-11-1 Można zauważyć, że w początkowym okresie prognozowania (sierpień-wrzesień 1999 r.) prognozy są bliskie wartościom rzeczywistym. W dłuższym okresie wartości te ulegają dyspersji. Z rysunków 7, 8 wynika również, że dla wszystkich struktur uzyskano optymalne wartości wag dla prezentowanych danych uczących prognozy dla tych struktur są podobne.

Metody inteligencji obliczeniowej. Zastosowanie sieci... 117 Na podstawie prognoz, biorąc pod uwagę rozbieżność prognoz w dłuższym horyzoncie czasowym, zdecydowano o optymalizowaniu wag wybranych sieci w krótkim okresie dla zbiorów danych obejmujących rok 2000. Optymalizacja wybranych architektur sieci neuronowych Zbiór danych z roku 2000 podzielono na 5 zestawów, każdy z nich podzielono z kolei na zbiór treningowy i zbiór testowy. Zbiory testowe, które będą podstawą prognoz i budowania strategii inwestycyjnych, obejmowały następujące okresy i serie kontraktów: zestaw I: 16.02 19.04.2000, seria USJ0; zestaw II: 5.04 20.06.2000, seria USM0; zestaw III: 24.07 20.09.2000, seria USQ0; zestaw IV: 22.09 14.11.2000, seria USX0; zestaw V: 19.10 20.12.2000, seria USZ0. Wybrane struktury sieci były uczone za pomocą następujących algorytmów: podstawowego algorytmu propagacji wstecznej (Std_Prop), algorytmu Quickprop, algorytmu RPROP, algorytmu gradientów sprzężonych z regularyzacją (SCG). Dla zbiorów testowych, optymalizowanych dla krótkiego okresu z roku 2000, uzyskano miary błędów, które podano w tab. 2. Tabela 2. Błędy SSE dla wybranych architektur i krótkich serii danych Architektura i algorytm uczenia Zestaw I Zestaw II trening testowanie trening testowanie Std_Prop 0,0131 0,0464 0,0194 0,6145 12-5-1 QuickP 0,0101 0,0681 0,0164 0,6048 Rprop 0,0083 0,0793 0,0142 0,6476 SCG 0,0045 0,0439 0,0113 0,8573 Std_Prop 0,0106 0,0553 0,0169 0,9595 12-10-1 QuickP 0,0099 0,0509 0,0147 0,8886 Rprop 0,0068 0,0795 0,0126 0,7715 SCG 0,0034 0,0597 0,0112 0,8366 Std_Prop 0,0116 0,0618 0,0191 0,7412 12-12-9-1 QuickP 0,0098 0,0627 0,0169 0,6600 Rprop 0,0074 0,0692 0,0134 0,6607 SCG 0,0046 0,0414 0,0111 0,8864 Std_Prop 0,0105 0,0350 0,0220 0,7662 12-12-11-1 QuickP 0,0112 0,1155 0,0168 0,8796 Rprop 0,0073 0,0745 0,0137 0,5999 SCG 0,0049 0,0448 0,0117 0,5740 sse średnie 0,0084 0,0618 0,0151 0,7468 Std_Prop 0,0588 0,0158 0,0274 0,2552 12-5-1 QuickP 0,0616 0,0128 0,0090 0,0416 Rprop 0,0637 0,0155 0,0072 0,0231 SCG 0,0355 0,0311 0,0040 0,1874

118 H. Marjak cd. tab. 2 Zestaw III Zestaw IV Architektura i algorytm uczenia trening testowanie trening testowanie Std_Prop 0,0581 0,0168 0,0155 0,1396 12-10-1 QuickP 0,0662 0,0327 0,0084 0,0447 Rprop 0,0604 0,0255 0,0073 0,0234 SCG 0,0463 0,0152 0,0053 0,0348 Std_Prop 0,0549 0,0149 0,0273 0,3618 12-12-9-1 QuickP 0,0607 0,0246 0,0094 0,0828 Rprop 0,0528 0,0104 0,0067 0,0193 SCG 0,0483 0,0111 0,0046 0,1538 Std_Prop 0,0576 0,0129 0,0169 0,1123 12-12-11-1 QuickP 0,0637 0,0148 0,0083 0,0321 Rprop 0,0589 0,0109 0,0066 0,0197 SCG 0,0493 0,0105 0,0051 0,0993 sse średnie 0,0561 0,0172 0,0106 0,1019 Zestaw V sse średnie dla zestawów I V Std_Prop 0,0188 0,1515 0,0275 0,2167 12-5-1 QuickP 0,0096 0,2166 0,0213 0,1888 Rprop 0,0091 0,2529 0,0205 0,2037 SCG 0,0078 0,3633 0,0126 0,2966 Std_Prop 0,0129 0,1407 0,0228 0,2624 12-10-1 QuickP 0,0092 0,2896 0,0217 0,2613 Rprop 0,0089 0,2297 0,0192 0,2259 SCG 0,0080 0,3421 0,0148 0,2577 Std_Prop 0,0152 0,0969 0,0256 0,2553 12-12-9-1 QuickP 0,0091 0,1962 0,0212 0,2053 Rprop 0,0090 0,1974 0,0179 0,1914 SCG 0,0078 0,3464 0,0153 0,2878 Std_Prop 0,0167 0,1346 0,0247 0,2122 12-12-11-1 QuickP 0,0095 0,1998 0,0219 0,2484 Rprop 0,0092 0,2078 0,0191 0,1826 SCG 0,0082 0,3262 0,0158 0,2110 sse średnie 0,0106 0,2307 Najmniejszy błąd SSE, w fazie treningu, uzyskano dla zestawu I, architektury 12-10-1, w której wagi optymalizowane były za pomocą algorytmu SCG (0,0034). Najmniejszy błąd SSE w fazie testowania uzyskano dla zestawu III, architektury 12-12-9-1, w której wagi optymalizowano za pomocą algorytmu Rprop (0,0104). Średni błąd SSE dla wszystkich zestawów (I-V) wyniósł: dla treningu 0,0201, dla testowania 0,2317. W przypadku zestawu I najmniejsze wartości SSE w fazie treningu uzyskano dla algorytmu SCG architektur 12-10-1 (0,0034), 12-5-1 (0,0045), 12-12-9-1 (0,0046). Najmniejsze wartości SSE w fazie testowania uzyskano dla następujących struktur: 12-12-11-1 trening za pomocą klasycznego algorytmu propagacji wstecznej (0,0350) oraz dla następujących sieci uczonych za pomocą algorytmu SCG: 12-12-9-1 (0,0414) i 12-5-1 (0,0439). Średnie SSE dla zestawu I wyniosły w czasie uczenia 0,0084, w fazie testowania 0,0618.

Metody inteligencji obliczeniowej. Zastosowanie sieci... 119 Podobnie jak w przypadku zestawu I, także w przypadku zestawu II najmniejsze wartości SSE w fazie treningu uzyskano dla algorytmu SCG i tych samych struktur: 12-12-9-1 (0,0111), 12-10-1 (0,0112), 12-5-1 (0,0113). Testowanie wykazało, że najmniejsze błędy SSE uzyskano dla architektury 12-12-11-1 uczonej za pomocą algorytmów: SCG (0,5740) i Rprop (0,5999) oraz architektury 12-5-1 algorytm Quickprop (0,6048). Średnie SSE dla tej serii to w fazie treningu 0,151, podczas testowania 0,7468. W przypadku zestawu III w fazie treningu najmniejsze wartości SSE uzyskano dla architektur 12-5-1 (0,0355), 12-10-1 (0,0549), 12-12-9-1 (0,0483), gdzie wagi optymalizowano za pomocą algorytmu SCG. Podczas testowania, podobnie jak w poprzednim zestawie, bardzo dobre wyniki uzyskano dla architektur 12-12-11-1 uczonych za pomocą algorytmów SCG (0,0105) i Rprop (0,0109). Najmniejszy błąd uzyskano jednak dla architektury 12-12-9-1 i algorytmu Rprop (0,0104). SSE średnie dla tego zestawu uzyskano w fazie treningu 0,0561, dla testowania 0,0172. Należy zwrócić uwagę, że średni błąd SSE dla testowania był ponad 3 razy mniejszy niż dla okresu, na podstawie którego sieć była optymalizowana. Najmniejsze wartości SSE dla zestawu IV w fazie treningu uzyskano dla następujących sieci uczonych za pomocą algorytmu SCG: 12-5-1 (0,0040), 12-12-9-1 (0,0046), 12-12-11-1 (0,0051). Testowanie wykazało, że najmniejsze wartości SSE uzyskano dla następujących sieci trenowanych za pomocą algorytmu Rprop: 12-12-9-1 (0,0183), 12-12-11-1 (0,0197), 12-5-1 (0,0231). SSE średnie wyniosło dla treningu 0,0106, a dla testowania 0,0119. Tak jak w poprzednich przypadkach, tak i w przypadku zestawu V najniższe SSE podczas treningu uzyskano dla sieci uczonych za pomocą algorytmu SCG i następujących architektur: 12-5-1 (0,0078), 12-12-9-1 (0,0078), 12-10-1 (0,0080). Najlepiej wytrenowanymi sieciami, podczas sprawdzania na zbiorze testowym, okazały się sieci: 12-12-9-1 (0,0969), 12-12-11-1 (0,1346), 12-10-1 (0,1407), które uczono za pomocą klasycznego algorytmu propagacji wstecznej. Średnie SSE dla zestawu V wyniosły w fazie treningu 0,0106, w fazie testowania 0,2307. Podczas analizy wyników wszystkich zestawów danych (I V) można zauważyć, że najlepsze SSE w fazie treningu uzyskiwano dla sieci uczonych za pomocą algorytmu SCG; najmniejsze SSE dla wszystkich zestawów uzyskano dla architektury 12-5-1 (0,0126). Najmniejsze wartości SSE w fazie testowania dla wszystkich zestawów (I V) uzyskano w przypadku sieci uczonych za pomocą algorytmu Rprop 12-12-11-1 (0,1826). Wyżej wymienione struktury (12-5-1 SCG i 12-12-11-1 Rprop) zakwalifikowano do dalszej analizy. Ponadto dalszym badaniom poddany zostanie także przypadek najbardziej zbliżony do wyniku średniego dla wszystkich zestawów (I V), tj. struktura 12-10-1, trenowana za pomocą algorytmu Rprop. Na rysunkach 9 i 10 porównano prognozy dla wybranych struktur, zestawów badanych w krótkim okresie, dla których osiągnięte zostały najmniejsze błędy średnie SSE w fazie treningu zestaw I (rys. 9) oraz w fazie testowania zestaw III (rys. 10). Można zauważyć, że dla zestawu II, dla którego uzyskano największy średni błąd SSE (0,7468), prognozy uzyskane za pomocą wybranych sieci wyraźnie odbiegają od wartości rzeczywistych. Podobną właściwość zauważymy dla zestawu IV i sieci 12-5-1 SCG, w szczególności w okresie obejmującym październik 2000 r. W wielu obserwowanych przypadkach prognozy, które uzyskano za pomocą różnych struktur, były porównywalne. Dotyczy to szczególnie prognoz uzyskanych przez optymalizowanie za pomocą tego samego algorytmu Rprop.

120 H. Marjak 4,25 4.25 4,20 4.2 4,15 4.15 4,10 4.1 4,05 4.05 Rzeczywiste SCG 12-5-1 Rprop 12-10-1 Rprop 12-12-11-1 02/21/2000 02/28/2000 03/06/2000 03/13/2000 03/20/2000 03/27/2000 04/03/2000 04/10/2000 04/17/2000 Rys. 9. Porównanie prognoz cen zamknięcia kontraktów terminowych na USD, serii USJ0, z wartościami rzeczywistymi dla badanych sieci 4,65 4.65 4,60 4.6 Rzeczywiste SCG 12-5-1 Rprop 12-10-1 Rprop 12-12-11-1 4,55 4.55 4,50 4.5 4,45 4.45 4,40 4.4 4,35 4.35 07/24/2000 07/31/2000 08/07/2000 08/14/2000 08/21/2000 08/28/2000 09/04/2000 09/11/2000 09/18/2000 Rys. 10. Porównanie prognoz cen zamknięcia kontraktów terminowych na USD, serii USQ0, z wartościami rzeczywistymi dla badanych sieci PODSUMOWANIE Osiągnięte wyniki pozwalają przypuszczać, że w przypadku kontynuacji badań nad przedstawioną tematyką, poprzez rozszerzenie zbioru uczącego, możliwe jest osiągnięcie

Metody inteligencji obliczeniowej. Zastosowanie sieci... 121 wyników obarczonych nie tylko mniejszym błędem, ale także dokładniej odwzorowujących rzeczywiste wartości prognozowanych cen. Kolejny obszar badań dotyczyć może wykorzystania przedstawionych wyników do stworzenia efektywnej strategii inwestycyjnej. Najlepsze wyniki uzyskano dla sieci o architekturze 12-12-11-1. Istotny był także algorytm uczenia w naszym przypadku był to algorytm Rprop. PIŚMIENNICTWO Davis L. 1994. Genetic Algorithms and Financial Application [in: Trading on the edge: neural, genetic, and fuzzy systems for chaotic and financial markets]. Ed. G.J. Deboeck. John Wiley&Sons, Chichester. Engelbrecht A.P. 2002. Computational Intelligence: An Introduction. John Wiley&Sons, Chichester. Holland J. 1992. Adaptation in Natural and Artificial Systems. MIT Press, Cambridge. Hopgood A. A. 2001. Intelligent Systems for Engineers and Scientists. CRC Press, Boca Raton. Osowski S. 1996. Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa. Rutkowska D., Piliński M., Rutkowski L. 1997. Sieci neuronowe, algorytmy genetyczne i systemy rozmyte. PWN, Warszawa. Tadeusiewicz R. 1995. Sieci neuronowe. Akademicka Oficyna PLJ, Warszawa.