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
SCHEMAT 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
ZACHODNIOPOMORSKI 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
Sztuczna 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
Algorytm 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
PLAN 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
Wstę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
Literatura. 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
IMPLEMENTACJA 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,
Wstę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
Sieci 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
Temat: 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
Podstawy 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
Inteligentne 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
6. 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
wiedzy 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
Algorytmy 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żą
Zadanie 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
Uczenie 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
Metody 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
Algorytmy 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
Metody 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
Wstę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
Sztuczne 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,
Zastosowanie 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
PRZEWODNIK 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
Temat: 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
Algorytmy 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
Zagadnienia 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
Algorytm 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
Aproksymacja 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ą
Obrona 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,
Uczenie 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
Algorytmy 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
Prognozowanie 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
ALGORYTMY 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ę
Zadania 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
Algorytm 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
Oprogramowanie 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ć,
Optymalizacja 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
8. 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
SIECI 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
Algorytmy 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.
Algorytmy 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ęć
WYKORZYSTANIE 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
w 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ą
Optymalizacja 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
Strefa 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ę
Strategie 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
Algorytmy 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
Najprostsze 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
Sztuczne 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
Inteligentne 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
Podstawy 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ą,
KARTA 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
PRZEWODNIK 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
I 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
Inteligentne 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
Rozdział 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ą
Widzenie 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
PROGNOZOWANIE 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ę
Algorytmy 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,
Dobó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.
Algorytmy 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
PRZEWODNIK 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:
Sieci 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
Sieci 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
MODELOWANIE 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/
Wykł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
ID1SII4. 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
SIECI 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ł
Budowa 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
Odkrywanie 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
Zastosowania 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ą
METODY 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
Algorytmy 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
Testowanie 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
Przetworniki 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
Badacze 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,
Sztuczne 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
Inteligentne 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
Sieci 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
wiedzy 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
Automatyczny 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
synaptycznych 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
Program "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
ALGORYTMY 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
Programowanie 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
Algorytmy 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
Sieci 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,
Generowanie 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
BIOCYBERNETYKA 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
Elementy 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)
Sieć 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ą
LABORATORIUM 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
ALGORYTMY 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
1. 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ę
Uczenie 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
Rozdział 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
Sztuczne 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ę