Wykorzystanie sztucznej inteligencji w prognozowaniu, Giełda, rynki finansowe
[ Pobierz całość w formacie PDF ]
//-->StatSoft Polska, tel. 12 428 43 00, 601 41 41 51,info@statsoft.pl, www.StatSoft.plWYKORZYSTANIE SZTUCZENJ INTELIGENCJI W PROGNOZOWANIUdr Paweł Lula, Akademia Ekonomiczna w KrakowieCharakterystyka sieci neuronowychSztuczny neuronW prezentowanym opracowaniu przezsztuczną sieć neuronowąrozumiana będzie technikaobliczeniowa wzorowana na strukturze i sposobie działania układów nerwowychorganizmów żywych. Sztuczna sieć neuronowa jest zespołem połączonych zesobąelementów przetwarzających (neuronów).Sztuczny neuron (rys. 1) jest to modelswojego rzeczywistego odpowiednika. Jego zasadniczym celem jest przetworzenieinformacji wejściowej (dostarczanej w postaci wartościx1, x2, ..., xn) w wartość wyjściowąy. Przyjmuje się, że zarówno wartości wprowadzane na wejścia neuronu, jak i uzyskiwanana jego wyjściu wartość wyjściowa, mają postać liczb rzeczywistych. Z każdym wejściemneuronu związany jest współczynnik zwanywagą.Współczynniki wagowe neuronu sąpodstawowymi parametrami wpływającymi na sposób funkcjonowania sztucznej komórkinerwowej. Przetwarzanie informacji przez sztuczny neuron składa się z dwóch etapów.Pierwszym z nich jestagregacja danych wejściowych,zaś drugimwyznaczenie wartościwyjściowejneuronu.Rys. 1.Schemat sztucznego neuronu.Agregacja danych wejściowychma na celu przetworzenie wektora wejściowegox= (x1, x2,..., xn) w pojedynczą wartość (zagregowaną wartość wejściową). Na rezultat tejtransformacji w zasadniczy sposób wpływają wartości wag. Spośród wielu sposobówagregacji największą popularnością cieszy się wyznaczanie wartości zagregowanej poprzezCopyright © StatSoft Polska3StatSoft Polska, tel. 12 428 43 00, 601 41 41 51,info@statsoft.pl, www.StatSoft.plzsumowanie iloczynów wartości wejściowych i odpowiadających im wag. W niektórychzastosowaniach stosowana jest inna formuła agregacji, prowadząca do obliczenia kwadratuodległości Euklidesa pomiędzy wektorem wejściowym x i wektorem wag w. Neuronywyposażone w pierwszy rodzaj funkcji agregującej nazywane sąneuronami liniowymi,zaśte, które dokonują agregacji zgodnie z drugą z przedstawionych formuł, nazywanesąneuronami radialnymi.Drugim etapem w funkcjonowaniu neuronu jestwyznaczenie jego wartości wyjściowej.Elementem odpowiedzialnym za wykonanie tej czynności jestfunkcjaaktywacji.Jest tofunkcja przekształcająca wyznaczoną wcześniej zagregowaną wartość wejściową wwartość wyjściową neuronu.Rys. 2.Wykresy przykładowych funkcji aktywacji neuronu.Najprostszym rodzajem funkcji aktywacji jestfunkcja liniowa.Jej zastosowanie powoduje,że na wyjściu neuronu pojawia się zagregowana wartość wejściowa przemnożona przezpewien stały współczynnik. Bardzo dużą popularnością cieszą się dwie funkcje aktywacjiokreślane jako funkcje s-kształtne (z uwagi na postać ich wykresów). Pierwszą z nichjestfunkcja sigmoidalnao wartościach z przedziału od 0 do 1. Drugą funkcją jestfunkcjatangensoidalna,której wykres (również przypominający spłaszczoną literę "s") rozciągasię w zakresie od minus do plus jedności. W niektórych zastosowaniach stosowanesągaussowskie funkcje aktywacji,które generują maksymalną wartość wyjściową dlazerowej wartości argumentu; zaś wraz ze zwiększaniem zagregowanej wartości wejściowejwartość wyjściowa tak funkcjonującego neuronu maleje Gaussowskie funkcje aktywacji4www.StatSoft.plCopyright © StatSoft PolskaStatSoft Polska, tel. 12 428 43 00, 601 41 41 51,info@statsoft.pl, www.StatSoft.plstosowane są najczęściej łącznie z radialnymi funkcjami agregującymi, zaś funkcji liniowejlub s-kształtnej towarzyszy zwykle liniowa formuła agregacji.StrukturaisposóbdziałaniasztucznejsiecineuronowejSztuczna sieć neuronowa jest zespołem połączonych ze sobą neuronów (rys. 3).Rys. 3.Przykładowa sztuczna sieć neuronowa.Zwykle neurony wchodzące w skład sieci tworzą warstwy, z których pierwsza nosinazwęwarstwy wejściowej,ostatniawarstwy wyjściowej,zaś wszystkie warstwyznajdujące się pomiędzy nimi określane są jakowarstwy ukryte.Wartości wejściowe sieciwprowadzane są na wejścia neuronów warstwy wejściowej. Następnie, poprzez istniejącepołączenia, wartości wyjściowe neuronów jednej warstwy przekazywane są na wejściaelementów przetwarzających kolejnej warstwy. Wartości uzyskane na wyjściach neuronówostatniej warstwy są jednocześnie wartościami wyjściowymi sieci.Prawidłowo skonstruowana sieć neuronowa może służyć do rozwiązywania wielu typówzagadnień. Do najpopularniejszych zastosowań sieci należy zaliczyć budowane przy ichwykorzystaniu modele rozwiązujące problemy regresyjne, klasyfikacyjne orazprognostyczne. Wproblemach regresyjnychużytkownik modelu neuronowego oczekuje,że posiadana przez niego sieć będzie w stanie opisywać zależności pomiędzy zmiennymi,przy czym zakłada się, że zmienna objaśniana (zmienne objaśniane) mają charakter ciągły.Wproblemach klasyfikacyjnychsieć neuronowa stanowi narzędzie umożliwiającezaklasyfikowanie badanych obiektów do właściwych klas. Jeżeli wzorce klas są znaneprzed rozpoczęciem badań, to rozwiązywany problem określany jest mianemklasyfikacjiwzorcowej,w przeciwnym przypadku rozwiązywane zagadnienie jest przykłademproblemuklasyfikacji bezwzorcowej.W problemach klasyfikacyjnych informacjawyjściowa sieci zwykle ma postać zmiennej nominalnej, której poszczególne wartościreprezentują klasy, do których przypisywane są obiekty. Wproblemachprognostycznychcelem stosowania modeli neuronowych jest wyznaczenie przyszłejwartości szeregu czasowego. Sieć rozwiązująca zagadnienia tego typu korzysta z bieżącychoraz przeszłych wartości tego samego szeregu jak również z bieżących i przeszłychwartości innych zmiennych.Copyright © StatSoft Polska5StatSoft Polska, tel. 12 428 43 00, 601 41 41 51,info@statsoft.pl, www.StatSoft.plSposób funkcjonowania sieci neuronowej, gwarantujący prawidłowe rozwiązywaniepostawionych przed nią problemów, uzależniony jest od dwóch podstawowych czynników:wartości współczynników wagowych neuronów składających się na sieć,struktury sieci (topologii), która określana jest przez liczbę warstw, liczbęneuronów w poszczególnych warstwach, sposób połączeń (czy łączonyjestkażdyneuron jednej warstwy zkażdymneuronem warstwy następnej, czy teżłączone są tylko wybrane neurony, czy dozwolone są połączenia pomiędzyneuronami nie znajdującymi się w sąsiadujących ze sobą warstwach), przyjętymodel neuronu (sposób agregacji danych wejściowych, rodzaj zastosowanejfunkcji aktywacji).Proces mający na celu określenie prawidłowych wartości parametrów sieci (wag, strukturysieci) nazywany jestuczeniem sieci neuronowej.Uczenie sieci jest niezbędnym elementemprocesu konstrukcji modelu neuronowego. Proces uczenia realizowany jest przywykorzystaniu dostępnych zestawów danych, które ilustrują przebieg badanych zjawisk dlawybranych obiektów i/lub przeszłych okresów czasu. W trakcie uczenia na wejścia sieciwprowadzane są zgromadzone wartości i obserwowane jest towarzyszące tej operacjizachowanie sieci. Jeżeli zachowanie sieci nie może zostać uznane za w pełni poprawne, toprzeprowadzana jest modyfikacja parametrów sieci mająca na celu poprawę jejfunkcjonowania. Sposób przeprowadzenia modyfikacji określany jest przezzastosowanyalgorytm uczenia sieci.Istnieją dwa podstawowe sposoby przeprowadzania uczenia sieci. Są nimiuczenie znauczycielemoraz uczeniebez nauczyciela.W przypadku uczenia z nauczycielem zbiór uczący zawiera zarówno wartości zmiennychwejściowych jak i odpowiadające im wartości zmiennej (lub zmiennych) wyjściowych.Idea uczenia z nauczycielem przedstawiona została na rys. 4. Po wprowadzeniu poprzezneurony wejściowe wartości zmiennych wejściowych wyznaczana jest odpowiedź sieci.Uzyskana w ten sposób wartość porównywana jest z rzeczywistą wartościąprzechowywaną w zbiorze uczącym. Jeśli porównywane wartości nie są równe, toparametry sieci (wagi) modyfikowane są w taki sposób, aby odpowiedź sieci upodobniłasię do wartości rzeczywistej.Rys. 4.Uczenie z nauczycielem.6www.StatSoft.plCopyright © StatSoft PolskaStatSoft Polska, tel. 12 428 43 00, 601 41 41 51,info@statsoft.pl, www.StatSoft.plTryb uczenia z nauczycielem stosowany jest przede wszystkim do konstrukcji siecirozwiązujących problemy regresyjne, klasyfikacji wzorcowej oraz prognostyczne. Procesuczenia wymaga zwykle wielokrotnej prezentacji wzorców uczących i odpowiadającej immodyfikacji wag. Jednokrotna prezentacja wszystkich wzorców uczących nazywanajestepokąuczenia. Osoba tworząca sieć ocenia przebieg uczenia obserwując zmiany wwartości błędu uczenia (rys. 5), który określa stopień niedopasowania wartościrzeczywistych i teoretycznych w sposób zagregowany dla całego zbioru uczącego.Rys. 5.Wykres błędu uczenia.Wartości znajdujące się na osi OX określają kolejne epoki uczenia. Rysowana na wykresiekrzywa prezentuje zmiany w wartości błędu. W trakcie poprawnej realizacji uczeniapoziom błędu powinien się zmniejszać.Stosując uczenie bez nauczyciela (rys. 6) wykorzystuje się zbiór uczący obejmującywyłącznie wartości zmiennych wejściowych. W tym przypadku zbiór uczący nie zawierażadnych informacji na temat wartości pożądanych na wyjściach sieci. Celem uczenia jestosiągnięcie przez sieć stanu równowagi.Rys. 6.Uczenie bez nauczyciela.Uczenie bez nauczyciela wykorzystywane jest głównie przy tworzeniu modelirozwiązujących zagadnienia klasyfikacji bezwzorcowej. W trakcie uczenia sieć musirozpoznać strukturę zbioru danych i przypisać poszczególne przypadki do właściwych klas.Uczenie kończy się w chwili, gdy w trakcie kolejnych prezentacji przypadków uczącychnie zachodzą zmiany w sposobie przyporządkowania obiektów do właściwych grup. BrakCopyright © StatSoft Polska7
[ Pobierz całość w formacie PDF ]