ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Podobne dokumenty
Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Zastosowania sieci neuronowych

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zastosowania sieci neuronowych

Sztuczne siei neuronowe - wprowadzenie

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

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

Algorytmy sztucznej inteligencji

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

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

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

Podstawy Sztucznej Inteligencji

Politechnika Warszawska

Wstęp do sztucznych sieci neuronowych

Wprowadzenie do teorii systemów ekspertowych

Zrealizować sieć neuronową (learnbpm) uczącą się odwzorowania z = x 2 + y 2 dla x i y zmieniających się od -1 do 1.

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

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

ĆWICZENIE 5: Sztuczne sieci neuronowe

Uczenie sieci neuronowych i bayesowskich

Prof. Stanisław Jankowski

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

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

Instrukcja realizacji ćwiczenia

Podstawy Sztucznej Inteligencji (PSZT)

Temat: Sieci neuronowe oraz technologia CUDA

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

Sztuczne sieci neuronowe

ALGORYTMY SZTUCZNEJ INTELIGENCJI

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.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

I EKSPLORACJA DANYCH

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Inteligentne systemy informacyjne

Sieci neuronowe w Statistica

Widzenie komputerowe

Optymalizacja optymalizacji

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

Dokumentacja Końcowa

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

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

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

Metody Sztucznej Inteligencji II

Wielowarstwowy perceptron jako klasyfikator

Elementy inteligencji obliczeniowej

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

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

Sztuczne sieci neuronowe (SNN)

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Elementy kognitywistyki III: Modele i architektury poznawcze

wiedzy Sieci neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

2

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

MODELOWANIE RZECZYWISTOŚCI

Sztuczna inteligencja

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Podstawy sztucznej inteligencji

ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH W ANALIZIE SYGNAŁÓW ELEKTROKARDIOGRAFICZNYCH

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

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 pakietu MATLAB v. 6

Budowa i własności. sztucznych neuronów i sieci

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

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

Aproksymacja danych doświadczalnych z badań trójosiowego ściskania gruntu przy użyciu perceptronu wielowarstwowego

Algorytmiczne sieci neuronowe idea działania, słabe i mocne strony

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

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

Sztuczna inteligencja

Uczenie sieci typu MLP

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

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

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

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

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

MATLAB Compiler. jak tworzyć aplikacje ze skryptów. LABORKA Piotr Ciskowski

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

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

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

Sztuczne sieci neuronowe

Implementacja rozmytych systemów wnioskujących w zdaniach regulacji

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

Inteligentne systemy przeciw atakom sieciowym

Sieci neuronowe - dokumentacja projektu

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

Laboratorium nr 2. Identyfikacja systemu i detekcja uszkodzeń na podstawie modelu

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

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

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

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

OPTYMALIZACJA NASTAW UKŁADU NAPĘDOWEGO STATKU ZE ŚRUBĄ NASTAWNĄ

Wykład 1: Wprowadzenie do sieci neuronowych

Transkrypt:

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE INSTYTUT TECHNOLOGII MECHANICZNEJ Metody Sztucznej Inteligencji Sztuczne Sieci Neuronowe Wstęp 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. Zastosowanie Przykład 1 Dopasowywanie funkcji Tworzymy wektory uczące A oraz B: A=-5:0.1:5; B=tan(A); plot(a,b, -. ); (średnik postawiony na końcu wpisywanego polecenia powoduje, że wartość tego wyrażenia nie zostanie wyświetlona) Tworzymy dwuwarstwową sieć neuronową o nazwie neu składającą się z pięciu neuronów w warstwie wejściowej oraz jednego neuronu w warstwie wyjściowej: neu=newff([-5 5],[5 1],{ tansig purelin }); 1 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

(tansig, logsig oraz purelin są to najczęściej stosowane funkcje przejścia w sieciach z propagacją wsteczną. Jeśli jako funkcję przejścia w ostatniej warstwie użyjemy tansig lub logsig, które są funkcjami sigmoidalnymi, to dane wyjściowe będą ograniczone do niewielkiego zakresu. Jeśli użyjemy funkcji purelin, która jest funkcją liniową, to dane wyjściowe mogą przyjąć dowolną wartość.) Nadajemy wagom sieci przypadkowe wartości: neu=init(neu); Sprawdzamy odpowiedź sieci niewytrenowanej na wektor wejściowy. Wykres opisujemy 5 1 sieć niewytrenowana : C=sim(neu,A); title( 5 1 - siec niewytrenowana ) Określamy maksymalną liczbę epok: neu.trainparam.epochs=5; neu=train(neu,a,b); Sprawdzamy odpowiedź wytrenowanej sieci na wektor wejściowy na wykresie. Wykres opisujemy 5 1 5 epok : C=sim(neu,A); title( 5 1-5 epok ) Oceniamy dokładność dopasowania, nie zamykamy wykresu! Ponownie nadajemy wagom sieci przypadkowe wartości, a następnie zwiększamy maksymalną liczbę epok do 25: neu=init(neu); neu.trainparam.epochs=25; Ponownie trenujemy sieć, a następnie sprawdzamy jej odpowiedź na wektor wejściowy. Na podstawie wykresu oceniamy dokładność dopasowania. neu=train(neu,a,b); 2 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

