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



Podobne dokumenty
Podstawy Sztucznej Inteligencji

MATLAB Neural Network Toolbox uczenie sieci (dogłębnie)

Sztuczne siei neuronowe - wprowadzenie

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

Politechnika Warszawska

POPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Algorytmy sztucznej inteligencji

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych

MATLAB Neural Network Toolbox przegląd

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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

Podstawy Sztucznej Inteligencji (PSZT)

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

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Metody Sztucznej Inteligencji II

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

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

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

1 Podstawy programowania sieci neuronowych w programie Matlab 7.0

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

Sztuczne sieci neuronowe (SNN)

Sieci neuronowe w Statistica

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

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

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

I EKSPLORACJA DANYCH

Sztuczna inteligencja

Sztuczne sieci neuronowe

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Metody sztucznej inteligencji

Podstawy sztucznej inteligencji

Inteligentne systemy przeciw atakom sieciowym

Temat: Sieci neuronowe oraz technologia CUDA

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

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Sztuczne sieci neuronowe

Widzenie komputerowe

Uczenie sieci typu MLP

Uczenie sieci radialnych (RBF)

wiedzy Sieci neuronowe

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

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

ALGORYTMY SZTUCZNEJ INTELIGENCJI

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

Elementy inteligencji obliczeniowej

Wstęp do sztucznych sieci neuronowych

Sztuczne sieci neuronowe

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

MODELOWANIE NEURONALNE ROZWOJU SYSTEMU ELEKTROENERGETYCZNEGO. CZĘŚĆ 2. MODELE SYSTEMU IEEE RTS

ĆWICZENIE 5: Sztuczne sieci neuronowe

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

Streszczenie. Słowa kluczowe: modele neuronowe, parametry ciągników rolniczych

Projekt Sieci neuronowe

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

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

Instrukcja realizacji ćwiczenia

Testowanie modeli predykcyjnych

Definicja perceptronu wielowarstwowego

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

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

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

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Systemy uczące się Lab 4

Przykład optymalizacji struktury sztucznej sieci neuronowej metodą algorytmów genetycznych

RAPORT Z PRAKTYKI. Zastosowanie Sztucznych Sieci Neuronowych do wspomagania podejmowania decyzji kupna/sprzedaży na rynku Forex.

METODY INŻYNIERII WIEDZY

Uczenie sieci neuronowych i bayesowskich

Uczenie Wielowarstwowych Sieci Neuronów o

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

Wielowarstwowy perceptron jako klasyfikator

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

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


Przykładowa analiza danych

ESI: Perceptrony proste i liniowe

1. Logika, funkcje logiczne, preceptron.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

6. Perceptron Rosenblatta

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

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

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

Zadanie 2.: Perceptron wielowarstwowy

Lekcja 5: Sieć Kohonena i sieć ART

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

ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH W ANALIZIE SYGNAŁÓW ELEKTROKARDIOGRAFICZNYCH

SPIS TREŚCI WPROWADZENIE ĆWICZENIE 1 Prognozowanie ciągu czasowego z wykorzystaniem neuronu liniowego... 13

SID Wykład 8 Sieci neuronowe

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Wprowadzenie do Scilab: macierze

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA

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

