1. Architektury, algorytmy uczenia i projektowanie sieci neuronowych
|
|
- Magdalena Stankiewicz
- 9 lat temu
- Przeglądów:
Transkrypt
1 Sztuczne sieci neuronowe i algorytmy genetyczne Artykuł pobrano ze strony eioba.pl SPIS TREŚCI 1. ARCHITEKTURY, ALGORYTMY UCZENIA I PROJEKTOWANIE SIECI NEURONOWYCH 1.1. HISTORIA ROZWOJU SZTUCZNYCH SIECI NEURONOWYCH 1.2. INSPIRACJE BIOLOGICZNE 1.3. MATEMATYCZNY MODEL SZTUCZNEGO NEURONU I SIECI NEURONOWEJ 1.4. KLASYFIKACJA SIECI NEURONOWYCH 1.5. WSTĘPNE PRZETWARZANIE DANYCH Skalowanie i normalizacja 1.6. UCZENIE SIECI Algorytm wstecznej propagacji błędów Algorytm wstecznej propagacji błędu ze współczynnikiem momentum 1.7. DOBÓR STRUKTURY SIECI NEURONOWEJ Metody wzrostu Metody redukcji Metody optymalizacji dyskretnej Algorytm genetyczny jako optymalizator struktury sieci 2. PREZENTACJA I ANALIZA WYNIKÓW PREDYKCJI NOTOWAŃ GIEŁDOWYCH INDEKSU WIG2 1. Architektury, algorytmy uczenia i projektowanie sieci neuronowych Sieci neuronowe są sztucznymi strukturami, których budowa i działanie zostały zaprojektowane w sposób modelujący działanie naturalnego układu nerwowego, w szczególności mózgu. Cieszą się bardzo dużym zainteresowaniem. Jednym z głównych czynników mających na to wpływ jest możliwość stosowania ich w bardzo wielu dziedzinach życia do rozwiązywania problemów, gdzie użycie innych metod jest trudne lub niemożliwe. Znakomicie sprawdzają się w problemach klasyfikacji, predykcji, związanych ze sterowaniem, analizą danych. Są często wykorzystywane w geologii, fizyce, ekonomii, dla celów wojskowych oraz medycznych. Na tak wielką popularność wpływają podstawowe cechy oferowane przez sieci neuronowe. Pozwalają one rozwiązywać problemy dla opisów których nie ma modeli matematycznych. Przygotowanie sieci do pracy jest dwuetapowe. Pierwszym jest proces uczenia, w którym sieć uczy się na podstawie danych empirycznych jak reagować na zadany bodziec. Gdy sieć zostanie wytrenowana można przejść do etapu pracy właściwej (drugi etap), podając na jej wejścia dowolne sygnały. Jest więc to metoda łatwa w użyciu. Poza tym sieć neuronowa umożliwia generalizację zdobytej "wiedzy". Sieć nauczona na pewnym wektorze danych będzie dawać wyniki dla danych nie biorących udziału w procesie uczenia. Cechy te zostały uzyskane dzięki wzorowaniu się na sposobie pracy mózgu. Dzięki badaniom nad budową i funkcjonowaniem naturalnego systemu nerwowego oraz próbom przeniesienia zaobserwowanych mechanizmów do modeli matematycznych, powstało bardzo użyteczne narzędzie, chętnie wykorzystywane w wielu zadaniach praktycznych Historia rozwoju sztucznych sieci neuronowych Prace nad poznaniem procesów zachodzących w mózgu, które mają wpływ na inteligentny sposób jego działania, były prowadzone od bardzo dawna przez wielu badaczy z całego świata. Początkiem dziedziny sztucznych sieci neuronowych było przedstawienie matematycznego modelu neuronu przez McCulloch'a i Pitts'a w 1943 roku. Ich
2 praca stała się inspiracją dla wielu późniejszych badaczy. W 1949 roku Donald Hebb odkrył, że informacja może być przechowywana jako wartość wag pomiędzy połączeniami poszczególnych neuronów i zaproponował pierwszy algorytm uczenia takiej sieci. Polegał on na zmianach wag połączeń - nazwany on został regułą Hebba. Pierwszą znaną i opisaną, działającą siecią neuronową był perceptron. Została ona opracowana przez Rossenblatt'a w 1957 roku w Cornell Aeronautical Laboratory. W 1960 roku powstała struktura Adaline, na którą składał się pojedynczy element liniowy. Jej twórcą był Bernard Widrow ze Standford University. Element Adaline po rozbudowaniu o kolejne elementy połączone ze sobą tworzyła sieć Madaline. Początkowy gwałtowny wzrost zainteresowania i postęp w tej dziedzinie został ostudzony w latach 70-tych przez publikację pracy Minsky-ego i Paperta (1969 r.) która dowodziła, że sieć składająca się z jednej warstwy liniowej ma bardzo ograniczone zastosowanie. Pomimo tego powstawało wiele nowych pomysłów i modeli sieci. Można tu wymienić sieć Cerebellatron Davida Mara (sterowanie robotem), Brain in the Box Jamesa Andersona (1977 r.) działająca jak pamięć asocjacyjna. Zastój w badaniach nad siecią został przełamany po publikacji algorytmu uczenia wielowarstwowej nieliniowej sieci neuronowej. Metoda wstecznej propagacji błędów została po raz pierwszy opisana przez Werbosa w 1974 roku, jednak jej popularyzacja nastąpiła dopiero w 1986 roku za sprawą Rumelharta. To umożliwiło konstruowanie wielowarstwowych nieliniowych sieci neuronowych i ich skuteczne uczenie. Spowodowało to powrót zainteresowania sieciami neuronowymi i dalszy szybki ich rozwój Inspiracje biologiczne Jak już wspomniano wyżej, badacze rozwijający model sieci neuronowej wzorowali się na naturalnym systemie nerwowym, szczególnie mózgu. Mózg składa się z około 10 miliardów elementarnych komórek nerwowych nazywanych neuronami. Tworzą ona bardzo skomplikowane sieci powiązań między sobą. Neurony w mózgu pracują równolegle. Poszczególne neurony składaja się z następujących części: dendrytów, perikarionu, aksonu. Dendryty są wejściami neuronu. Prowadzą sygnał od innych neuronów. Perikarion stanowi część scalającą dla sygnałów z dendrytów. Akson pełni funkcje wyjścia sygnału od neuronu do innych neuronów. Odbywa się to poprzez telodendron - rozgałęzioną strukturę transportującą sygnały wyjściowe. Nośnikiem pamięci w naturalnej sieci neuronów jest synapsa - biochemiczne złącze, modyfikujące sygnały. Na podstawie budowy biologicznej powstał model sztucznego neuronu oraz sieci neuronowej. Jest on znacznie uproszczony w stosunku do systemu biologicznego Matematyczny model sztucznego neuronu i sieci neuronowej Na podstawie obserwacji mechanizmów zachodzących w naturalnej sieci neuronów, opracowano matematyczne koncepcje sztucznych sieci neuronowych. Podobnie jak w naturalnych sieciach, składają się one z elementarnych komórek - neuronów. Zdając sobie sprawę z braku możliwości dokładnego odwzorowania naturalnych układów i budowy, badacze opracowali model sztucznego neuronu. Jego działanie można przestawić następująco: - do neuronu docierają sygnały (na wejścia neuronu), - każdy sygnał ma swoja wagę (efektywność synapsy), - w neuronie obliczana jest ważona suma wejść i odejmowana wartość progowa, - wynik sumy ważonej wprowadzany jest jako argument funkcji aktywacji, wynik funkcji jest wprowadzany na wyjście neuronu. Schemat budowy sztucznego neuronu.
3 Na tej podstawie, działanie pojedynczego neuronu można opisać następującymi wzorami: więc: Funkcja aktywacji może mieć różne postaci. Każda funkcja, aby mogła pełnić tę rolę musi być ciągła i łatwo różniczkowalna. Wyjątkiem jest perceptron, w przypadku którego funkcja aktywacji nie jest poddana tym ograniczeniom. W praktyce stosuje się najczęściej następujące funkcje: liniową, logistyczną, tangens hiperboliczny, sinus oraz signum. a) Funkcja liniowa Neurony z liniową funkcją aktywacji tworzą liniowe sieci neuronowe. Wartość ważonej sumy wejść są przepisywane na wyjście neuronu. Budowanie wielowarstwowych sieci liniowych nie jest uzasadnione, gdyż zawsze można zastąpić ją odpowiednią siecią jednowarstwową. b) Funkcja logistyczna Funkcja logistyczna jest bardzo często stosowaną funkcją aktywacji neuronu. Określona jest ona następującym wzorem: Funkcja przyjmuje wartości z przedziału (0,1). Na rys. zamieszczonym niżej widoczny jest wpływ współczynnika beta na postać funkcji aktywacji. Przebieg wartości funkcji logistycznej przy różnych wartościach współczynnika beta. c) funkcja tangens hiperboliczny
4 Równie często stosowaną funkcją przejścia jest tangens hiperboliczny. Wzór funkcji jest następujący: Funkcja tangens hiperboliczny przyjmuje wartości z przedziału (-1,1); Przebieg wartości funkcji tanh dla różnych parametrów beta. d) Funkcja sinus Dla zastosowań w sieciach neuronowych, stosuje się następującą postać: e) Funkcja signum Jednokierunkowa, wielowarstwowa sztuczna sieć neuronowa powstaje przez połączenie opisanych wyżej sztucznych neuronów. Stosowana jest przy tym zasada łączenia każdego neuronu warstwy poprzedniej z każdym neuronem warstwy następnej. Powstające w ten sposób warstwy można podzielić na: a) warstwę wejściową, b) warstwy ukryte, c) warstwę wyjściową. Schemat budowy jednokierunkowej, nieliniowej sztucznej sieci neuronowej. Działanie sieci neuronowej możne przedstawić w następujących krokach: - dane wejściowe są wprowadzane na wejścia warstwy wejściowej, - dane są propagowane na wejścia następnych warstw, aż do warstwy wyjściowej,
5 - wartości otrzymane w ostatniej, wyjściowej warstwie sieci neuronowej traktuje się jako wyjścia sieci Klasyfikacja sieci neuronowych W rozdziale 1.3 przedstawiona została budowa i sposób działania jednokierunkowej wielowarstwowej, nieliniowej sieci neuronowej. Jest to najczęściej wykorzystywany model w neurokomputingu. Trzeba jednak zauważyć, że istnieje wiele innych modeli sieci, często wyspecjalizowanych w szczegółowych typach zadań, różniących się koncepcjach nauki, innym przepływem sygnałów. Poniżej przedstawiono opisane w literaturze najważniejsze typy sieci neuronowych i ich krótką charakterystykę. Klasyfikacji sieci neuronowych dokonuje się według czterech podstawowych kryteriów: metod trenowania, kierunków propagacji sygnałów w sieci, typów funkcji przejścia, rodzajów danych wprowadzanych na wejścia. Klasyfikacja sieci według tych kryteriów wygląda następująco: Klasyfikacja sieci neuronowych. Sieci nadzorowane są często spotykanymi sieciami w wielu zastosowaniach. Ich trening polega na prezentowaniu sieci wartości wejściowych wraz z odpowiednimi, pożądanymi wartościami na wyjściach. Na tej podstawie sieć tak ustawia wartości wag, by odpowiedź mieściła się w granicy błędu określonym przez użytkownika. Sieci liniowe są stosowane raczej rzadko, ze względu na małe możliwości. Sieci jednokierunkowe nieliniowe są obecnie najczęściej stosowanymi strukturami neuronowymi. Cechują się dobrą efektywnością działania oraz prostą i intuicyjną budową. Są one również bardzo uniwersalne. Sieci rekurencyjne działają w nieco inny sposób niż sieci jednokierunkowe. Wyjścia niektórych neuronów, lub całych warstw mogą być wprowadzane ponownie na wejścia tych samych neuronów lub warstw. Sieci nie nadzorowane różnią się od sieci nadzorowanych sposobem treningu. Nie wymagają one podawania pożądanych wartości wyjściowych dla prezentowanych wejść lecz tylko wektorów wejściowych Wstępne przetwarzanie danych Sieć neuronowa do odpowiedniego działania potrzebuje poprawnie zdefiniowanych danych wejściowych. Istnieje wiele metod zapewnienia poprawności danych zależnie od ich charakteru oraz rodzaju sieci. Niezależnie od rodzaju sieci i problemu, który ma być rozwiązany, dane powinny spełniać podstawowe warunki, takie jak reprezentatywność, pełne oddanie problemu, odpowiednie przeskalowanie i normalizacja, eliminacja niedokładności pomiarów. Przeprowadzenie tych czynności jest niezbędne do poprawnego działania sieci Skalowanie i normalizacja Dane przetwarzane przez sieć pochodzą najczęściej z obserwacji pewnych wartości w badanym modelu. Ich skala wartości zazwyczaj nie na bezpośrednie wprowadzenie na wejścia sieci. Istnieje kilka popularnych metod skalowania. Poniżej wymieniono najczęściej stosowane.
6 - skalowanie względem wartości maksymalnej:, - skalowanie względem wartości średniej:, - skalowanie względem odchylenia od wartości średniej:, przeskalowanie do zakresu (-1,1), - skalowanie względem odchylenia od wartości minimalnej:, transformacja do wartości (0,1), - skalowanie względem standardowego odchylenia średniokwadratowego:. Wybór odpowiedniej metody skalowania jest uzależniony od rodzaju rozwiązywanego problemu Uczenie sieci Jedną z głównych zalet sieci neuronowej w stosunku do innych metod przetwarzania danych jest umiejętność generalizacji wiedzy, co umożliwia poprawną reakcję na sygnały nie przewidziane przez projektanta. W odróżnieniu od metod matematycznych lub algorytmicznych sieć może być wykorzystywana dla wielu różnych modeli, bez znaczących modyfikacji. Powyższe cechy mogą zostać uzyskane tylko przez zastosowanie odpowiedniego algorytmu uczenia. Istnieje wiele algorytmów uczenia sieci. Do najczęściej stosowanych zalicza się metodę wstecznej propagacji błędów i jej modyfikacje Algorytm wstecznej propagacji błędów Algorytm wstecznej propagacji błędów jest podstawowym algorytmem uczenia nadzorowanego wielowarstwowych jednokierunkowych sieci neuronowych. Polega na takiej zmianie wag sygnałów wejściowych każdego neuronu w każdej warstwie, by wartość błędu dla kolejnych par uczących zawartych w zbiorze uczącym była jak najmniejsza. Wykorzystuje on w tym celu metodę gradientową - najszybszego spadku.
7 Ogólny przebieg uczenia nadzorowanego sieci neuronowej przebiega według algorytmu przedstawionego na rys: Schemat przebiegu algorytmu wstecznej propagacji błędu. Przebieg algorytmu dla wszystkich elementów ciągu uczącego nazywa się epoką. Jak już wspomniano wyżej, sieć jest uczona poprzez odpowiednie zmiany wartości wag na wejściach poszczególnych neuronów. Aby można tego dokonać potrzebne jest określenie wartości błędów na wyjściach poszczególnych neuronów. Oblicza się je według następujących wzorów: dla warstwy k=n, ostatniej:, gdzie, jest błędem sygnału wyjściowego poszczególnego neuronu, jest sygnałem wyjściowym części liniowej neuronu - sygnał wzorcowy i-tego neuronu Dla każdej innej warstwy k, błąd wylicza się według następującego wzoru: oznaczenia: - wyjście neuronu, wij(k) - waga wejścia j w i-tym neuronie w warstwie k, n - numer okresu przebiegu algorytmu. Wyznaczanie wartości błędów odbywa się w kierunku od warstwy wyjściowej wstecz do warstwy wejściowej. Gdy błędy są wyliczone, przystępuje się do modyfikacji wartości wag, według wzoru:
8 Algorytm można więc przedstawić następująco: Działanie algorytmu kończy się, gdy osiągnięty zostanie poziom błędu wyznaczony przez użytkownika lub po przebiegu określonej liczby epok Algorytm wstecznej propagacji błędu ze współczynnikiem momentum Algorytm wstecznej propagacji błędów ma niestety kilka wad. Do najczęściej wymienianych zalicza się duża liczba iteracji potrzebna do osiągnięcia oczekiwanego wyniku oraz wrażliwość na minima lokalne funkcji błędu. Jego działanie zależy również od odpowiednio dobranego współczynnika szybkości uczenia. Zbyt mały powoduje długą pracę algorytmu a zbyt duży może powodować oscylacje. Istnieje jednak metoda zwiększania tempa uczenia bez pogorszenia jakości uczenia oraz przy mniejszej wrażliwości na minima lokalne. Jest to momentowa metoda wstecznej propagacji błędu. Modyfikacja podstawowego algorytmu polega tu na dodaniu członu, który pełni rolę współczynnika bezwładności przy modyfikacji wagi. Powoduje to większą płynność zmian oraz "przeskakiwanie" nad minimami lokalnymi. Postać po modyfikacji wygląda następująco: gdzie: jest wzorem algorytmu wstecznej propagacji błędów (BP), Alfa - współczynnik momentum. Z powyższego wzoru widać, że podstawowy człon algorytmu nie uległ zmianie. Widoczny jest człon bezwładności, o współczynniku. Powstaje on poprzez wyliczenie różnicy wagi i odpowiadającej jej wagi z poprzedniej epoki. W ten sposób każda kolejna zmiana jest uzależniona z wagą alfa od poprzedniej wartości wagi Dobór struktury sieci neuronowej Jednym z bardziej znaczących czynników, mających wpływ na parametry działania sieci, takie jak szybkość uczenia, wielkość popełnianego błędu, zdolność generalizacji, ma odpowiednio dobrana struktura sieci. Niestety nie istnieją jednoznaczne metody jej definiowania. Często nawet pozornie podobny problemy trzeba rozwiązywać za pomocą różnej pod względem struktury sieci. O ile ilość neuronów w warstwach wejściowej i wyjściowej jest determinowana przez założenia użytkownika, to ilości warstw ukrytych i neuronów, które się w nich znajdują nie są wielkościami oczywistymi.
9 Metody optymalizacji wielowarstwowej sieci neuronowej są przedmiotem badań od wielu lat. Problem ten nie jest jednak zamknięty. Opracowano dotychczas grupę algorytmów, których działanie ma pomóc w utworzeniu sieci optymalnej. Można podzielić je na trzy grupy: - metody wzrostu, - metody redukcji, - metody optymalizacji dyskretnej. Żadna z wymienionych wyżej metod nie jest idealna. Często wybór którejś z nich zależy od rodzaju rozwiązywanego problemu Metody wzrostu Algorytmy, należące do metody wzrostu zakładają, że na początku procesu optymalizacji struktura sieci powinna być możliwie mała. W kolejnych iteracjach zostają dodawane kolejne neurony ukryte, co powinno powodować zwiększenie sprawności działania sieci. Czynność ta jest powtarzana aż do osiągnięcia punktu optymalnego. Przykładowe algorytmy działające według metody wzrostu to: - algorytm kafelkowy, - dynamiczna kreacja neuronów. Algorytm kafelkowy jest stosowany do konstruowania nieliniowej, wielowarstwowej sieci neuronowej. Algorytm polega na dodawaniu kolejnych neuronów do struktury sieci. Każdy pierwszy neuron w warstwie pełni specjalną funkcję. Nazywa się go elementem głównym. Na podstawie wyniku elementu głównego warstwy ostatnio dodanej ocenia się jakość sieci. Jeżeli jakość nie jest wystarczająca, wprowadzane są kolejne neurony do warstwy. Czynność ta jest wykonywana do momentu gdy sieć nie osiągnie optymalnych parametrów struktury. Algorytm dynamicznej kreacji neuronów został zaprojektowany do optymalizacji sieci nieliniowej o jednej warstwie ukrytej. Zasada działania jest bardzo zbliżona do algorytmu kafelkowego. Przebieg działania algorytmu wygląda następująco: - utworzenie sieci początkowej o małej liczbie neuronów w warstwie ukrytej (najczęściej 2 neurony), - trenowanie sieci za pomocą algorytmu wstecznej propagacji, - dodanie neuronu do warstwy ukrytej. Czynności te są powtarzane, aż sieć osiągnie odpowiednią strukturę do rozwiązania określonego zadania Metody redukcji Algorytmy metody redukcji są równie często stosowane jak metody wzrostu. Opierają się one na założeniu, że kolejne iteracje mają zmniejszać ilość neuronów ukrytych. Wyróżnia się tu następujące metody: - metody wrażliwości, - metody analizy kowariancji. W początkowym stadium sieć neuronowa charakteryzuje się dużą złożonością strukturalną. Zostaje ona
10 redukowana aż do osiągnięcia optymalnej struktury. W metodzie wrażliwości usuwa się połączenia synaptyczne, których wagi mają najmniejszy wpływ na wynik sieci. Metoda analizy kowariancji jest zbliżona do wcześniej wymienionej metody. Analizie poddawana jest macierz kowariancji sygnałów generowanych przez neurony warstwy ukrytej. Liczba znacząco dużych wartości własnych macierzy określa liczbę neuronów, które powinny znajdować się w warstwie ukrytej Metody optymalizacji dyskretnej Algorytmy optymalizacji dyskretnej opierają się na założeniu, że proces nauki sieci i wyboru architektury zachodzą równocześnie. Czynnikiem, który zostaje poddany ocenie jest określona funkcja, reprezentująca jakość danej sieci. W kolejnych krokach sieci dobierane są tak, by dążyć do maksymalizacji funkcji jakości. Jednym z najciekawszych algorytmów optymalizacji jest algorytm genetyczny Algorytm genetyczny jako optymalizator struktury sieci Algorytmy genetyczne są szczególnie interesującą formą rozwiązywania problemów optymalizacyjnych. Podobnie jak sieci neuronowe, metodyka ta powstała na podstawie obserwacji procesów zachodzących w świecie organizmów żywych. Implementacje algorytmów genetycznych pozwoliły stwierdzić, że jest to metoda skuteczna i łatwa do zastosowania w wielu problemach optymalizacji. Podobnie jak sieć neuronowa, algorytm genetyczny nie wymaga od użytkownika znajomości szczegółów procesu optymalizacji danego zadania. Wymagane jest jedynie określenie pewnej funkcji, zwanej funkcją przystosowania, której wartość będzie maksymalizowana w kolejnych przebiegach algorytmu. Poniżej przedstawię ogólne wiadomości dotyczące modeli ewolucyjnych. Skupiono się na klasycznym algorytmie genetycznym oraz przedstawię przykładowe założenia algorytmu optymalizującego hipotetyczną siec neuronową. Zasada działania klasycznego algorytmu genetycznego Algorytm genetyczny operuje na chromosomach. Rolę tę pełni wektor o stałej długości, najczęściej składający się z wartości binarnych. Każdy z bitów wektora pełni rolę genu. Zbiór chromosomów o określonej liczności tworzy populację. Algorytm genetyczny potrzebuje zdefiniowania następujących operacji: - generacji populacji początkowej, - określenia jakości poszczególnych osobników, - reprodukcji, - mutacji, - krzyżowania. Schemat algorytmu genetycznego przedstawiono na rys:
11 Schemat klasycznego algorytmu genetycznego. Generacja populacji początkowej zaczyna proces ewolucji. Po jej wykonaniu otrzymujemy populację, składającą się z osobników o chromosomach z losowymi wartościami genów. Bardzo ważnym elementem jest określenie liczności populacji. Zbyt mała liczba osobników może prowadzić do małego przeszukania przestrzeni rozwiązań, a zbyt duża do długiego działania algorytmu. Przykładowy chromosom, o 10 genach może wyglądać następująco: Ch=(1,0,0,1,0,0,0,1,1,0). Sposób budowania określonego osobnika na podstawie chromosomu binarnego jest określany przez projektanta algorytmu. Kolejnym etapem algorytmu jest obliczenie wartości funkcji przystosowania. Określa ona jakość osobnika, opartego na wzorcu znajdującym się w chromosomie. Istnieją pewne założenia dotyczące funkcji dopasowania: - przyjmuje ona wartości większe od 0, - proces optymalizacji dąży do uzyskania maksimum funkcji przystosowania. Jeżeli wyznaczona funkcja nie spełnia powyższych warunków, powinna zostać poddana transformacji. Po obliczeniu wartości funkcji przystosowania każdego osobnika, następuje selekcja chromosomów do reprodukcji. Najprostszą i najczęściej stosowaną jest metoda ruletki. Jej sposób działania przebiega w następującej kolejności: - obliczenie sumy przystosowań wszystkich osobników, - obliczona suma stanowi całe "koło ruletki", - każdemu osobnikowi przydzielany jest wycinek koła według wzoru: - losowana jest liczba z przedziału <0,100>, - osobnik, na który wskazuje wylosowany punkt zostaje wytypowany do reprodukcji, - liczba losowań jest równa liczności populacji. W wyniku działania tej metody, wyznaczone zostają chromosomy do reprodukcji. Choć wybór jest losowy, chromosomy o wyższej wartości funkcji przystosowania mają większe prawdopodobieństwo wylosowania. Jest to bezpośrednia analogia z procesu ewolucji naturalnej. Operator krzyżowania umożliwia wymianę materiału genetycznego pomiędzy rodzicami. Z grupy wyznaczonych np. metodą ruletki chromosomów generuje się losowo pary rodziców. Jeden rodzic może powtórzyć się wiele razy (to również analogia do procesów naturalnych). Kolejnym etapem jest losowanie punktu podziału kodu genetycznego rodziców (crossing-over). Pierwszy potomek otrzymuje pierwsze n genów rodzica A i m genów rodzica B (n+m=wielkość chromosomu). Drugi potomek dziedziczy pierwsze n genów rodzica B i m genów rodzica A. Iteracja ta jest powtarzana dla każdej pary rodziców. W wyniku jej działania otrzymujemy populację potomków, która zastępuje populację rodziców.
12 Ważnym operatorem jest operator mutacji. Trzeba zaznaczyć, że mutacja nie ma za zadanie polepszyć jakość osobników, lecz zwiększyć różnorodność genetyczną. Metoda działania operatora mutacji jest bardzo prosta - losowana jest liczba z przedziału <1,n> gdzie n jest liczbą genów w chromosomie. Po wylosowaniu liczby gen, o numerze jej odpowiadającym jest przekłamywany - jeśli miał wartość 1 to jest ona zmieniana na 0 i odwrotnie. Operacja mutacji nie powinna przebiegać zbyt często. Zakłada się, analogicznie do procesów naturalnych, bardzo małe prawdopodobieństwo jej wystąpienia. Powinna być ona przeprowadzona na populacji potomków. Wszystkie opisane wyżej czynności wykonujemy do chwili osiągnięcia warunku stopu. Najczęściej określa się go jako określoną liczbę powtórzeń (pokoleń). Gdy algorytm zatrzyma się, najlepszy osobnik ostatniego pokolenia przyjmowany jest jako rozwiązanie problemu optymalizacyjnego. Nie istnieje gwarancja, że jest to rozwiązanie optymalne. Praktyka pokazuje jednak, że przy odpowiednio dobranej liczności populacji, ilości pokoleń i odpowiednio dobranym prawdopodobieństwem mutacji uzyskuje się bardzo dobre wyniki. Założenia dotyczące algorytmu genetycznego, wykorzystanego do optymalizacji hipotetycznej sieci neuronowej. Jak wspomniałem wcześniej, algorytm genetyczny dokonuje operacji na osobnikach pewnej populacji, dokładniej mówiąc na chromosomach poszczególnych osobników poprzez standardowe operatory genetyczne. Podstawowymi elementami, które trzeba zaprojektować implementując algorytm genetyczny, są: - określenie postaci funkcji celu, - sposób kodowania poszczególnych sieci neuronowych w chromosomy, - określenie liczności populacji, - określenie prawdopodobieństwa wystąpienia mutacji i inwersji. W zadaniu optymalizacji struktury sieci, jako cel wybrałem liczbę epok potrzebną do trenowania danej sieci przy wzięciu pod uwagę złożoności jej struktury. Ewolucja dąży więc do maksymalizacji następującej funkcji: gdzie: le - liczba epok, ln - liczba neuronów. Model taki przyjąłem na podstawie własnych symulacji. Testy wykazały, że żaden z tych elementów oddzielnie nie pozwala na otrzymanie optymalnej sieci. Często sieć o bardziej złożonej strukturze wykazuje nieco lepsze właściwości treningu niż sieć mniejsza, lecz nie są one proporcjonalne do złożoności obliczeniowej. Sensownym więc wydaje się poddać minimalizacji oba czynniki, co powinno przy dostatecznie długim, w sensie pokoleniowym czasie, pozwolić na otrzymanie sieci o optymalnych parametrach. Postać odwrotną funkcji zastosowano w celu zgodności z klasycznym algorytmem genetycznym, w którym optymalizacja polega na maksymalizacji funkcji celu. Kolejnym elementem algorytmu genetycznego, który należy dobrać podczas implementacji jest liczność populacji. Zbyt duża powoduje wydłużenie czasu działania algorytmu a zbyt mała nie zapewnia dostatecznej różnorodności genetycznej. Ja stosuję liczność populacji równą 20. Kolejnym ważnym elementem jest sposób kodowania chromosomów, opisujących strukturę sieci. Zgodnie z założeniami klasycznego algortymu genetycznego przyjmuję kodowanie binarne. Można przyjąć następujące
13 rozwiązanie : każdy chromosom składa się z 21 bitów, po 7 bitów na każdą warstwę ukrytą sieci (przy założeniu struktury 3 warstw ukrytych sieci - a jak wynika z doświadczeń ludzi zajmujących się tymi tematami, taka złożoność wystarcza w większości problemów, max po 128 neuronów na warstwę). Warstwa wejściowa i wyjściowa nie są kodowane, gdyż ich rozmiar jest determinowany przez dane uczące oraz charakter problemu. Liczba neuronów w danej warstwie jest obliczana poprzez konwersje liczby z reprezentacji bitowej na dziesiętną. Ostatnim parametrem, który musi zostać określony na etapie implementacji to wielkość prawdopodobieństwa wystąpienia operacji genetycznych. Mogą być to następujące wielkości prawdopodobieństw : - operacja krzyżowania - 1, - operacja mutacji - 0,01, - operacja inwersji - 0,001. Pozostałe elementy algorytmu, wykorzystanego do optymalizacji sieci są zgodne z założeniami klasycznego algorytmu genetycznego. 2. Prezentacja i analiza wyników predykcji notowań giełdowych indeksu WIG20 Przejdę teraz do pokazania efektywności zastosowania wielowarstwowej, nieliniowej sieci neuronowej do predykcji ciągów niedeterministycznych. Badanie zostało wykonane przy wykorzystaniu opracowanej specjalnie do tego celu aplikacji (prawdopodobnie niebawem zamieszczę w sieci - muszę tylko zlokalizować płytkę ze źródłami, więc proszę o cierpliwość). Trzeba na tym etapie podkreślić, że wielowarstwowa sieć nieliniowa jest siecią "ogólnego przeznaczenia" - można zastosować specjalizowane architektury i sprawić, że predykcja da jeszcze lepsze wyniki. Do predykcji notowań WIG20 wykorzystana została sieć o architekturze , czyli 50 wejść, 25 neuronów w warstwie pierwszej, 10 w drugiej oraz jedno wyjście. Sieć została poddana treningowi o następujących parametrach: - współczynnik uczenia = 0,3, - współczynnik momentu= 0,9, - dopuszczalny błąd epoki=0,01. Zbiór uczący składał się z 200 par uczących. Każda para zawierała 50 kolejnych notowań historycznych indeksu WIG20. Dane zostały przeskalowane metodą odchylenia od średniej. Trenowanie trwało 2934 epok. Po treningu wykonano predykcję o horyzoncie 38 okresów. Wynik predykcji przedstawiono na rys. Wynik predykcji notowań WIG20 i wartości rzeczywistych.
14 W celu dokonania analizy jakości predykcji wykonane zostały testy, porównujące wyniki uzyskane za pomocą sieci neuronowej z metodami funkcji trendu oraz przeprowadzono pomiary błędów oraz wyników testów. Jako pierwsze przeprowadzono porównanie wyników z metodami analizy funkcji trendu. Wykorzystano model liniowy i wielomianowy. Wynik przedstawiono na rys a szczegółowe wyniki w tabeli pod ilustracją: Porównanie wyników predykcji metodami sztucznej sieci neuronowej oraz trendem liniowym i wielomianowym z danymi rzeczywistymi. Wartości indeksu WIG20 w kolejnych okresach otrzymane przy zastosowaniu różnych metod predykcji. Wykres ukazuje zupełną nieprzydatność do tego zadania liniowego modelu funkcji trendu. Wartości, uzyskane metodą trendu wielomianowego się o wiele lepsze. Aby wskazać, która z wybranych metod daje najlepszą skuteczność w badanym okresie przeprowadzono wyliczenia. Jako pierwsze wyliczono podstawowe parametry. Wyniki przedstawiono w tabeli Wyniki testów dla różnych metod predykcji. Z wyników zamieszczonych w tabeli widać znaczną przewagę sieci neuronowej nad pozostałymi metodami oceny trendu. Każdy parametr jest korzystniejszy w przypadku sieci neuronowej. Wyniki uzyskane dzięki sieci oscylują cały czas wokół wartości rzeczywistych. Kolejnym badaniem jest analiza współczynnika zgodności kierunków zmian, który określa odsetek przypadków, w których kierunek rzeczywisty zmian jest zgodny z kierunkiem zmian zmiennych prognozowanych. Współczynnik ten mówi, w jakim stopniu dana metoda może być wykorzystana w celu wspomagania podejmowania decyzji. Aby uznać daną metodę za przydatną do tego celu, miernik musi mieć wartość większą niż 50%. Wartość miernika wylicza się z następującego wzoru: gdzie: Uzyskane wyniki są nastepujące:
15 Wyniki testu zgodności kierunków zmian. Widać więc, że sieć umożliwia lepszą skuteczność również w tym teście. Z powyższych testów 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 wejściowy podda się operacjom wstępnej obróbki. Trzeba jednak pamiętać, że metodyka oparta na sieciach neuronowych, implementowana w systemach komputerowych, charakteryzuje się znaczną złożonością obliczeniową. Bibliografia 1. Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R.: Biocybernetyka i inżynieria biomedyczna Sieci neuronowe, Exit, Warszawa Gwiazda T.: Algorytmy genetyczne, WSPiZ, Warszawa Grad L.: Materiały do wykładów z przedmiotu Metody sztucznej inteligencji w zarządzaniu, WSISiZ (chyba dostepne są jeszcze na stronach studentów wsisiz) 4. Goldberg D. E., Algorytmy genetyczne i ich zastosowanie, tłum. K. Grygiel, wyd. 2, Wydawnictwo Nauowo- Techniczne, Warszawa Tadeusiewicz R., Sieci neuronowe, Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie, Rutkowska D., Rutkowski L., Piliński M., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, Wydawnictwo Naukowe PWN, Warszawa Źródło: 4programmers.net. Treść udostępniona na zasadach licencji Creative Commons Attribution Autor: brodzinski Artykuł pobrano ze strony eioba.pl
1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda
Sieci neuropodobne 1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN Agenda Trochę neurobiologii System nerwowy w organizmach żywych tworzą trzy
Bardziej szczegółowoSCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
Bardziej szczegółowoZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE
ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE INSTYTUT TECHNOLOGII MECHANICZNEJ Metody Sztucznej Inteligencji Sztuczne Sieci Neuronowe Wstęp Sieci neuronowe są sztucznymi strukturami, których
Bardziej szczegółowoSztuczna Inteligencja Tematy projektów Sieci Neuronowe
PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia
Bardziej szczegółowoAlgorytm genetyczny (genetic algorithm)-
Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie
Bardziej szczegółowoPLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA
PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana
Bardziej szczegółowoWstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.
Wstęp do teorii sztucznej inteligencji Wykład II Uczenie sztucznych neuronów. 1 - powtórzyć o klasyfikacji: Sieci liniowe I nieliniowe Sieci rekurencyjne Uczenie z nauczycielem lub bez Jednowarstwowe I
Bardziej szczegółowoLiteratura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu
Literatura Wykład : Wprowadzenie do sztucznych sieci neuronowych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Tadeusiewicz R: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa
Bardziej szczegółowoIMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ
IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ Celem ćwiczenia jest zapoznanie się ze sposobem działania sieci neuronowych typu MLP (multi-layer perceptron) uczonych nadzorowaną (z nauczycielem,
Bardziej szczegółowoWstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.
Wstęp do teorii sztucznej inteligencji Wykład III Modele sieci neuronowych. 1 Perceptron model najprostzszy przypomnienie Schemat neuronu opracowany przez McCullocha i Pittsa w 1943 roku. Przykład funkcji
Bardziej szczegółowoSieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ
optymalizacje podejmowanych decyzji Tomasz Karczyoski Wydział W-08 IZ Czym są sieci neuronowe Struktura matematycznych oraz programowy lub sprzętowy model, realizujących obliczenia lub przetwarzanie sygnałów
Bardziej szczegółowoTemat: Sieci neuronowe oraz technologia CUDA
Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w
Bardziej szczegółowoPodstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12
Bardziej szczegółowoInteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe
Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Trening jednokierunkowych sieci neuronowych wykład 2. dr inż. PawełŻwan Katedra Systemów Multimedialnych Politechnika Gdańska
Bardziej szczegółowo6. Klasyczny algorytm genetyczny. 1
6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu
Bardziej szczegółowowiedzy Sieci neuronowe
Metody detekcji uszkodzeń oparte na wiedzy Sieci neuronowe Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 7 Wprowadzenie Okres kształtowania się teorii sztucznych sieci
Bardziej szczegółowoAlgorytmy genetyczne
Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą
Bardziej szczegółowoZadanie 5 - Algorytmy genetyczne (optymalizacja)
Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania
Bardziej szczegółowoUczenie sieci typu MLP
Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik
Bardziej szczegółowoMetody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści
Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, 2012 Spis treści Przedmowa do wydania drugiego Przedmowa IX X 1. Wstęp 1 2. Wybrane zagadnienia sztucznej inteligencji
Bardziej szczegółowoAlgorytmy genetyczne
9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom
Bardziej szczegółowoMetody Sztucznej Inteligencji II
17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału
Bardziej szczegółowoWstęp do sztucznych sieci neuronowych
Wstęp do sztucznych sieci neuronowych Michał Garbowski Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 15 grudnia 2011 Plan wykładu I 1 Wprowadzenie Inspiracja biologiczna
Bardziej szczegółowoSztuczne sieci neuronowe
www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja różnych rodzajów sztucznych sieci neuronowych. Biologiczny model neuronu Mózg człowieka składa się z około 10 11 komórek nerwowych,
Bardziej szczegółowoZastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)
Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2) Ewa Wołoszko Praca pisana pod kierunkiem Pani dr hab. Małgorzaty Doman Plan tego wystąpienia Teoria Narzędzia
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Zapoznanie studentów z inteligentnymi
Bardziej szczegółowoTemat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: Sztuczne Sieci Neuronowe Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sztuczne sieci neuronowe
Bardziej szczegółowoAlgorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba
Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów
Bardziej szczegółowoZagadnienia optymalizacji i aproksymacji. Sieci neuronowe.
Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI
Bardziej szczegółowoAlgorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych
Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w
Bardziej szczegółowoAproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Bardziej szczegółowoObrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego
IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,
Bardziej szczegółowoUczenie sieci neuronowych i bayesowskich
Wstęp do metod sztucznej inteligencji www.mat.uni.torun.pl/~piersaj 2009-01-22 Co to jest neuron? Komputer, a mózg komputer mózg Jednostki obliczeniowe 1-4 CPU 10 11 neuronów Pojemność 10 9 b RAM, 10 10
Bardziej szczegółowoAlgorytmy genetyczne w interpolacji wielomianowej
Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego
Bardziej szczegółowoPrognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.
Metody Sztucznej Inteligencji 2 Projekt Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Autorzy: Robert Wojciechowski Michał Denkiewicz Mateusz Gągol Wstęp Celem projektu
Bardziej szczegółowoALGORYTMY GENETYCZNE ćwiczenia
ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację
Bardziej szczegółowoZadania laboratoryjne i projektowe - wersja β
Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki
Bardziej szczegółowoAlgorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta
Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa
Bardziej szczegółowoOprogramowanie Systemów Obrazowania SIECI NEURONOWE
SIECI NEURONOWE Przedmiotem laboratorium jest stworzenie algorytmu rozpoznawania zwierząt z zastosowaniem sieci neuronowych w oparciu o 5 kryteriów: ile zwierzę ma nóg, czy żyje w wodzie, czy umie latać,
Bardziej szczegółowoOptymalizacja optymalizacji
7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja
Bardziej szczegółowo8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Bardziej szczegółowoSIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe
SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe JOANNA GRABSKA-CHRZĄSTOWSKA Wykłady w dużej mierze przygotowane w oparciu o materiały i pomysły PROF. RYSZARDA TADEUSIEWICZA BUDOWA RZECZYWISTEGO NEURONU
Bardziej szczegółowoAlgorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009
Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.
Bardziej szczegółowoAlgorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć
Bardziej szczegółowoWYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)
WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO Stanisław Kowalik (Poland, Gliwice) 1. Wprowadzenie Wstrząsy podziemne i tąpania występujące w kopalniach
Bardziej szczegółowow analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Bardziej szczegółowoOptymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Bardziej szczegółowoStrefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek
Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę
Bardziej szczegółowoStrategie ewolucyjne (ang. evolu4on strategies)
Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje
Bardziej szczegółowoAlgorytmy genetyczne w optymalizacji
Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy
Bardziej szczegółowoNajprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;
Sieci Hopfielda Najprostsze modele sieci z rekurencją sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Modele bardziej złoŝone: RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie
Bardziej szczegółowoSztuczne sieci neuronowe (SNN)
Sztuczne sieci neuronowe (SNN) Pozyskanie informacji (danych) Wstępne przetwarzanie danych przygotowanie ich do dalszej analizy Selekcja informacji Ostateczny model decyzyjny SSN - podstawy Sieci neuronowe
Bardziej szczegółowoInteligentne systemy informacyjne
Inteligentne systemy informacyjne Moduł 10 Mieczysław Muraszkiewicz www.icie.com.pl/lect_pw.htm M. Muraszkiewicz strona 1 Sieci neuronowe szkic Moduł 10 M. Muraszkiewicz strona 2 Dwa nurty M. Muraszkiewicz
Bardziej szczegółowoPodstawy sztucznej inteligencji
wykład 5 Sztuczne sieci neuronowe (SSN) 8 grudnia 2011 Plan wykładu 1 Biologiczne wzorce sztucznej sieci neuronowej 2 3 4 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką,
Bardziej szczegółowoKARTA MODUŁU KSZTAŁCENIA
KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy oólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK
Bardziej szczegółowoI EKSPLORACJA DANYCH
I EKSPLORACJA DANYCH Zadania eksploracji danych: przewidywanie Przewidywanie jest podobne do klasyfikacji i szacowania, z wyjątkiem faktu, że w przewidywaniu wynik dotyczy przyszłości. Typowe zadania przewidywania
Bardziej szczegółowoInteligentne systemy przeciw atakom sieciowym
Inteligentne systemy przeciw atakom sieciowym wykład Sztuczne sieci neuronowe (SSN) Joanna Kołodziejczyk 2016 Joanna Kołodziejczyk Inteligentne systemy przeciw atakom sieciowym 2016 1 / 36 Biologiczne
Bardziej szczegółowoRozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak
2 Rozdział 1 Sztuczne sieci neuronowe. 3 Sztuczna sieć neuronowa jest zbiorem prostych elementów pracujących równolegle, których zasada działania inspirowana jest biologicznym systemem nerwowym. Sztuczną
Bardziej szczegółowoWidzenie komputerowe
Widzenie komputerowe Uczenie maszynowe na przykładzie sieci neuronowych (3) źródła informacji: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT 1996 Zdolność uogólniania sieci neuronowej R oznaczenie
Bardziej szczegółowoPROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**
Górnictwo i Geoinżynieria Rok 31 Zeszyt 3 2007 Dorota Pawluś* PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH** 1. Wstęp Eksploatacja górnicza złóż ma niekorzystny wpływ na powierzchnię
Bardziej szczegółowoAlgorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,
Bardziej szczegółowoDobór parametrów algorytmu ewolucyjnego
Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.
Bardziej szczegółowoAlgorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.
Algorytmy genetyczne jako metoda wyszukiwania wzorców Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Marcin Borkowski Krótko i na temat: Cel pracy Opis modyfikacji AG Zastosowania
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium BIOCYBERNETYKA Biocybernetics Forma studiów:
Bardziej szczegółowoSieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści
Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, 2013 Spis treści Przedmowa 7 1. Wstęp 9 1.1. Podstawy biologiczne działania neuronu 9 1.2. Pierwsze modele sieci neuronowej
Bardziej szczegółowoSieci neuronowe w Statistica
http://usnet.us.edu.pl/uslugi-sieciowe/oprogramowanie-w-usk-usnet/oprogramowaniestatystyczne/ Sieci neuronowe w Statistica Agnieszka Nowak - Brzezińska Podstawowym elementem składowym sztucznej sieci neuronowej
Bardziej szczegółowoMODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl dwojcik@swps.edu.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/
Bardziej szczegółowoWykład 1: Wprowadzenie do sieci neuronowych
Wykład 1: Wprowadzenie do sieci neuronowych Historia badań nad sieciami neuronowymi. - początki: badanie komórek ośrodkowego układu nerwowego zwierząt i człowieka, czyli neuronów; próby wyjaśnienia i matematycznego
Bardziej szczegółowoID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu ID1SII4 Nazwa modułu Systemy inteligentne 1 Nazwa modułu w języku angielskim Intelligent
Bardziej szczegółowoSIECI REKURENCYJNE SIECI HOPFIELDA
SIECI REKURENCYJNE SIECI HOPFIELDA Joanna Grabska- Chrząstowska Wykłady w dużej mierze przygotowane w oparciu o materiały i pomysły PROF. RYSZARDA TADEUSIEWICZA SPRZĘŻENIE ZWROTNE W NEURONIE LINIOWYM sygnał
Bardziej szczegółowoBudowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego
Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego Dorota Witkowska Szkoła Główna Gospodarstwa Wiejskiego w Warszawie Wprowadzenie Sztuczne
Bardziej szczegółowoOdkrywanie algorytmów kwantowych za pomocą programowania genetycznego
Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis
Bardziej szczegółowoZastosowania sieci neuronowych
Zastosowania sieci neuronowych aproksymacja LABORKA Piotr Ciskowski zadanie 1. aproksymacja funkcji odległość punktów źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.4, str. 137 Naucz sieć taką
Bardziej szczegółowoMETODY INŻYNIERII WIEDZY
METODY INŻYNIERII WIEDZY SZTUCZNE SIECI NEURONOWE MLP Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii
Bardziej szczegółowoAlgorytmy ewolucyjne NAZEWNICTWO
Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne
Bardziej szczegółowoTestowanie modeli predykcyjnych
Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności
Bardziej szczegółowoPrzetworniki cyfrowo analogowe oraz analogowo - cyfrowe
Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo / analogowe W cyfrowych systemach pomiarowych często zachodzi konieczność zmiany sygnału cyfrowego na analogowy, np. w celu
Bardziej szczegółowoBadacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.
Naśladując w komputerze ludzki mózg staramy się połączyć zalety komputera (dostępność i szybkość działania) z zaletami mózgu (zdolność do uczenia się) informatyka + 2 Badacze zbudowali wiele systemów technicznych,
Bardziej szczegółowoSztuczne sieci neuronowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Sztuczne sieci neuronowe Sztuczne sieci neuronowe Wprowadzenie Trochę historii Podstawy działania Funkcja aktywacji Typy sieci 2 Wprowadzenie Zainteresowanie
Bardziej szczegółowoInteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe
Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe wykład 1. Właściwości sieci neuronowych Model matematyczny sztucznego neuronu Rodzaje sieci neuronowych Przegląd d głównych g
Bardziej szczegółowoSieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska
Sieci neuronowe w Statistica Agnieszka Nowak - Brzezioska Podstawowym elementem składowym sztucznej sieci neuronowej jest element przetwarzający neuron. Schemat działania neuronu: x1 x2 w1 w2 Dendrites
Bardziej szczegółowowiedzy Sieci neuronowe (c.d.)
Metody detekci uszkodzeń oparte na wiedzy Sieci neuronowe (c.d.) Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 8 Metody detekci uszkodzeń oparte na wiedzy Wprowadzenie
Bardziej szczegółowoAutomatyczny dobór parametrów algorytmu genetycznego
Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja
Bardziej szczegółowosynaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.
Sieci neuronowe model konekcjonistyczny Plan wykładu Mózg ludzki a komputer Modele konekcjonistycze Perceptron Sieć neuronowa Uczenie sieci Sieci Hopfielda Mózg ludzki a komputer Twój mózg to 00 000 000
Bardziej szczegółowoProgram "FLiNN-GA" wersja 2.10.β
POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika
Bardziej szczegółowoALGORYTMY GENETYCZNE (wykład + ćwiczenia)
ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja
Bardziej szczegółowoProgramowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
Bardziej szczegółowoAlgorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane
Bardziej szczegółowoSieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ 2008/2009. Sieci Neuronowe. Wykład 11 Algorytmy genetyczne; Systemy rozmyte
Sieci Neuronowe Wykład 11 Algorytmy genetyczne; Systemy rozmyte wykład przygotowany na podstawie. S. Osowski, Sieci Neuronowe w ujęciu algorytmicznym, Rozdz. 4, PWNT, Warszawa 1996. W. Duch, J. Korbicz,
Bardziej szczegółowoGenerowanie i optymalizacja harmonogramu za pomoca
Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska
Bardziej szczegółowoBIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej BIOCYBERNETYKA Adrian Horzyk SIECI NEURONOWE www.agh.edu.pl Mózg inspiruje nas od wieków Co takiego
Bardziej szczegółowoElementy kognitywistyki III: Modele i architektury poznawcze
Elementy kognitywistyki III: Modele i architektury poznawcze Wykład III: Psychologiczne modele umysłu Gwoli przypomnienia: Kroki w modelowaniu kognitywnym: teoretyczne ramy pojęciowe (modele pojęciowe)
Bardziej szczegółowoSieć przesyłająca żetony CP (counter propagation)
Sieci neuropodobne IX, specyficzne architektury 1 Sieć przesyłająca żetony CP (counter propagation) warstwa Kohonena: wektory wejściowe są unormowane jednostki mają unormowane wektory wag jednostki są
Bardziej szczegółowoLABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania
Bardziej szczegółowoALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar
Bardziej szczegółowo1. Logika, funkcje logiczne, preceptron.
Sieci neuronowe 1. Logika, funkcje logiczne, preceptron. 1. (Logika) Udowodnij prawa de Morgana, prawo pochłaniania p (p q), prawo wyłączonego środka p p oraz prawo sprzeczności (p p). 2. Wyraź funkcję
Bardziej szczegółowoUczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0
Uczenie się pojedynczego neuronu W0 X0=1 W1 x1 W2 s f y x2 Wp xp p x i w i=x w+wo i=0 Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z=0 Wówczas: W 1 x 1 + w 2 x 2 + = 0 Algorytm
Bardziej szczegółowoRozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Bardziej szczegółowoSztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW
Sztuczne Sieci Neuronowe Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW SN są częścią dziedziny Sztucznej Inteligencji Sztuczna Inteligencja (SI) zajmuje się
Bardziej szczegółowo