Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sieci neuronowe w Statistica

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Zastosowania sieci neuronowych

Projekt Sieci neuronowe

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

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

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Sztuczne sieci neuronowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Metody Sztucznej Inteligencji II

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

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

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

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

Uczenie sieci neuronowych i bayesowskich

Podstawy Sztucznej Inteligencji (PSZT)

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

Inteligentne systemy przeciw atakom sieciowym

I EKSPLORACJA DANYCH

Podstawy sztucznej inteligencji

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

Elementy inteligencji obliczeniowej

Uczenie sieci typu MLP

Testowanie modeli predykcyjnych

Wstęp do sztucznych sieci neuronowych

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Temat: Sieci neuronowe oraz technologia CUDA

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Sztuczne siei neuronowe - wprowadzenie

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Zastosowanie sztucznych sieci neuronowych do modelowania procesów azotowania próżniowego stali narzędziowych

SIECI RBF (RADIAL BASIS FUNCTIONS)

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Zastosowania sieci neuronowych

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

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.

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

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

ZASTOSOWANIE SIECI NEURONOWYCH DO OPTYMALIZACJI WARUNKÓW OBRÓBKI CIEPLNEJ STOPÓW Mg-Al

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

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

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Wprowadzenie do analizy korelacji i regresji

wiedzy Sieci neuronowe

Widzenie komputerowe

Emergentne właściwości. sztucznych sieci neuronowych

Optymalizacja optymalizacji

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

Podstawy Sztucznej Inteligencji

REGRESJA I KORELACJA MODEL REGRESJI LINIOWEJ MODEL REGRESJI WIELORAKIEJ. Analiza regresji i korelacji

Definicja perceptronu wielowarstwowego

Sztuczne sieci neuronowe (SNN)

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

Algorytmy sztucznej inteligencji

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

Sztuczna inteligencja

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Agnieszka Nowak Brzezińska

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

METODY INŻYNIERII WIEDZY

PROGNOZOWANIE PORÓWNAWCZE ENERGII PROCESOWEJ ZESTAWÓW MASZYN DO ROBÓT ZIEMNYCH JAKO CZYNNIKA RYZYKA EMISYJNOŚCI CO2

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie:

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Analiza składowych głównych. Wprowadzenie

Regresja wielokrotna jest metodą statystyczną, w której oceniamy wpływ wielu zmiennych niezależnych (X1, X2, X3,...) na zmienną zależną (Y).

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Seminarium magisterskie. Dyskusja nad tematem pracy magisterskiej pisanej pod kierunkiem pani Dr hab. Małgorzaty Doman

Optymalizacja ciągła

Sieć przesyłająca żetony CP (counter propagation)

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

MODELOWANIE RZECZYWISTOŚCI

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

ĆWICZENIE 5: Sztuczne sieci neuronowe

6. Perceptron Rosenblatta

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

wiedzy Sieci neuronowe (c.d.)

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

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

1. Logika, funkcje logiczne, preceptron.

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

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

WIELOCZUJNIKOWE NADZOROWANIE STANU NARZĘDZI

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

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

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

WYKORZYSTANIE SIECI NEURONOWYCH DO ODWZOROWANIA DEFORMACJI POWIERZCHNI NA TERENACH GÓRNICZYCH

Sztuczne sieci neuronowe w analizie procesów odlewniczych

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