Transkrypt:

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 pakietu MATLAB v. 6 I. Funkcje przeznaczone do tworzenia jednokierunkowej sieci neuronowej newff newp newlin - tworzenie wielowarstwowej jednokierunkowej sieci neuronowej, - tworzenie sieci jednowarstwowej złoŝonej z perceptronów. - tworzenie sieci jednowarstwowej złoŝonej z neuronów liniowych. newlind - projektowanie sieci jednowarstwowej złoŝonej z neuronów liniowych. II. Funkcje przeznaczone do uczenia sieci neuronowych (uniwersalne) train adapt - funkcja realizuje trening sieci neuronowej (dowolnej), - funkcja realizuje jeden krok (epokę) treningu sieci neuronowej. III. Funkcje przeznaczone do symulacji sieci neuronowych sim - funkcja wyznacza wartości wyjść sieci neuronowej. IV. Inne funkcje dedykowane do prac z sztucznymi sieciami neuronowymi plotpv plotpc - funkcja wykreśla połoŝenie dla perceptronu punktów oczekiwanych odpowiedzi - funkcja wykreśla granicę decyzyjną w przestrzeni wag sieci neuronowej

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 2 Część I. Funkcje przeznaczone do tworzenia jednokierunkowej sieci neuronowej Newff Funkcja tworzy wielowarstwową sieć neuronową - jej kaŝda warstwa składa się z zadanej liczby neuronów o zadanych funkcjach aktywacji (liniowych bądź nieliniowych). net = newff(pr,[s1 s2...sn],{tf1 tf2...tfn},btf,blf,pf) pr - macierz (o rozmiarze Rx2) zawierająca min i max dla R wejść sieci si - liczba neuronów w i-tej warstwie sieci; liczba warstw wynosi n; tfi - funkcja aktywacji neuronów i-tej warstwy sieci, domyślnie = 'tansig'; btf - nazwa funkcji wykorzystywanej do treningu sieci; domyślnie = 'trainlm' ; blf - nazwa funkcji uŝywanej do modyfikacji wag; domyślnie = 'learnp'; pf - określenie funkcji celu; domyślnie = 'mse'. wyjście net - obiekt opisujący architekturę n-warstwowej sieci neuronowej. Opis szczegółowy parametrów wejściowych Parametr pr określa z jakiego przedziału wartości mogą pojawić się na poszczególnych ch sieci, innymi słowy informuje jaką najmniejszą i największą wartość mogą mieć dane podawane na poszczególne sieci. Kolejne wektory wejściowe powinny tworzyć kolumny macierzy wejściowej wówczas we wierszach będą znajdować się kolejne wartości jakie maja być podane na sieć. Parametr pr najwygodniej jest wyznaczyć uŝywając funkcji minmax w której jako argument podać naleŝy macierz wektorów wejściowych sieci. Sieć moŝe być zbudowana z dowolnej liczby warstw. KaŜda warstwa moŝe mieć inną ilość neuronów, którą określamy w wektorze [s1 s2...sn]. Pamiętać naleŝy, iŝ ostatni element wektora (parametr sn) określa liczbę wyjść całej sieci - musi być ona równa długości pojedynczego wektora oczekiwanych odpowiedzi sieci. Funkcje przejścia (aktywacji) dla neuronów z poszczególnych warstw sieci (parametry {tf1 tf2...tfn}) mogą być róŝne - dla kaŝdej warstwy sieci funkcję przejścia określa odrębny parametr. W ramach jednej warstwy wszystkie neurony mają taka sama funkcje przejścia. Dopuszczalne są funkcje: tansig funkcja tangensoidalna, logsig funkcja sigmoidalna, purelin funkcja liniowa, hardlim funkcja unipolarna, hardlims funkcja bipolarna, satlin funkcja liniowa z nasyceniem, opis funkcji minmax znajduje się na stronie

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 3 satlins funkcja liniowa symetryczna z nasyceniem. Pamiętać naleŝy, iŝ metody uczenia bazujące na wstecznej propagacji błędu wymagają aby funkcja przejścia była funkcją róŝniczkowalną. Dostępnych jest wiele funkcji trenujących sieci jednokierunkowe (parametr btf ): - metoda gradientu prostego (wstecznej propagacji błędu), traingd traingdm - metoda propagacji wstecznej błędu z momentum, traingda - metoda propagacji wstecznej błędu z adaptacyjną zmianą współczynnika uczenia, traingdx - metoda propagacji wstecznej błędu z momentum i adaptacją współczynnika, trainlm - metoda Levenberga-Marquardta, trainbr - odmiana metody Levenberga-Marquardta z regularyzacją Bayes owską, trainbfg - metoda gradientowa Broydena-Flrtchera-Goldfarba-Shano (quasi-newtonowska), trainscg - metoda skalowanego gradientu sprzęŝonego, traincgb - metoda gradientu sprzęŝonego Powella-Beale go, traincgf traincgp trainrp - metoda gradientu sprzęŝonego Fletchera-Powella, - metoda gradientu sprzęŝonego Polaka-Ribiere, - metoda propagacji wstecznej błędu RPROP (metoda Riedmillera, Brauna) Funkcją uczącą wykorzystywaną do korekty wag podczas uczenia sieci (parametr blf) moŝe być jakakolwiek gradientowa funkcja ucząca np.: learngd - gradient prosty, learngdm - gradient prosty z momentum. Parametr pf słuŝy do określenia funkcji (tzw. funkcji celu) wykorzystywanej do wyznaczenia jakości wytrenowania jednokierunkowej sieci neuronowej. W zaleŝności od rodzaju zastosowanej funkcji poszczególne składniki błędu mają róŝny wpływ na jej wartość, a co za tym idzie na ocenę jakości wyszkolenia sieci. Predefiniowane są następujące funkcje celu: mse - błąd średniokwadratowy, msereg - suma błędu średniokwadratowego i kwadratów wag sieci, sse - suma kwadratów błędów. Parametrem moŝe być dowolna róŝniczkowalna funkcja błędu. Opis szczegółowy generowanego obiektu net architektura: numinputs: 1 liczba wejść sieci numlayers: 2 liczba warstw sieci biasconnect: [1; 1] określa czy warstwa ma bias (1-tak, 0-nie) inputconnect: [1; 0] layerconnect: [0 0; 1 0] outputconnect: [0 1] targetconnect: [0 1]

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 4 numoutputs: 1 (read-only) numtargets: 1 (read-only) numinputdelays: 0 (read-only) numlayerdelays: 0 (read-only) subobject structures: inputs: {1x1 cell} of inputs layers: {2x1 cell} of layers outputs: {1x2 cell} containing 1 output targets: {1x2 cell} containing 1 target biases: {2x1 cell} containing 2 biases inputweights: {2x1 cell} containing 1 input weight layerweights: {2x2 cell} containing 1 layer weight funkcje: adaptfcn: 'trains' initfcn: 'initlay' performfcn: 'mse' trainfcn: 'trainlm' parameters: adaptparam:.passes initparam: (none) performparam: (none) trainparam:.epochs,.goal,.max_fail,.mem_reduc,.min_grad,.mu,.mu_dec,.mu_inc,.mu_max,.show,.time weight and bias values: IW: {2x1 cell} containing 1 input weight matrix LW: {2x2 cell} containing 1 layer weight matrix b: {2x1 cell} containing 2 bias vectors other: userdata: (user stuff)

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 5 Przykład: Maksymalna wartość w wektorze wejściowym Minimalna wartość w wektorze wejściowym Liczba neuronów w warstwie ukrytej sieci tutaj 3 Liczba neuronów w warstwie wyjściowej sieci tutaj 1 net = newff([0 1],[3 1],{'tansig' 'purelin'},'traingd'); Wektor którego długość (liczba elementów) jest równa ilości warstw sieci. KaŜda kolejna liczba określa ilość neuronów w kolejnej warstwie. Tutaj w warstwie ukrytej 3 neurony, w warstwie wyjściowej 1 neuron Nazwa metody uczenia sieci tutaj traingd Nazwa funkcji przejścia warstwy wyjściowej siec tutaj purelin Nazwa funkcji przejścia warstwy ukrytej sieci tutaj tansig Macierz której kaŝdy wiersz określa odpowiednio minimalną i maksymalna wartość poszczególnych elementów wektora wejściowego. KaŜdemu elementowi w wektorze wejściowym odpowiada jeden wiersz w tej macierzy. Tutaj wektor wejściowy jest jedno elementowy i moŝe przyjmować wartości od 0 do 1. Wydanie powyŝszego polecenia spowoduje utworzenie sieci jednokierunkowej dwuwarstwowej z jednym wejściem (podano tylko jedna parę określającą zakres wektora wejściowego parametr pr). W warstwie ukrytej będzie 3 neurony z funkcjami aktywacji tansig a w warstwie wyjściowej 1 neuron z funkcja aktywacji purelin. Sieć będzie uczona klasyczna metodą wstecznej propagacji błędu traingd. Pozostałe parametry przyjmą wartości domyślne do treningu sieci zostanie wykorzystana funkcja trainlm, do modyfikacji wago funkcja learnp, a jakość wytrenowania sieci będzie oceniana w oparciu o funkcję mse. Tak utworzona sieć jest obiektem o nazwie net, którego poszczególne atrybuty moŝemy zmieniać uŝywając wprost operacji podstawienia np.: net.trainparam.epochs = 5000 ustali maksymalna liczbę epok uczenia na 5000. newp Funkcja tworzy jednowarstwową sieć neuronową, złoŝoną z zadanej liczby perceptronów (sztucznych neuronów z bipolarną lub unipolarną funkcją przejścia). net = newp(pr, s, tf, lf) pr s tf - macierz (o rozmiarze Rx2) zawierająca min i max dla R wejść sieci - liczba neuronów w sieci; - funkcja aktywacji neuronów, domyślnie = 'hardlim',

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 6 lf - nazwa funkcji uŝywanej do modyfikacji wag; domyślnie = learnp'; wyjście net - obiekt opisujący architekturę utworzonej sieci neuronowej Funkcją aktywacji perceptronów (parametr tf) oprócz funkcji unipolarnej (hardlim) moŝe być funkcja unipolarna (hardlims). Jako parametru lf moŝemy uŝyć nazw następujących funkcji uczących: learnp modyfikacja wag w oparciu o regułę perceptronowi, learnpn modyfikacja wag w oparciu o regułę perceptronową (szybsza gdy wektor wejściowy zawiera elementy o bardzo róŝnych wartościach). Przykład: net = newp([-1 1; 2.5 4], 1) Podane powyŝej wywołanie funkcji tworzy sieć zawierającą pojedynczy neuron o dwóch ch. Zakres wartości pierwszego to [-1, 1] drugiego [2.5, 4]. Wywołanie funkcji zawiera tylko dwa argumenty pozostałe dwa przyjmą wartości domyślne: hardlim dla funkcji aktywacji neuronu oraz learnp dla funkcji korekty wag sieci: newlin Funkcja tworzy jednowarstwową sieć neuronową, złoŝoną z zadanej liczby neuronów o liniowych funkcjach aktywacji. Tego typu sieć jest zwykle wykorzystywana jako filtr adaptacyjny do przetwarzania sygnałów lub predykcji szeregów czasowych. net = newlin(pr, s, id, lr) pr s id - wejściowy wektor opóźnień, domyślnie = [0] ; lr - współczynnik uczenia sieci; domyślnie = 0.001. - macierz (o rozmiarze Rx2) zawierająca min i max dla R wejść sieci; - liczba neuronów w sieci (równa ilości wyjść z sieci); wyjście net - obiekt opisujący architekturę utworzonej sieci neuronowej. net = newlin(pr, s, 0, P) pr s 0 - wartość zero; - macierz (Rx2) zawierająca min i max wartości dla R wektorów wejściowych; - liczba neuronów w sieci (równa ilości wyjść z sieci);

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 7 P - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy). wyjście net - obiekt opisujący architekturę utworzonej sieci neuronowej Przykład: net = newlin([-100 100], 2, [0 0], 0.01); Przedstawione powyŝej wywołanie funkcji tworzy sieć liniową zawierającą dwa neurony o jednym wejściu. Zakres wartości wejściowej to [-100, 100], opóźnienie sygnału dla pierwszego wynosi 0, dla drugiego 0 (elementy wektora P1 są w tym przypadku traktowane jako kolejne próbki sygnału). ZałoŜona wartość stałej szybkości uczenia wynosi 0.01. newlind Funkcja tworzy jednowarstwową sieć neuronową, złoŝoną z zadanej liczby neuronów o liniowych funkcjach aktywacji. Tego typu sieć jest zwykle wykorzystywana jako filtr adaptacyjny do przetwarzania sygnałów lub predykcji szeregów czasowych. Ponadto funkcja oblicza wagi w oraz wartości bias (progi) b neuronów sieci w wyniku rozwiązania metodą najmniejszych kwadratów równania liniowego: [w b] * [P; ones] = T net = newlind(p, T, pi) P T Pi - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy), - macierz poŝądanych odpowiedzi sieci (kaŝda kolumna macierzy to jeden wektor oczekiwanych odpowiedzi), - macierz o wymiarach 1xID, zawierająca początkowe wartości opóźnionych wejść sieci (ID jest liczbą opóźnień); jest to parametr opcjonalny, domyślnie Pi = [] wyjście net - obiekt opisujący architekturę utworzonej sieci neuronowej Szczegółowy opis parametrów P oraz T umieszczony w opisie funkcji train na str. 9

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 8 Przykład I Zdefiniujmy wektorów wejść (P) oraz wektor odpowiadających mu oczekiwnych wyjść sieci (T): P = [1 2 3]; T = [2.0 4.1 5.9]; net = newlind(p, T); % Tworzy sieć liniową dla danych wektorów P i T: Przykład II Przedstawiony poniŝej skrypt tworzy sieć liniową oraz wyznacza jej wagi. Sieć zawiera dwa opóźnione, o wartościach początkowych zawartych w macierzy Pi: P = [1 2 1 3 3 2]; Pi = [1 3]; T = [5.0 6.1 4.0 6.0 6.9 8.0]; net = newlind(p, T, Pi); II. Funkcje, uŝywane do treningu sieci neuronowej train adapt - funkcja realizuje trening sieci neuronowej (dowolnej), - funkcja realizuje jeden krok treningu sieci neuronowej. Obie Funkcje trenujące są uniwersalne - wywoływane w jednolity sposób dla wszystkich typów sieci neuronowych - dlatego niektóre argumenty wejściowe nie mają znaczenia dla sieci jednokierunkowych (bez sprzęŝeń zwrotnych i opóźnień w torach sygnałów wejściowych) train Funkcja realizuje trening sieci neuronowej, wykorzystując funkcję treningu, której nazwa została podana w polu net.trainfcn, zaś wartości parametrów uczenia w polu net.trainparam. Funkcja ma taką sama postać dla wszystkich sieci. [net, tr, y, e, Pf, Af] = train(net, P, T, Pi, Ai, VV, TV) net - struktura (obiekt) zawierająca opis wielowarstwowej sieci jednokierunkowej, P T Pi - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy), - macierz oczekiwanych odpowiedzi sieci (kaŝda kolumna macierzy to jeden wektor oczekiwanych odpowiedzi), dla sieci uczonych bez nauczyciela ten argument przyjmuje domyślnie wartość zerową, - macierz utworzona z wektorów początkowych opóźnień próbek sygnału wejściowego sieci; domyślnie = 0,

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 9 Ai - macierz utworzona z wektorów początkowych opóźnień próbek sygnału w kolejnych warstwach sieci; domyślnie = 0, VV TV - dane słuŝące do przeprowadzenia procesu walidacji (oceny) treningu; macierze struktury walidacyjnej: VV.P, VV.T, VV.Pi, VV.Ai odpowiadają argumentom w podstawowej postaci wywołania funkcji treningu, tj.: P, T, Pi, Ai. Argument ten moŝe przyjmować wartość pustą, [], - dane słuŝące do przeprowadzenia procesu testowania sieci po zakończeniu treningu; macierze struktury testowej: TV.P, TV.T, TV.Pi, TV.Ai odpowiadają argumentom w podstawowej postaci wywołania funkcji treningu, tj.: P, T, Pi, Ai. Argument ten moŝe przyjmować wartość pustą, []. wyjścia net - obiekt opisujący architekturę nauczonej sieci neuronowej, tr - informacja o przebiegu treningu (liczba epok uczenia, przebieg funkcji błędu itp.), y - wartości wyjść wytrenowanej sieci, e - wektory błędów popełnianych przez sieć podczas procesu uczenia. Pf - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału wejściowego sieci (równieŝ uzyskana w procedurze adaptacji), Af - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału w poszczególnych warstwach sieci (równieŝ uzyskana w procedurze adaptacji) Opis szczegółowy parametrów wejściowych Macierz P jest zbiorem Q wektorów kolumnowych o długości R posiada więc wymiar R x Q, np.: 3 P= 4 1 5 5 2 8 3 0 6 5 1 4 2 0 Podana powyŝej macierz P składa się z 5 wektorów wejściowych, kaŝdy złoŝony z 3 elementów oznacza to, iŝ projektowana sieć będzie maiła 3. Macierz oczekiwanych odpowiedzi T składa się z Q wektorów o długości S kaŝdy posiada więc wymiar S x Q. Długość pojedynczego wektora wyjściowego (S) odpowiada liczbie neuronów w warstwie wyjściowej sieci. Natomiast ilość wektorów wyjściowych (Q) musi być równa ilości wektorów wejściowych, gdyŝ dla kaŝdego wektora wejściowego - podczas uczenia nadzorowanego - musi być podana oczekiwana odpowiedź (wektor oczekiwanych odpowiedzi). Macierz odpowiedzi T dla podanej powyŝej macierzy wejściowej P moŝe mieć postać: 0 1 1 1 0 T= 1 1 0 1 1 Pojedynczy wektor wejściowy Pojedynczy wektor wyjściowy

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 10 Zaznaczony wektor odpowiedzi (w obwódce) stanowi oczekiwaną odpowiedź sieci po podaniu na wejście 4 wektora wejściowego z macierzy P (w obwódce). Przykład I net=train(net,p,t) Najprostsze i najczęściej stosowane wywołanie funkcji uczącej sieć neuronową. Wcześniej konieczne jest zadeklarowanie macierzy wektorów wejściowych P, macierzy oczekiwanych odpowiedzi T oraz utworzenie sieci neuronowej net (np.: przy pomocy funkcji newff). Sieć będzie uczona metodą zapisana w polu net.trainfcn (domyślnie będzie to metoda Levenberga-Marquardta), pozostałe parametry uczenia będą zgodne z zapisanymi w net.trainparam będzie tam określony współczynnik uczenia, końcowa poŝądana wartość błędu, maksymalna liczba epok uczenia itp. Przykład II Postawmy zadanie polegające na aproksymacji przez sieć neuronową funkcji sinus. przedziale [ π, π]. Sieć będzie uczona w punktach równomiernie rozłoŝonych w całym przedziale, oddalonych od siebie o pi/30. Efekty uczenia sprawdzimy zagęszczając przedział i rysując wykres funkcji sinus oraz jej aproksymacji siecią neuronową. P=[-pi:pi/30:pi]; % macierz wejściowa T=sin(P); % macierz oczekiwanych odpowiedzi % utworzenie sieci jednokierunkowej złoŝonej z dwóch warstw w pierwszej % 5 neuronów z funkcją przejścia 'tansig', w wyjściowej 1 neuron z % liniową funkcja przejścia 'purelin'. Sieć uczona będzie metoda LM net = newff([-1 1], [5 1], {'tansig' 'purelin'}, 'trainlm'); net.trainparam.epochs = 500; % uczenie będzie trwać max 500 epok net.trainparam.goal = 0.001; % sieć jest nauczona gdy SSE 0.0001 net = train(net, P, T); % uczenie sieci P2=[-pi:2*pi/100:pi]; % zdefiniowanie zbioru testowego y2 = sim(net, P2) % symulacja pracy sieci patrz str. 13 figure % wykreślenie przebiegu funkcji sinus (na niebiesko) z naniesionymi % punktami uczenia oraz uzyskanych odpowiedzi sieci (na czerwono) plot(p, T, P, T, 'bo', P2, y2,'r') adapt Funkcja realizuje jeden krok (tzw. epokę) treningu sieci neuronowej, dokonując adaptacji wag synaptycznych sieci. Do adaptacji jest wykorzystywana funkcja, której nazwa została podana w polu net.adaptfcn, zaś wartości niezbędnych parametrów tej funkcji w polu net.adaptparam. Funkcja ma taką sama postać dla wszystkich sieci.

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 11 [net, y, e, Pf, Af, tr] = adapt(net, P, T, Pi, Ai) wyjście net - struktura (obiekt) zawierająca opis wielowarstwowej sieci jednokierunkowej P - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy), T Pi - macierz poŝądanych odpowiedzi sieci (kaŝda kolumna macierzy to jeden wektor oczekiwanych odpowiedzi), dla sieci uczonych bez nauczyciela domyślnie = 0, - macierz utworzona z wektorów początkowych opóźnień próbek sygnału wejściowego sieci; domyślnie = 0, Ai - macierz utworzona z wektorów początkowych opóźnień próbek sygnału w kolejnych warstwach sieci; domyślnie = 0. net - obiekt opisujący architekturę nauczonej sieci neuronowej, y - wartości wyjść wytrenowanej sieci, e - wektory błędów popełnianych przez sieć podczas procesu uczenia, Pf - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału wejściowego sieci (równieŝ uzyskana w procedurze adaptacji), Af - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału w poszczególnych warstwach sieci (równieŝ uzyskana w procedurze adaptacji), tr - informacja o przebiegu treningu (liczba epok uczenia, przebieg funkcji błędu itp.). III. Funkcje symulujące pracę sieci sim Funkcja wyznacza wartości wyjść sieci neuronowej dla zadanej macierzy danych wejściowych. [y, Pf, Af, e, Perf] = sim(net, P, Pi, Ai, T) net - struktura (obiekt) zawierająca opis wielowarstwowej sieci jednokierunkowej P - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy), Pi - macierz utworzona z wektorów początkowych opóźnień próbek sygnału wejściowego sieci; domyślnie = 0 Ai - macierz utworzona z wektorów początkowych opóźnień próbek sygnału w kolejnych warstwach sieci; domyślnie = 0 T - macierz poŝądanych odpowiedzi sieci (kaŝda kolumna macierzy to jeden wektor oczekiwanych odpowiedzi)

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 12 wyjście y - wartości wyjść wytrenowanej sieci dla wektorów zapisanych w P, Pf - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału wejściowego sieci, Af - wyjściowa macierz utworzona z wektorów opóźnień próbek sygnału w poszczególnych warstwach sieci, e - wektory błędów popełnianych przez sieć podczas procesu uczenia, Perf - wartość funkcji oceny błędu odwzorowania sieci, której nazwę zawiera pole net.performfcn (domyślnie mse błąd średniokwadratowy) Przykład I net = newp[0 1; 0 1],1); %utworzenie perceptronu o 2 ch i 1 wyjściu disp(net) % Symulacja pracy perceptronu dla trzech róŝnych wektorów uczących: % (pokazano róŝne sposoby podwania danych) p1 = [.2;.9]; a1 = sim(net, p1) p2 = [.2.5.1;.9.3.7]; a2 = sim(net, p2) p3 = {[.2;.9] [.5;.3] [.1;.7]}; a3 = sim(net, p3) Przykład II net = newlin([0 2; 0 2; 0 2], 2, [0 1]); % utworzenie sieci liniowej p1 = {[2; 0.5; 1] [1; 1.2; 0.1]}; [y1, pf] = sim(net, p1) % obliczenie wyjść sieci dla dwóch %zadanych wektorów wejściowych (przy załoŝeniu %zerowych opóźnień na ch): p2 = {[0.5; 0.6; 1.8] [1.3; 1.6; 1.1] [0.2; 0.1; 0]}; [y2, pf] = sim(net, p2, pf) % Wywołanie wykorzystuje wartości opóźnień, %wyznaczone w poprzednim wywołaniu funkcji: IV. Inne funkcje wykorzystywane w symulacjach sztucznych sieci neuronowych plotpv Funkcja wykreśla połoŝenie dla perceptronu punktów oczekiwanych odpowiedzi w funkcji wektorów wejściowych plotpv(p, T) P - macierz wektorów wejściowych (kaŝda kolumna macierzy to jeden wektor wejściowy),

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 13 T - macierz poŝądanych odpowiedzi sieci (kaŝda kolumna macierzy to jeden wektor oczekiwanych odpowiedzi) Przykład: Przykład pokazuje zdefiniowanie reguł bramki AND i wykreślenie uzyskanych danych na płaszczyźnie p=[0 0 1 1 0 1 0 1]; % macierz wektorów wejściowych t=[0 0 0 1]; % macierz oczekiwanych odpowiedzi plotpv(p,t); plotpc Funkcja wykreśla granicę decyzyjną w przestrzeni wag sieci neuronowej, złoŝonej z perceptronów. Wywołanie funkcji ma sens, gdy wymiarowość wektora wejściowego sieci jest nie większa niŝ trzy. line = plotpc (W, b, line) W b - macierz wag synaptycznych perceptronu (o wymiarach SxR, gdzie S jest liczbą neuronów w warstwie, zaś R wymiarowością wektora wejść sieci, R > 3) - wektor wartości progów perceptronu (o wymiarach Sx1) line - nazwa ostatnio narysowanej linii (opcjonalne) line - nazwa rysowanej linii (opcjonalne). W przypadku wykorzystania funkcji w pętli, dzięki uŝyciu tego parametru kolejne wywołania funkcji usuwają poprzednio wyrysowana linię.

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 14 Przykład: Instrukcje poniŝej definiują i wyjścia perceptronu i ukazują je na płaszczyźnie a następnie po zainicjowaniu sieci wykreślają granice decyzyjną p = [0 0 1 1; 0 1 0 1]; t = [0 1 1 1]; plotpv(p, t) net = newp(minmax(p), 1); net.iw{1,1} = [-1.2-0.5]; net.b{1} = 1; plotpc(net.iw{1,1}, net.b{1}) % macierz wektorów wejściowych % macierz oczekiwanych odpowiedzi % wykreslenie punktów na płaszczyznie % inicjacja sieci % określenie wag % okreslenie biasu % wykreslenie granicy decyzyjnej