C=sim(neu,A); title( 5 1-25 epok ) Powtarzamy procedurę dla 50, 100, 250 oraz 500 epok, wyciągamy początkowe wnioski. Czyścimy pamięć ze wszystkich danych: clear Tworzymy identyczne jak poprzednio wektory uczące A oraz B: A=-5:0.1:5; B=tan(A); plot(a,b, -. ); Tworzymy dwuwarstwową sieć neuronową o nazwie neo składającą się z 20 neuronów w warstwie wejściowej oraz jednego neuronu w warstwie wyjściowej: neo=newff([-5 5],[20 1],{ tansig purelin }); Nadajemy wagom sieci przypadkowe wartości: neo=init(neo); Sprawdzamy odpowiedź sieci niewytrenowanej na wektor wejściowy: C=sim(neo,A); title( 20 1 - siec niewytrenowana ) Określamy maksymalną liczbę epok: neo.trainparam.epochs=5; neo=train(neo,a,b); Sprawdzamy odpowiedź wytrenowanej sieci na wektor wejściowy na wykresie: C=sim(neo,A); 3 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

title( 20 1-5 epok ) Oceniamy dokładność dopasowania, nie zamykamy wykresu! Ponownie nadajemy wagom sieci przypadkowe wartości, a następnie zwiększamy maksymalną liczbę epok do 25: neo=init(neo); neo.trainparam.epochs=25; Ponownie trenujemy sieć, a następnie sprawdzamy jej odpowiedź na wektor wejściowy. Na podstawie wykresu oceniamy dokładność dopasowania. neo=train(neo,a,b); C=sim(neo,A); title( 20 1-25 epok ) Powtarzamy procedurę dla 50, 100, 250 oraz 500 epok, wyciągamy wnioski. Czyścimy pamięć ze wszystkich danych: clear Tworzymy identyczne jak poprzednio wektory uczące A oraz B: A=-5:0.1:5; B=tan(A); plot(a,b, -. ); Tworzymy trójwarstwową sieć neuronową o nazwie ne3 składającą się z 10 neuronów w pierwszej warstwie, 10 w drugiej warstwie oraz jednego neuronu w warstwie wyjściowej: ne3=newff([-5 5],[10 10 1],{ tansig tansig purelin }); Nadajemy wagom sieci przypadkowe wartości: ne3=init(ne3); Sprawdzamy odpowiedź sieci niewytrenowanej na wektor wejściowy: C=sim(ne3,A); 4 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

title( 10 10 1 - siec niewytrenowana ) Określamy maksymalną liczbę epok: ne3.trainparam.epochs=5; ne3=train(ne3,a,b); Sprawdzamy odpowiedź wytrenowanej sieci na wektor wejściowy na wykresie: C=sim(ne3,A); title( 10 10 1-5 epok ) Oceniamy dokładność dopasowania, nie zamykamy wykresu! Ponownie nadajemy wagom sieci przypadkowe wartości, a następnie zwiększamy maksymalną liczbę epok do 25: ne3=init(ne3); ne3.trainparam.epochs=25; Ponownie trenujemy sieć, a następnie sprawdzamy jej odpowiedź na wektor wejściowy. Na podstawie wykresu oceniamy dokładność dopasowania. ne3=train(ne3,a,b); C=sim(ne3,A); title( 10 10 1-25 epok ) Powtarzamy procedurę dla 50, 100, 250 oraz 500 epok, wyciągamy wnioski. Przykład 2 Rozpoznawanie znaków Wywołujemy definicje liter alfabetu oraz ich reprezentacje: [alphabet,targets]=prprob; 5 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

Rys. 1. Przykład reprezentacji litery A. Tworzymy nową sieć neuronową z 35 neuronami w warstwie wejściowej (ilość pól mogących tworzyć kształt litery) oraz 26 neuronami w warstwie wyjściowej. W warstwie ukrytej umieścimy na początek 10 neuronów. net=newff(alphabet,targets,10,{ tansig tansig }); Definiujemy liczbę epok: net.trainparam.epochs=250; net.dividefcn=''; /apostrof x 2/ [net,tr]=train(net,alphabet,targets); Wywołujemy przykładową literę z alfabetu, może to być B: B=alphabet(:,2); Wyświetlamy ją: plotchar(b); Odpytujemy sieć, aby rozpoznała wybraną literę i wyświetliła swoją odpowiedź: y=sim(net,b); y=compet(y); answer=find(compet(y)==1); ; plotchar(alphabet(:,answer)); Powtarzamy to samo dla innej litery, np. X: X=alphabet(:,24); ; plotchar(x); y=sim(net,x); y=compet(y); 6 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0

answer=find(compet(y)==1); ; plotchar(alphabet(:,answer)); Czyścimy obszar roboczy ze zbędnych danych: clear; Oceniamy jakość rozpoznawania liter przez sieć, a następnie zwiększamy ilość neuronów w warstwie ukrytej i powtarzamy całą procedurę. Powtórzenie procedury należy wykonać dla 50 oraz 75 neuronów w warstwie ukrytej. 7 Materiały dydaktyczne opracowane na podstawie dokumentacji programu Matlab 7.10.0