Transkrypt:

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 to struktury matematyczne, których zasada działania jest uproszczonym odwzorowaniem działania ludzkiego mózgu. Sztuczna sieć neuronowa składa się z zespołu powiązanych ze sobą komórek (neuronów) równolegle przetwarzających informacje. Rysunek 1 Model sztucznego neuronu Neuron posiada określoną ilość sygnałów wejściowych x 1 - x i,, z którymi powiązane są wagi połączeń synaptycznych w 1 -w i. Neuron posiada również wartość progową aktywacji w 0, dla której sygnał wejściowy x 0 =1 (tzw. bias). Neuron oblicza ważoną sumę swoich wejść, a wyznaczony w ten sposób poziom pobudzenia s staje się argumentem funkcji przejścia (funkcji aktywacji), która oblicza wartość wyjściową neuronu. Mnożenie sygnałów wejściowych przez wagi synaptyczne jest odpowiednikiem naturalnego procesu wzmacniania lub osłabiania impulsów przez synapsy. s w x w i Funkcja aktywacji decyduje o możliwościach uczenia się neuronu lub rozpoznawania przez niego wzorców. Wykaz najpopularniejszych nieliniowych funkcji aktywacji został przedstawiony w Tabela 1. Modyfikacja wartości wag synaptycznych za pomocą odpowiedniego algorytmu, umożliwia uczenie sztucznego neuronu. Współczynniki wagowe stanowią źródło wiedzy, inteligencji neuronu. Im większa jest wartość wagi przypisanej do połączenia danej zmiennej wejściowej, tym dana zmienna jest istotniejsza [10]. Tabela 1. Wykaz najpopularniejszych nieliniowych funkcji aktywacji 0 n i 1 i y f(s) (1) Funkcja progowa (unipolarna dyskretna) Funkcja sigmoidalna (unipolarna ciągła) Funkcja signum (bipolarna dyskretna) Funkcja tangesoidalna (bipolarna ciągła) 0 y 1 gdy gdy s 0 s 0 1 y 1 exp( s) 1 y 1 gdy gdy s 0 s 0 1 exp( s) y 1 exp( s)

Sieć neuronowa składa się z połączeń wielu neuronów ułożonych w warstwy. Warstwa pierwsza to warstwa wejściowa, która nie wykonuje żadnych obliczeń, a jej zadanie ogranicza się do podawania sygnału wejściowego na kolejne warstwy. Są warstwy pośrednie (tzw. ukryte). Ilość warstw ukrytych zależy od stopnia złożoności modelowanej funkcji. Większość istniejących rozwiązań wykorzystuje jedną warstwę ukrytą. Zazwyczaj każdy neuron warstwy poprzedniej połączony jest ze wszystkimi neuronami warstwy następnej. Neurony w ramach jednej warstwy nie są ze sobą połączone. Warstwa wyjściowa to warstwa zwracająca wynik działania sieci dla analizowanych parametrów wyjściowych. Przesyłanie sygnałów w sieci, najczęściej odbywa się w kierunku od wejścia do wyjścia - bez sprzężeń zwrotnych. Istnieje wiele typów i rodzajów sieci neuronowych, różniących się między sobą strukturą i zasadami działania, najpopularniejszą jest architektura sieciowa związana z koncepcją wielowarstwowego perceptronu (MLP Multi Layer Perceptron). Rysunek 2 Model jednowarstwowej sieci neuronowej Odpowiednio zaprojektowane sieci neuronowe potrafią samodzielnie sformułować zależności występujące pomiędzy parametrami zjawiska podczas procesu uczenia, na podstawie empirycznych przypadków. Proces uczenia jest procesem iteracyjnym, powtarzanym wielokrotnie, krok po kroku, którego zasadniczym celem jest optymalizacja parametrów sieci, tj. współczynników wagowych. Rysunek 3 Cel uczenia: wartości wyjściowe sieci mają być zgodne z wartościami rzeczywistymi (zawartymi w zbiorze uczącym)

Każda ze zmiennych wprowadzanych na wejściu sieci początkowo dostaje losowo przydzieloną wagę, czyli siłę jej wpływu na wartość zmiennej wyjściowej. Współczynniki wagowe ustalane są w procesie uczenia, co stanowi źródło wiedzy, inteligencji neuronu. Im większa jest wartość wagi, tym dana zmienna jest istotniejsza. Rysunek 4 Schemat procesu uczenia sieci neuronowej Odległość pomiędzy rzeczywistą a pożądaną odpowiedzią sieci jest miarą błędu używaną do korekcji wag sieci. Typowym przykładem jest uczenie sieci wielowarstwowej algorytmem wstecznej propagacji błędu; każdy neuron lokalnie zmniejsza swój błąd stosując metodę spadku gradientu. W procesie uczenia cały zbiór danych empirycznych dzielony jest na trzy podzbiory, które odpowiadają za określone czynności: Zbiór uczący modyfikacja wag; Zbiór testowy bieżące monitorowanie procesu uczenia; Zbiór walidacyjny ocena sieci po zakończeniu uczenia. Rysunek 5 Podział zbioru danych empirycznych Głównym sposobem korzystania z sieci neuronowej jest tworzenie modeli, czyli sformalizowanej struktury, odwzorowującej pewien proces, czy zjawisko. Jedną z bardzo istotnych kwestii jest odpowiedni zestaw danych empirycznych opisujących dane zjawisko.

