Sunday, 15 December 2019

Automatycznie sieci neuronowe forex


ARCHITEKTURY, ALGORYTMY UCZENIA I PROJEKTOWANIE SIECI NEURONOWYCH 1.1. HISTORIA ROZWOJU SZTUCZNYCH SIECI NEURONOWYCH 1.2. INSPIRACJE BIOLOGICZNE 1.3. MODELO MATEMATYCZNY SZTUCZNEGO NEURONU I SIECI NEURONOWEJ 1.4. KLASYFIKACJA SIECI NEURONOWYCH 1.5. WSTPNE PRZETWARZANIE DANYCH 1.5.1. Skalowanie i normalizacja 1.6. UCZENIE SIECI 1.6.1. Algorytm wstecznej propagacji bdw 1.6.2. Algorytm wstecznej propagacji bdu ze wspczynnikiem momentum 1.7. DOBR STRUKTURY SIECI NEURONOWEJ 1.7.1. Metody wzrostu 1.7.2. Metody redukcji 1.7.3. Metody optymalizacji dyskretnej 1.7.4. Algorytm optymalizator genetyczny jako struktury sieci ltligt PREZENTACJA eu Analiza WYNIKW PREDYKCJI NOTOWA GIEDOWYCH indeksu WIG20 ltolgt ltligt 1. Architektury, algorytmy uczenia i PROJEKTOWANIE sieci neuronowych Sieci neuronowe s sztucznymi strukturami, ktrych BUDOWA i dziaanie zostay zaprojektowane w sposb modelujcy dziaanie naturalnego ukadu nerwowego, w szczeglnoci Mzgu. Ciesz si bardzo duym zainteresowaniem. Jednym z gwnych czynnikw majcych na para wpyw jest moliwo stosowania ich w bardzo wielu dziedzinach ycia do rozwizywania problemw, gdzie uycie innych metod jest trudne lub niemoliwe. Znakomicie sprawdzaj si w problemach klasyfikacji, predykcji, zwizanych ze sterowaniem, analiz danych. S czsto wykorzystywane w geologii, fizyce, ekonomii, dla celw wojskowych oraz medycznych. Na tak wielk popularno wpywaj podstawowe cechy oferowane przez sieci neuronowe. Pozwalaj one rozwizywa problemy dla opisw ktrych nie ma modeli matematycznych. Przygotowanie sieci do pracy jest dwuetapowe. Pierwszym jest process uczenia, w ktrym sie uczy si na podstawie danych empirycznych jak reagowa na zadany bodziec. Gdy sie zostanie wytrenowana mona przej do etapu pracy waciwej (drugi etap), podajc na jej wejcia dowolne sygnay. Jest wic to metoda atwa w uyciu. Poza tym sie neuronowa umoliwia generalizacj zdobytej wiedzy. Sie nauczona na pewnym wektorze danych bdzie dawa wyniki dla danych nie biorcych udziau w processie uczenia. Cechy te zostay uzyskane dziki wzorowaniu si na sposobie pracy mzgu. Dziki badaniom nad budow i funkcjonowaniem naturalnego systemu nerwowego oraz prbom przeniesienia zaobserwowanych mechanizmw do modeli matematycznych, powstao bardzo uyteczne narzdzie, chtnie wykorzystywane w wielu zadaniach praktycznych. 1.1. Historia rozwoju sztucznych sieci neuronowych Prace nad poznaniem processw zachodzcych w mzgu, ktre maj wpyw na inteligentny sposb jego dziaania, byy prowadzone od bardzo dawna przez wielu badaczy z caego wiata. Pocztkiem dziedziny sztucznych sieci neuronowych byo przedstawienie matematycznego modelu neuronu przez McCullocha i Pittsa w 1943 roku. Ich praca staa si inspirac dla wielu pniejszych badaczy. W 1949 roku Donald Hebb odkry, e informacja moe por przechowywana jako warto wag pomidzy poczeniami poszczeglnych neuronw i zaproponowa pierwszy algorytm uczenia takiej sieci. Polega on na zmianach wag pocze - nazwany on zosta regu Hebba. Pierwsz znan i opisan, neurônio dziaajc sieci por perceptron. Zostaa ona opracowana przez Rossenblatta w 1957 roku w Cornell Aeronautical Laboratory. W 1960 roku powstaa struktura Adaline, na ktr skada si pojedynczy element liniowy. Jej twrc de Bernard Widrow ze Standford University. Elemento Adinal po rozbudowaniu o kolejne elementy poczone ze sob tworzya sie Madaline. Pocztkowy gwatowny wzrost zainteresowania i postp w tej dziedzinie zosta ostudzony w Latach 70-tych przez publikacj pracy Minsky-ego i Paperta (1969 r.) Ktra dowodzia, e sie skadajca si z jednej warstwy liniowej ma bardzo ograniczone zastosowanie. Pomimo tego powstawao wiele nowych pomysw i modeli sieci. Mona tu wymieni sie Cerebellatron Davida Mara (sterowanie robotem), Brain in the Box Jamesa Andersona (1977 r.) Dziaajca jak pami asocjacyjna. Zastj w badaniach nad sieci zosta przeamany po publikacji algorytmu uczenia wielowarstwowej nieliniowej sieci neuronowej. Metoda wstecznej propagacji bdw zostaa po raz pierwszy opisana przez Werbosa w 1974 roku, jednak jej popularyzacja nastpia dopiero w 1986 roku za spraw Rumelharta. Para umoliwio konstruowanie wielowarstwowych nieliniowych sieci neuronowych i ich skuteczne uczenie. Spowodowao powrt zainteresowania sieciami neuronowymi i dalszy szybki ich rozwj. 1.2. Inspirazje biologiczne Jak ju wspomniano wyej, badacze rozwijajcy modelo sieci neuronowej wzorowali si na naturalnym systemie nerwowym, szczeglnie mzgu. Mzg skada si z okoo 10 miliardw elementarnych komrek nerwowych nazywanych neuronami. Tworz ona bardzo skomplikowane sieci powiza midzy soluço. Neurony w mzgu pracuj rwnolegle. Poszczeglne neurony skadaja si z nastpujcych czci: dendrytw, perikarionu, aksonu. Dendryty s wejciami neuronu. Prowadz sygna od innych neuronw. Perikarion stanowi cz scalajc dla sygnaw z dendrytw. Akson peni funkcje wyjcia sygnau od neuronu do innych neuronw. Odbywa si to poprzez telodendron - rozgazion struktur transportujc sygnay wyjciowe. Nonikiem pamici w naturalnej sieci neuronw jest synapsa - biochemiczne zcze, modyfikujce sygnay. Na podstawie budowy biologicznej powsta modelo sztucznego neuronu oraz sieci neuronowej. Jest on znacznie uproszczony w stosunku do systemu biologicznego. 1.3. Matematyczny modelo sztucznego neuronu i sieci neuronowej Na podstawie obserwacji mechanizmw zachodzcych w naturalnej sieci neuronw, opracowano matematyczne koncepcje sztucznych sieci neuronowych. Podobnie jak w naturalnych sieciach, skadaj si one z elementarnych komrek - neuronw. Zdajc sobie spraw z braku moliwoci dokadnego odwzorowania naturalnych ukadw i budowy, badacze opracowali modelo sztucznego neuronu. Jego dziaanie mona przestawi nastpujco: - faça neurônio docieraj sygnay (na wejcia neuronu), - kady sygna ma swoja wag (efektywno synapsy), - w neuronie obliczana jest waona suma wej i odejmowana warto progowa, - wynik sumy waonej wprowadzany jest jako argument funkcji Aktywacji, wynik funkcji jest wprowadzany na wyjcie neuronu. Schemat1.jpg (static.4programmersuploadsattachmentschemat1.jpg) Schemat budowy sztucznego neuronu. Na tej podstawie, dziaanie pojedynczego neuronu mona opisa nastpujcymi wzorami: wzor1.jpg (static.4programmersuploadsattachmentwzor1.jpg) wzor2.jpg (static.4programmersuploadsattachmentwzor2.jpg) wic: wzor3.jpg (static.4programmersuploadsattachmentwzor3.jpg) Funkcja aktywacji moe mie rne postaci . Kada funkcja, aby moga peni t rol musi por ciga i atwo rniczkowalna. Wyjtkiem jest perceptron, w przypadku ktrego funkcja aktywacji nie jest poddana tym ograniczeniom. W praktyce stosuje si najczciej nastpujce funkcje: liniow, logistyczn, tangens hiperboliczny, sinus oraz signum. A) Funkcja liniowa Neurony z liniow funkcj aktywacji tworz liniowe sieci neuronowe. Warto waonej sumy wej s przepisywane na wyjcie neuronu. Budowanie wielowarstwowych sieci liniowych nie jest uzasadnione, gdy zawsze mona zastpi j odpowiedni sieci jednowarstwow. B) Funkcja logistyczna Funkcja logistyczna jest bardzo czsto stosowan funkcj aktywacji neuronu. Okrelona jest ona nastpujcym wzorem: wzor4.jpg (static.4programmersuploadsattachmentwzor4.jpg) Funkcja przyjmuje wartoci z przedziau (0,1). Na Rys. Zamieszczonym niej widoczny jest wpyw wspczynnika beta na posta funkcji aktywacji. Funkclogist1.jpg (static.4programmersuploadsattachmentfunkclogist1.jpg) Przebieg wartoci funkcji logistycznej przy rnych wartociach wspczynnika beta. C) funkcja tangens hiperboliczny Rwnie czsto stosowan funkcj przejcia jest tangens hiperboliczny. Wzr funkcji jest nastpujcy: wzor5.jpg (static.4programmersuploadsattachmentwzor5.jpg) Funkcja tangens hiperboliczny przyjmuje wartoci z przedziau (-1,1) funkctanh. jpg (static.4programmersuploadsattachmentfunkctanh. jpg) Przebieg wartoci funkcji tanh dla rnych parametrw beta. D) Funkcja sinus Dla zastosowa w sieciach neuronowych, stosuje si nastpujc posta: wzor6.jpg (static.4programmersuploadsattachmentwzor6.jpg) e) Funkcja signum ltbrgt wzor7.jpg (static.4programmersuploadsattachmentwzor7.jpg) Jednokierunkowa, wielowarstwowa sztuczna sie neuronowa powstaje przez poczenie opisanych Wyej sztucznych neuronw. Stosowana jest przy tym zasada czenia kadego neuronu warstwy poprzedniej z kadym neuronem warstwy nastpnej. Powstajce w ten sposb warstly mona podzieli na: a) warstw wejciow, b) warstwy ukryte, c) warstw wyjciow. Schematbudowy. jpg (static.4programmersuploadsattachmentschematbudowy. jpg) Schemat budowy jednokierunkowej, nieliniowej sztucznej sieci neuronowej. Dziaanie sieci neuronowej mone przedstawi w nastpujcych krokach: - dane wejciowe s wprowadzane na wejcia warstly wejciowej, - dane s propagowane na wejcia nastpnych warstw, a warstly wyjciowej, - wartoci otrzymane w ostatniej, wyjciowej warstwie sieci neuronowej traje e jako wyjcia sieci. 1.4. Klasyfikacja sieci neuronowych W rozdziale 1.3 przedstawiona zostaa budowa i sposb dziaania jednokierunkowej wielowarstwowej, nieliniowej sieci neuronowej. Jest to najczciej wykorzystywany model w neurokomputingu. Trzeba jednak zauway, e istnieje wiele innych modeli sieci, czsto wyspecjalizowanych w szczegowych typach zada, rnicych si koncepcjach nauki, innym przepywem sygnaw. Poniej przedstawiono opisane w literaturze najwaniejsze typy sieci neuronowych i ich krtk charakterystyk. Klasyfikacji sieci neuronowych dokonuje si wedug czterech podstawowych kryteriw: metod trenowania, kierunkw propagacji sygnaw w sieci, typw funkcji przejcia, rodzajw danych wprowadzanych na wejcia. Klasyfikacja sieci wedug tych kryteriw wyglda nastpujco: klasyfikacja. jpg (static.4programmersuploadsattachmentklasyfikacja. jpg) Klasyfikacja sieci neuronowych. Sieci nadzorowane s czsto spotykanymi sieciami w wielu zastosowaniach. Ich trening polega na prezentowaniu sieci wartoci wejciowych wraz z odpowiednimi, podanymi wartociami na wyjciach. Na tej podstawie sie tak ustawia wartoci wag, por odpowied miecia e w granicy bdu okrelonym przez uytkownika. Sieci liniowe s stosowane raczej rzadko, ze wzgldu na mae moliwoci. Sieci jednokierunkowe nieliniowe s obecnie najczciej stosowanymi strukturami neuronowymi. Cechuj si dobr efektywnoci dziaania oraz prost i intuicyjn budow. S um rwnie bardzo uniwersalne. Sieci rekurencyjne dziaaj w nieco inny sposb ni sieci jednokierunkowe. Wyjcia niektrych neuronw, lub caych warstw mog por wprowadzane ponownie na wejcia tych samych neuronw lub warstw. Sieci nie nadzorowane rni si od sieci nadzorowanych sposobem treningu. Nie wymagaj one podawania podanych wartoci wyjciowych dla prezentowanych wej lecz tylko wektorw wejciowych. 1.5. Wstpne przetwarzanie danych Sie neuronowa do odpowiedniego dziaania potrzebuje poprawnie zdefiniowanych danych wejciowych. Istnieje wiele metod zapewnienia poprawnoci danych zalenie od ich charakteru oraz rodzaju sieci. Niezalenie od rodzaju sieci i problemu, ktry ma por rozwizany, dane powinny spenia podstawowe warunki, takie jak reprezentatywno, pene oddanie problemu, odpowiednie przeskalowanie i normalizacja, eliminacja niedokadnoci pomiarw. Przeprowadzenie tych czynnoci jest niezbdne do poprawnego dziaania sieci. 1.5.1. Skalowanie i normalizacja Dane przetwarzane przez sie pochodz najczciej z obserwacji pewnych wartoci w badanym modelu. Ich skala wartoci zazwyczaj nie na bezporednie wprowadzenie na wejcia sieci. Istnieje kilka popularnych metod skalowania. Poniej wymieniono najczciej stosowane. - skalowanie wzgldem wartoci maksymalnej: wzor8.jpg (static.4programmersuploadsattachmentwzor8.jpg). - skalowanie wzgldem wartoci redniej: wzor91.jpg (static.4programmersuploadsattachmentwzor91.jpg). - skalowanie wzgldem odchylenia od wartoci redniej: wzor10.jpg (static.4programmersuploadsattachmentwzor10.jpg). Przeskalowanie do zakresu (-1,1), - skalowanie wzgldem odchylenia od wartoci minimalnej: wzor11.jpg (static.4programmersuploadsattachmentwzor11.jpg), transformacja do wartoci (0,1), - skalowanie wzgldem standardowego odchylenia redniokwadratowego: wzor12.jpg (estático .4programmersuploadsattachmentwzor12.jpg). Wybr odpowiedniej metody skalowania jest uzaleniony od rodzaju rozwizywanego problemu. 1.6. Uczenie sieci Jedn z gwnych zalet sieci neuronowej w stosunku do innych metod przetwarzania danych jest umiejtno generalizacji wiedzy, co umoliwia poprawn reakcj na sygnay nie przewidziane przez projektanta. W odrnieniu od metod matematycznych lub algorytmicznych sie moe por wykorzystywana dla wielu rnych modeli, bez znaczcych modyfikacji. Powysze cechy mog zosta uzyskane tylko przez zastosowanie odpowiedniego algorytmu uczenia. Istnieje wiele algorytmw uczenia sieci. Do najczciej stosowanych zalicza si metod wstecznej propagacji bdw i jej modyfikacje. 1.6.1. Algorytm wstecznej propagacji bdw Algorytm wstecznej propagacji bdw jest podstawowym algorytmem uczenia nadzorowanego wielowarstwowych jednokierunkowych sieci neuronowych. Polega na takiej zmianie wag sygnaw wejciowych kadego neuronu w kadej warstwie, por warto bdu dla kolejnych por uczcych zawartych w zbiorze uczcym bya jak najmniejsza. Wykorzystuje on w tym celu metod gradientow - najszybszego spadku. Oglny przebieg uczenia nadzorowanego sieci neuronowej przebiega wedug algorytmu przedstawionego na rys: schematbp. jpg (static.4programmersuploadsattachmentschematbp. jpg) Schemat przebiegu algorytmu wstecznej propagacji bdu. Przebieg algorytmu dla wszystkich elementw cigu uczcego nazywa si epok. Jak ju wspomniano wyej, sie jest uczona poprzez odpowiednie zmiany wartoci wag na wejciach poszczeglnych neuronw. Aby mona tego dokona potrzebne jest okrelenie wartoci bdw na wyjciach poszczeglnych neuronw. Oblicza si je wedug nastpujcych wzorw: dla warstwy kN, ostatniej: wzor13.jpg (static.4programmersuploadsattachmentwzor13.jpg), gdzie wzor14.jpg (static.4programmersuploadsattachmentwzor14.jpg). Jest bdem sygnau wyjciowego poszczeglnego neuronu wzor15.jpg (static.4programmersuploadsattachmentwzor15.jpg). Jest sygnaem wyjciowym czci liniowej neuronu wzor16.jpg (static.4programmersuploadsattachmentwzor16.jpg) - sygna wzorcowy i-tego neuronu Dla kadej innej warstwy k, bd wylicza si wedug nastpujcego wzoru: wzor17.jpg (static.4programmersuploadsattachmentwzor17.jpg) oznaczenia. Wzor18.jpg (static.4programmersuploadsattachmentwzor18.jpg) - wyjcie neuronu, wij (k) - waga wejcia j w i-tym neuronie w warstwie k, n - numer okresu przebiegu algorytmu. Wyznaczanie wartoci bdw odbywa si w kierunku od warstwy wyjciowej wstecz do warstwy wejciowej. Gdy bdy s wyliczone, przystpuje si do modyfikacji wartoci wag, wedug wzoru: wzor20.jpg (static.4programmersuploadsattachmentwzor20.jpg) Algorytm mona wic przedstawi nastpujco: wzor21.jpg (static.4programmersuploadsattachmentwzor21.jpg) Dziaanie algorytmu koczy si, gdy osignity zostanie poziom Bdu wyznaczony przez uytkownika lub po przebiegu okrelonej liczby epok. 1.6.2. Algorytm wstecznej propagacji bdu ze wspczynnikiem momentum Algorytm wstecznej propagacji bdw ma niestety kilka wad. O najczciej wymienianych zalicza si dua liczba iteracji potrzebna do osignicia oczekiwanego wyniku oraz wraliwo na minima lokalne funkcji bdu. Jego dziaanie zaley rwnie od odpowiednio dobranego wspczynnika szybkoci uczenia. Zbyt pode powoduje cavou pra algorytmu a zbyt duy moe powodowa oscylacje. Istnieje jednak metoda zwikszania tempa uczenia bez pogorszenia jakoci uczenia oraz przy mniejszej wraliwoci na minima lokalne. Jest to momentowa metoda wstecznej propagacji bdu. Modyfikacja podstawowego algorytmu polega tu na dodaniu czonu, ktry peni rol wspczynnika bezwadnoci przy modyfikacji wagi. Powoduje para wiksz pynno zmian oraz przeskakiwanie nad minimami lokalnymi. Posta po modyfikacji wyglda nastpujco: wzor22.jpg (static.4programmersuploadsattachmentwzor22.jpg) gdzie: wzor23.jpg (static.4programmersuploadsattachmentwzor23.jpg) jest wzorem algorytmu wstecznej propagacji bdw (BP), Alfa - wspczynnik momentum. Z powyszego wzoru wida, e podstawowy czon algorytmu nie uleg zmianie. Widoczny jest czon bezwadnoci, o wspczynniku. Powstaje on poprzez wyliczenie rnicy wagi i odpowiadajcej jej wagi z poprzedniej epoki. W ten sposb kada kolejna zmiana jest uzaleniona z wag alfa od poprzedniej wartoci wagi. 1.7. Dobr struktury sieci neuronowej Jednym z bardziej znaczcych czynnikw, majcych wpyw na parametry dziaania sieci, takie jak szybko uczenia, wielko popenianego bdu, zdolno generalizacji, ma odpowiednio dobrana struktura sieci. Niestety nie istniej jednoznaczne metody jej definitivamente. Czsto nawet pozornie podobny problemy trzeba rozwizywa za pomoc rnej pod wzgldem struktury sieci. O ile ilo neuronw w warstwach wejciowej i wyjciowej jest determinowana przez zaoenia uytkownika, para iloci warstw ukrytych i neuronw, ktre si w nich znajduj nie s wielkociami oczywistymi. Metody optymalizacji wielowarstwowej sieci neuronowej s przedmiotem bada od wielu lat. Problema dez nie jest jednak zamknity. Opracowano dotychczas grup algorytmw, ktrych dziaanie ma pomc w utworzeniu sieci optymalnej. Mona podzieli je na trzy grupy: - metody wzrostu, - metody redukcji, - metody optymalizacji dyskretnej. Adna z wymienionych wyej metod nie jest idealna. Czsto wybr ktrej z nich zaley od rodzaju rozwizywanego problemu. 1.7.1. Metody wzrostu Algorytmy, nalece do metody wzrostu zakadaj, e na pocztku procesu optymalizacji struktura sieci powinna por moliwie maa. W kolejnych iteracjach zostaj dodawane kolejne neurony ukryte, co powinno powodowa zwikszenie sprawnoci dziaania sieci. Czynno ta jest powtarzana a do osignicia punktu optymalnego. Przykadowe algorytmy dziaajce wedug metody wzrostu para: - algorytm kafelkowy, - dynamiczna kreacja neuronw. Algorytm kafelkowy jest stosowany do konstruowania nieliniowej, wielowarstwowej sieci neuronowej. Algorytm polega na dodawaniu kolejnych neuronw do struktury sieci. Kady pierwszy neuron w warstwie peni specjaln funkcj. Nazywa si go elementem gwnym. Na podstawie wyniku elementu gwnego warstly ostatnio dodanej ocenia si jako sieci. Jeeli jako nie jest wystarczajca, wprowadzane s kolejne neurony do warstwy. Czynno ta jest wykonywana do momentu gdy sie nie osignie optymalnych parametrw struktury. Algorytm dynamicznej kreacji neuronw zosta zaprojektowany do optymalizacji sieci nieliniowej o jednej warstwie ukrytej. Zasada dziaania jest bardzo zbliona do algorytmu kafelkowego. Przebieg dziaania algorytmu wyglda nastpujco: - utworzenie sieci pocztkowej o maej liczbie neuronw w warstwie ukrytej (najczciej 2 neurony), - trenowanie sieci za pomoc algorytmu wstecznej propagacji, - dodanie neuronu do warstwy ukrytej. Czynnoci te s powtarzane, a sie osignie odpowiedni struktur do rozwizania okrelonego zadania. 1.7.2. Metody redukcji Algorytmy metody redukcji s rwnie czsto stosowane jak metody wzrostu. Opieraj si one na zaoeniu, e kolejne iteracje maj zmniejsza ilo neuronw ukrytych. Wyrnia si tu nastpujce metody: - metody wraliwoci, - metody analizy kowariancji. W pocztkowym stadium sie neuronowa charakteryzuje si du zoonoci strukturaln. Zostaje ona redukowana a do osignicia optymalnej struktury. W metodzie wraliwoci usuwa e poczenia synaptyczne, ktrych wagi maj najmniejszy wpyw na wynik sieci. Metoda analizk kowariancji jest zbliona do wczeniej wymienionej metody. Analizie poddawana jest macierz kowariancji sygnaw generowanych przez neurony warstwy ukrytej. Liczba znaczco duych wartoci wasnych macierzy okrela liczb neuronw, ktre powinny znajdowa e w warstwie ukrytej. 1.7.3. Metody optymalizacji dyskretnej Algorytmy optymalizacji diskretnej opieraj si na zaoeniu, e process nauki sieci i wyboru architektury zachodz rwnoczenie. Czynnikiem, ktry zostaje poddany ocenie jest okrelona funkcja, reprezentujca jako danej sieci. W kolejnych krokach sieci dobierane s tak, por dy do maksymalizacji funkcji jakoci. Jednym z najciekawszych algorytmw optymalizacji jest algorytm genetyczny. 1.7.4. Algorytm genetyczny jako optymalizator struktury sieci Algorytmy genetyczne s szczeglnie interesujc forma rozwizywania problemw optymalizacyjnych. Podobnie jak sieci neuronowe, metodyka ta powstaa na podstawie obserwacji processw zachodzcych w wiecie organizmw ywych. ltbrgt Implementacje algorytmw genetycznych pozwoliy stwierdzi, e jest to metoda skuteczna i atwa do zastosowania w wielu problemaach optymalizacji. Podobnie jak sie neuronowa, algorytm genetyczny nie wymaga od uytkownika znajomoci szczegw procesu optymalizacji danego zadania. Wymagane jest jedynie okrelenie pewnej funkcji, zwanej funkcj przyamentsowania, ktrej warto bdzie maksymalizowana w kolejnych przebiegach algorytmu. Poniej przedstawi oglne wiadomoci dotyczce modeli ewolucyjnych. Skupiono si na klasycznym algorytmie genetycznym oraz przedstawi przykadowe zaoenia algorytmu optymalizujcego hipotetyczn siec neuronow. Zasada dziaania klasycznego algorytmu genetycznego Algorytm genetyczny operuje na chromosomach. Rol t peni wektor o staej dugoci, najczciej skadajcy si z wartoci binarnych. Kady z bitw wektora peni rol genu. Zbir chromosomw o okrelonej licznoci tworzy populacj. Algorytm genetyczny potrzebuje zdefiniowania nastpujcych operacji: - generacji populacji pocztkowej, - okrelenia jakoci poszczeglnych osobnikw, - reprodukcji, - mutacji, - krzyowania. Schemat algorytmu genetycznego przedstawiono na rys: schematGen. jpg (static.4programmersuploadsattachmentschematGen. jpg) Schemat klasycznego algorytmu genetycznego. Generacja populacji pocztkowej zaczyna proces ewolucji. Po jej wykonaniu otrzymujemy populacj, skadajc si z osobnikw o chromosomach z losowymi wartociami genw. Bardzo wanym elementem jest okrelenie licznoci populacji. Zbyt maa liczba osobnikw moe prowadzi do maego przeszukania przestrzeni rozwiza, um zbyt dua do dugiego dziaania algorytmu. Prozykadowy chromosom, o 10 genach moe wyglda nastpujco: Ch (1,0,0,1,0,0,0,1,1,0). Sposb budowania okrelonego osobnika na podstawie chromosomu binarnego jest okrelany przez projektanta algorytmu. Kolejnym etapem algorytmu jest obliczenie wartoci funkcji przystosowania. Okrela ona jako osobnika, opartego na wzorcu znajdujcym e w chromosomie. Istniej pewne zaoenia dotyczce funkcji dopasowania: - przyjmuje ona wartoci wiksze od 0, - proces optymalizacji dy do uzyskania maksimum funkcji przystossowania. Jeeli wyznaczona funkcja nie spenia powyszych warunkw, powinna zosta poddana transformacji. Po obliczeniu wartoci funkcji przystosowania kadego osobnika, nastpuje selekcja chromosomw do reprodukcji. Najprostsz i najczciej stosowan jest metoda ruletki. Jej sposb dziaania przebiega w nastpujcej kolejnoci: - obliczenie sumy przystosowa wszystkich osobnikw, - obliczona suma stanowi cae koo ruletki, - kademu osobnikowi przydzielany jest wycinek koa wedug wzoru: wzor24.jpg (static.4programmersuploadschingchmentwzor24.jpg) - losowana jest liczba z przedziau lt0 , 100gt, - osobnik, na ktry wskazuje wylosowany punkt zostaje wytypowany do reprodukcji, - liczba losowa jest rwna licznoci populacji. W wyniku dziaania tej metody, wyznaczone zostaj chromosomy do reprodukcji. Cho wybr jest losowy, chromosomy o wyszej wartoci funkcji przystosowania maj wiksze prawdopodobiestwo wylosowania. Jest to bezporednia analogia z procesu ewolucji naturalnej. Operador krzyowania umoliwia wymian materiau genetycznego pomidzy rodzicami. Z grupy wyznaczonych np. Metod ruletki chromosomw generuje si losowo pary rodzicw. Jeden rodzic moe powtrzy e wiele razy (para rwnie analogia do processw naturalnych). Kolejnym etapem jest losowanie punktu podziau kodu genetycznego rodzicw (cruzamento). Pierwszy potomek otrzymuje pierwsze n genw rodzica A i m genw rodzica B (nmwielko chromosomu). Drugi potomek dziedziczy pierwsze n genw rodzica B i m genw rodzica A. Iteracja ta jest powtarzana dla kadej pary rodzicw. W wyniku jej dziaania otrzymujemy populacj potomkw, ktra zastpuje populacj rodzicw. Wanym operatorem jest operator mutacji. Trzeba zaznaczy, e mutacja nie ma za zadanie polepszy jako osobnikw, lecz zwikszy rnorodno genetyczn. Metoda dziaania operatora mutacji jest bardzo prosta - losowana jest liczba z przedziau lt1, ngt gdzie n jest liczb genw w chromosomie. Po wylosowaniu liczby gen, o numerze jej odpowiadajcym jest przekamywany - jeli mia warto 1 para jest ona zmieniana na 0 i odwrotnie. Operacja mutacji nie powinna przebiega zbyt czsto. Zakada si, analogicznie do processw naturalnych, bardzo mae prawdopodobiestwo jej wystpienia. Powinna by ona przeprowadzona na populacji potomkw. Wszystkie opisane wyej czynnoci wykonujemy do chwili osignicia warunku stopu. Najczciej okrela si go jako okrelon liczb powtrze (pokole). Gdy algorytm zatrzyma si, najlepszy osobnik ostatniego pokolenia przyjmowany jest jako rozwizanie problemu optymalizacyjnego. Nie istnieje gwarancja, e jest to rozwizanie optymalne. Praktyka pokazuje jednak, e przy odpowiednio dobranej licznoci populacji, iloci pokole i odpowiednio dobranym prawdopodobiestwem mutacji uzyskuje si bardzo dobre wyniki. Zaoenia dotyczce algorytmu genetycznego, wykorzystanego do optymalizacji hipotetycznej sieci neuronowej. Jak wspomniaem wczeniej, algorytm genetyczny dokonuje operacji na osobnikach pewnej populacji, dokadniej mwic na chromosomach poszczeglnych osobnikw poprzez standardowe operatory genetyczne. Podstawowymi elementami, ktre trzeba zaprojektowa implementujc algorytm genetyczny, s: - okrelenie postaci funkcji celu, - sposb kodowania poszczeglnych sieci neuronowych w cromosomia, - okrelenie licznoci populacji, - okrelenie prawdopodobiestwa wystpienia mutacji i inwersji. W zadaniu optymalizacji struktury sieci, jako cel wybraem liczb epok potrzebn do trenowania danej sieci przy wziciu pod uwag zoonoci jej struktury. Ewolucja dy wic do maksymalizacji nastpujcej funkcji: Modelo taki przyjem na podstawie wasnych symulacji. Testy wykazay, e aden z tych elementw oddzielnie nie pozwala na otrzymanie optymalnej sieci. Czsto sie o bardziej zoonej strukturze wykazuje nieco lepsze waciwoci treningu ni sie mniejsza, lecz nie s one proporcjonalne do zoonoci obliczeniowej. Sensownym wic wydaje si podda minimalizacji oba czynniki, co powinno przy dostatecznie dugim, w sensie pokoleniowym czasie, pozwoli na otrzymanie sieci o optymalnych parametrach. Posta odwrotn funkcji zastosowano w celu zgodnoci z klasycznym algorytmem genetycznym, w ktrym optymalizacja polega na maksymalizacji funkcji celu. Kolejnym elementem algorytmu genetycznego, ktry naley dobra podczas implementacji jest liczno populacji. Zbyt dua powoduje wyduenie czasu dziaania algorytmu a zbyt maa nie zapewnia dostatecznej rnorodnoci genetycznej. Ja stosuj liczno populacji rwn 20. Kolejnym wanym elementem jest sposb kodowania chromosomw, opisujcych struktur sieci. Zgodnie z zaoeniami klasycznego algortymu genetycznego przyjmuj kodowanie binarne. Mona przyj nastpujce rozwizanie. Kady chromosom skada si z 21 bitw, po 7 bitw na kad warstw ukryt sieci (przy zaoeniu struktury 3 warstw ukrytych sieci - a jak wynika z dowiadcze ludzi zajmujcych si tymi tematami, taka zoono wystarcza w wikszoci problemw, max po 128 neuronw na warstw) . Warstwa wejciowa i wyjciowa nie s kodowane, gdy ich rozmiar jest determinowany przez dane uczce oraz charakter problemu. Liczba neuronw w danej warstwie jest obliczana poprzez konwersje liczby z reprezentacji bitowej na dziesitn. Ostatnim parametrem, ktry musi zosta okrelony na etapie implementacji to wielko prawdopodobiestwa wystpienia operacji genetycznych. Mog by to nastpujce wielkoci prawdopodobiestw: - operacja krzyowania - 1, - operacja mutacji - 0,01, - operacja inwersji - 0,001. Pozostae elementy algorytmu, wykorzystanego do optymalizacji sieci s zgodne z zaoeniami klasycznego algorytmu genetycznego. 2. Prezentacja i analiza wynikw predykcji notowa giedowych indeksu WIG20 Przejd teraz do pokazania efektywnoci zastosowania wielowarstwowej, nieliniowej sieci neuronowej do predykcji cigw niedeterministycznych. Badanie zostao wykonane przy wykorzystaniu opracowanej specjalnie do tego celu aplikacji (prawdopodobnie niebawem zamieszcz w sieci - musz tylko zlokalizowa pytk ze rdami, wic prosz o cierpliwo). Trzeba na tym etapie podkreli, e wielowarstwowa sie nieliniowa jest sieci oglnego przeznaczenia - mona zastosowa specjalizowane architektury i sprawi, e predykcja da jeszcze lepsze wyniki. Do predykcji notowa WIG20 wykorzystana zostaa sie o architekturze 50-25-10-1, czyli 50 wej, 25 neuronw w warstwie pierwszej, 10 w drugiej oraz jedno wyjcie. Sie zostaa poddana treningowi o nastpujcych parametrach: - wspczynnik uczenia 0,3, - wspczynnik momentu 0,9, - dopuszczalny bd epoki0,01. Zbir uczcy skada si z 200 par uczcych. Kada para zawieraa 50 kolejnych notowa historycznych indeksu WIG20. Dane zostay przeskalowane metod odchylenia od redniej. Trenowanie trwao 2934 epok. Po treningu wykonano predito na área 38 okresw. Wynik predykcji przedstawiono na rys. Wynikwig20.jpg (static.4programmersuploadsattachmentwynikwig20.jpg) Wynik predykcji notowa WIG20 i wartoci rzeczywistych. W celu dokonania analizy jakoci predykcji wykonane zostay testy, porwnujce wyniki uzyskane za pomoc sieci neuronowej z metodami funkcji trendu oraz przeprowadzono pomiary bdw oraz wynikw testw. Jako pierwsze przeprowadzono porwnanie wynikw z metodami analizy funkcji trendu. Modelo de Wykorzystano liniowy i wielomianowy. Wynik przedstawiono na rys a szczegowe wyniki w tabeli pod ilustracj: wynikroznemetody. jpg (static.4programmersuploadsattachmentwynikroznemetody. jpg) Porwnanie wynikw predykcji metodami sztucznej sieci neuronowej oraz trendem liniowym i wielomianowym z danymi rzeczywistymi. Wartoci indeksu WIG20 w kolejnych okresach otrzymane przy zastosowaniu rnych metod predykcji. Tabelawyniki1.jpg (static.4programmersuploadsattachmenttabelawyniki1.jpg) Wykres ukazuje zupen nieprzydatno do tego zadania liniowego modelu funkcji trendu. Wartoci, uzyskane metod trendu wielomianowego si o wiele lepsze. Aby wskaza, ktra z wybranych metod daje najlepsz skuteczno w badanym okresie przeprowadzono wyliczenia. Jako pierwsze wyliczono podstawowe parametry. Wyniki przedstawiono w tabeli tabelatestytrendy. jpg (static.4programmersuploa. Achmenttabelatestytrendy. jpg) Wyniki testw dla rnych metod predykcji. Z wynikw zamieszczonych w tabeli wida znaczn przewag sieci neuronowej nad pozostaymi metodami oceny trendu. Kady parametr jest korzystniejszy w przypadku sieci neuronowej. Wyniki uzyskane dziki sieci oscyluj cay czas wok wartoci rzeczywistych. Kolejnym badaniem jest analiza wspczynnika zgodnoci kierunkw zmian, ktry okrela odsetek przypadkw, w ktrych kierunek rzeczywisty zmian jest zgodny z kierunkiem zmian zmiennych prognozowanych. Wspczynnik dez mwi, w jakim stopniu dana metoda moe por wykorzystana w celu wspomagania podejmowania decyzji. Aby uzna dan metod za przydatn do tego celu, miernik musi mie warto wiksz ni 50. Warto miernika wylicza si z nastpujcego wzoru: wzor26.jpg (static.4programmersuploadsattachmentwzor26.jpg) gdzie: wzor27.jpg (static.4programmersuploadsattachmentwzor27.jpg) Uzyskane wyniki S nastepujce: zgodnosczmian. jpg (static.4programmersuploadsattachmentzgodnosczmian. jpg) Wyniki testu zgodnoci kierunkw zmian. Wida wic, e sie umoliwia lepsz skuteczno rwnie w tym tecie. Z powyszych testw wida, e sie neuronowa daje lepsze efekty od przedstawionych metod opartych na krzywych trendu. Wyniki, uzyskane przy wykorzystaniu wielowarstwowej, jednokierunkowej sieci neuronowej mog by jeszcze lepsze, gdy szereg wejciowy podda si operacjom wstpnej obrbki. Trzeba jednak pamita, e metodyka oparta na sieciach neuronowych, implementowana w systemach komputerowych, charakteryzuje si znaczn zoonoci obliczeniow. Bibliografia 1. Duch W. Korbicz J. Rutkowski L. Tadeusiewicz R. Biocybernetyka i inynieria biomedyczna 2000. Sieci neuronowe, Exit, Warszawa 2000. 2. Gwiazda T. Algorytmy genetyczne, WSPiZ, Warszawa 1998. 3. Grad L. Materiay do wykadw z przedmiotu Metody sztucznej inteligencji w zarzdzaniu, WSISiZ (chyba dostepne s jeszcze na stronach studentw wsisiz) 4. Goldberg D. E. Algorytmy genetyczne i ich zastosowanie, tum. K. Grygiel, wyd. 2, Wydawnictwo Nauowo-Techniczne, Warszawa 1998. 5. Tadeusiewicz R. Sieci neuronowe, Akademia Grniczo-Hutnicza im. Stanisawa Staszica w Krakowie, 1993. 6. Rutkowska D. Rutkowski L. Piliski M. Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, Wydawnictwo Naukowe PWN, Warszawa 1999.sieci-neuronowe. pl Sicei neuronowe Ponisze informacje s tylko szacunkowe . Strony internetowej odwiedzajcy, napicie, dochd, etc pozycja moe si zmienia w duom stopniu z dnia na dzie. Nasza ocena odwiedzajcych i dochodw, jest tylko na podstawie statystyk zkonkretnej chwili, w konkretnym dniu. Naley odwiedzi stron czsto, aby zobaczy, czy strona zwiksza lub zmniejsza warto. :-) Przychody z reklam i odwiedzajcych Dzienna liczba odson tendencje w ruchu Ostatnia aktualizacja Info: Co to jest Sicei neuronowe Analiza SEO 183.3 tekst VS -83.3 html Sieci neuronowe, przykad w przegldrce internetoerj, wykonany przez Reprezenter. pl linki na miejscu u klienta Linki nofollow na miejscu u klienta Analiza Server Czy sieci-neuronowe. pl w d Wicej informacji na temat sieci-neuronowe. pl Czy oznacza to napisa ieci-neuronowe. pl seci-neuronowe. pl sici-neuronowe. pl siei-neuronowe. pl siec-neuronowe. pl siecineuronowe. pl sieci-euronowe. pl sieci-nuronowe. pl sieci-neronowe. pl sieci-neuonowe. pl sieci-neurnowe. pl sieci-neuroowe. pl sieci-neuronwe. pl sieci-neuronoe. pl sieci-neuronow. pl

No comments:

Post a Comment