2 Na proces budowy modelu składają się następujące etapy: 1. określenie zmiennych objaśniających i zmiennych objaśnianych; 2. wybór typu i określenie struktury sieci neuronowej; 3. uczenie sieci neuronowej; 4. ocena modelu sieci. Różnorodność istniejących typów sieci neuronowych, a także duża liczba parametrów (wielkość sieci, sposób uczenia, dobór funkcji aktywacji) jest często przyczyną trudności przy wyborze najlepszego rozwiązania. STATISTICA Automatyczne Sieci Neuronowe (SANN) może wspomóc użytkownika w realizacji najistotniejszych etapów konstruowania sieci, umożliwia zastosowanie najnowocześniejszych architektur sieci i metod uczenia.

Ćwiczenie Ad.1. określenie zmiennych objaśniających i zmiennych objaśnianych; Do wykonania ćwiczenia wykorzystano zestaw danych empirycznych opisujących eksperyment: wpływ parametrów obróbki cieplnej (czas i temperatura wyżarzania izotermicznego) na wybrane własności żeliwa ADI o określonym składzie chemicznym. Zmiennymi wejściowymi (objaśniającymi) były: T i temperatura przemiany izotermicznej, t i czas przemiany izotermicznej, Zmienne zależne (objaśniane) to: R m - wytrzymałość na rozciąganie, A 5 - wydłużenie, HRC - twardość. Dane eksperymentalne, zawarte w pliku analizani-mo.sta należy wczytać do programu STATISTICA. Będą stanowiły podstawową wiedzę do uczenia i weryfikowania sieci neuronowej. Ad.2. wybór typu i określenie struktury sieci neuronowej; Do określenia szczegółowej, a zarazem optymalnej, architektury sieci, wykorzystano program STATISTICA i jego moduł Automatyczne Sieci Neuronowe. Po wywołaniu go z menu głównego Data Mining/Automatyczne Sieci Neuronowe, wybieramy typ zadania dla sieci neuronowej.

Zadania regresyjne sieć ma za zadanie przewidzieć wartość zmiennej objaśnianej tak dobrze jak to możliwe (zmienna objaśniana jest wtedy w skali ilościowej) Wybór zmiennych w programie: Można zmienić proporcje podziału zbioru danych na próbki: uczącą, testową i walidacyjną

Automatyczne tworzenie sieci neuronowej Neurony liniowe (MLP) minimalnie (3) maksymalnie (10) neuronów w ukrytych warstwach wygeneruj 20 różnych wariantów sieci wybierz 5 najlepszych, Funkcja błędu: suma kwadratów różnic między wartością oczekiwaną a wartością rzeczywistą Ad.3. Uczenie sieci Zbiór danych, opisujących modelowane zjawisko, został podzielony na zbiór uczący (70%), walidacyjny (15%) i testowy (15%). Na etapie uczenia sieci wykorzystywany jest zbiór uczący oraz zbiór walidacyjny, dzięki któremu możemy kontrolować przebieg uczenia przez sprawdzanie stopnia wytrenowania neuronów. W rzeczywistości uczenie obejmuje dwie fazy: dobór wag dla zbioru uczącego i testowanie wag na próbkach ze zbioru walidacyjnego. Modyfikacja wartości wag trwa do momentu osiągnięcia minimum błędu aproksymacji lub gdy błąd w zbiorze walidacyjnym zaczyna rosnąć. Sieć poprawia swoje działanie wyłącznie w oparciu o dane ze zbioru uczącego zatem jeśli w trakcie uczenia zaobserwujemy, że spadek błędu walidacyjnego zatrzymał się, lub też błąd ten zaczyna rosnąć, to świadczy to, że sieć zaczęła zbytnio dopasowywać się do danych uczących i traci zdolność do generalizacji wyników uczenia. Ostateczna postać modelu (nauczonego za pomocą zbioru uczącego i sprawdzonego za pomocą zbioru walidacyjnego) jest dodatkowo testowana za pomocą zbioru testowego. Funkcja błędu jest sumą kwadratów odchyleń między wartością zadaną a wyjściem sieci (SOS). Po zakończeniu procesu uczenia rozpoczyna się proces testowania z wykorzystaniem zbioru testowego, który zawiera wartości nie wykorzystywane wcześniej w procesie uczenia sieci.

Wynik uczenia: Mamy 5 najlepszych znalezionych typów sieci neuronowych. Jak widać nie wszystkie mają tę samą liczbę neuronów w warstwie ukrytej. Do dalszej analizy wybieramy sieć o najlepszych parametrach (opcja: wybór sieci). Parametry wybranej sieci: Nazwa sieci MLP 2-9-3 Jakość (uczenie) 0,973678 Jakość (testowanie) 0,959685 Jakość (walidacja) 0,925851 Błąd (uczenie) 290,9976 Błąd (testowanie) 1573,894 Błąd (walidacja) 1694,737 Algorytm uczenia BFGS 199 Funkcja błędu SOS Aktywacja (ukryte) Wykładnicza Aktywacja (wyjściowe) Liniowa podane błędy (uczący, walidacyjny i testowy) dotyczą całkowitego błędu sieci obliczonego jako średnia kwadratów reszt dla wszystkich zmiennych wyjściowych. metoda uczenia: BFGS (Broyden-Fletcher-Goldfarb-Shanno); funkcja błędu: SOS Sum of Square (suma kwadratów). liczba wykazywana w opisie zastosowanego algorytmu uczenia wskazuje w której epoce nastąpiło zakończenie uczenia sieci. W przypadku sieci MLP2-9-3 zakończenie uczenia nastąpiło w 199 epoce.

Ad. 4. Ocena modelu sieci Na karcie SANN Wyniki, analiza: mamy możliwość dokonania analizy sieci a) Przewidywania Analiza i porównanie numeryczne wyników: tych eksperymentalnych (zmienna zależna) i tych które proponuje sieć (wyjścia) dla każdej lub wybranej próby (uczącej, testowej, walidacyjnej). Po wciśnięciu przycisku predykcja, dla każdego analizowanego wyjścia (tu np. Rm, HRC, A5), wyświetlany jest arkusz z wartościami przekazanymi jako dane uczące (Zm.zal) oraz wynikami obliczonymi przez skonstruowaną i nauczoną sieć (Wyjście). Wyniki te można wzbogacić o obliczenie różnic pomiędzy tymi wartościami dla poszczególnych przypadków, itd. b) Wykresy Opracowane wyniki można analizować również poprzez przedstawienie ich graficznie na wykresach. Zakładka wykresy daje nam możliwość wykonania ich dla dowolnej konfiguracji parametrów. Np. porównanie opracowanego modelu z danymi eksperymentalnymi.

c) Szczegóły W dziale szczegóły możemy dokonać analizy wybranych parametrów statystycznych opisujących sieć (wsp. korelacji, statystyki predykcji, itd.) oraz wyświetlić wagi połączeń pomiędzy poszczególnymi neuronami, jakie zostały ustalone w procesie uczenia dla danej sieci.

d) Przewidywania dla nowych danych W oparciu o zaprojektowaną i nauczoną sieć można dokonać procesu wnioskowania, dla nowych danych. Ad. 5. Przeprowadź następujące analizy: porównanie wyników wartości własności oszacowanych z wykorzystaniem zbudowanego modelu sztucznej sieci neuronowej z wynikami rzeczywistymi; opracowanie wykresów obrazujących wyznaczone zależności zarówno dla modelu jak i danych rzeczywistych i porównanie; testowanie sieci dla nowych danych.