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

Podobne dokumenty
Podstawy Sztucznej Inteligencji

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

Politechnika Warszawska

MATLAB Neural Network Toolbox przegląd

Sztuczne siei neuronowe - wprowadzenie

Zastosowania sieci neuronowych

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

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Zastosowania sieci neuronowych

Algorytmy sztucznej inteligencji

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Metody Sztucznej Inteligencji II

Wprowadzenie do sieci neuronowych i zagadnień deep learning

Podstawy sztucznej inteligencji

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Inteligentne systemy przeciw atakom sieciowym

Sieci neuronowe w Statistica

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

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

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH W ANALIZIE SYGNAŁÓW ELEKTROKARDIOGRAFICZNYCH

Deep Learning na przykładzie Deep Belief Networks

6. Perceptron Rosenblatta

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Podstawy Sztucznej Inteligencji (PSZT)

Elementy inteligencji obliczeniowej

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

Sztuczne sieci neuronowe

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

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

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

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

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

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

POPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ

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

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

Lekcja 5: Sieć Kohonena i sieć ART

MODELOWANIE RZECZYWISTOŚCI

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

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

SID Wykład 8 Sieci neuronowe

Algorytmy wstecznej propagacji sieci neuronowych

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

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

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

Sztuczne sieci neuronowe (SNN)

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

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

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

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

Zastosowania sieci neuronowych predykcja - giełda

ZASTOSOWANIE AUTORSKIEJ METODY WYZNACZANIA WARTOŚCI PARAMETRÓW NOWOCZESNYCH SYSTEMÓW TECHNICZNYCH DO PŁUGÓW I OPRYSKIWACZY POLOWYCH

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

Uczenie Wielowarstwowych Sieci Neuronów o

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING

Uczenie sieci radialnych (RBF)

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

SIECI RBF (RADIAL BASIS FUNCTIONS)

Sztuczne sieci neuronowe

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

ĆWICZENIE 5: Sztuczne sieci neuronowe

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

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

wiedzy Sieci neuronowe

Zadanie 2.: Perceptron wielowarstwowy

Uczenie sieci neuronowych i bayesowskich

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

1 Podstawy programowania sieci neuronowych w programie Matlab 7.0

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

MODELOWANIE PROCESÓW PRZETWÓRCZYCH Z UŻYCIEM SZTUCZNYCH SIECI NEURONOWYCH

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

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

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

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Wstęp do sztucznych sieci neuronowych

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

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

Projekt Sieci neuronowe

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

Ćwiczenie WPK Wielowarstwowy perceptron jako klasyfikator

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Podstawy sztucznej inteligencji

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

SZTUCZNA INTELIGENCJA

Optymalizacja ciągła

Inteligencja obliczeniowa Laboratorium 9: Sieci neuronowe.

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

Sztuczna inteligencja

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

Wykład 1: Wprowadzenie do sieci neuronowych

Wielowarstwowy perceptron jako klasyfikator

Instrukcja realizacji ćwiczenia

Transkrypt:

MATLAB Neural Network Toolbox uczenie sieci (dogłębnie) WYKŁAD Piotr Ciskowski

Neural Network Toolbox:

NEURAL NETWORK TOOLBOX NOTACJA

Neural Network Toolbox - notacja: pojedynczy neuron: z jednym wejściem

Neural Network Toolbox - notacja: funkcje aktywacji: hard-limit: pure lin: log sig:

Neural Network Toolbox - notacja: pojedynczy neuron: z wieloma wejściami

Neural Network Toolbox - notacja: warstwa neuronów:

Neural Network Toolbox - notacja: sieci wielowarstwowe: macierze wag: IW oraz LW indeksy przy macierzach wag: skąd-dokąd

Neural Network Toolbox - notacja: sieci wielowarstwowe:

NEURAL NETWORK TOOLBOX POJEDYNCZY NEURON LINIOWY - DZIAŁANIE

przykład 1. działanie neuronu liniowego - dane równoległe dane wejściowe: równoległe wszystkie wejścia pojawiają się w tym samym czasie, mają różne (niezależne) znaczenie net = newlin ( [ 1 3 ; 1 3 ], 1 ) net.b{1} = 0 ; net.iw{1,1} = [ 1 2 ] ; P = [ 1 2 2 3 ; 2 1 3 1 ] P = 1 2 2 3 2 1 3 1 Y = sim ( net, P ) Y = 5 4 8 5

przykład 1. działanie neuronu liniowego - dane sekwencyjne dane wejściowe: sekwencyjne na jednym wejściu pojawia się sygnał będący sekwencją w czasie net = newlin ( [ -1 1 ], 1, [ 0 1 ] ) net.biasconnect = 0 ; net.iw{1,1} = [ 1 2 ] ; P = { 1 2 3 4 } P = [1] [2] [3] [4] Y = sim ( net, P ) Y = [1] [4] [7] [10]

NEURAL NETWORK TOOLBOX POJEDYNCZY NEURON LINIOWY - UCZENIE PRZYROSTOWE

przykład 2. uczenie neuronu liniowego - przyrostowe uczenie: przyrostowe wagi i biasy są uaktualniane po prezentacji incremental każdego kolejnego przykładu [ net, Y, E, Pf, Af, tr ] = adapt ( net, P, T, Pi,Ai ) % wejścia: net - Network. P - Network inputs. T - Network targets, default = zeros. Pi - Initial input delay conditions, default = zeros. Ai - Initial layer delay conditions, default = zeros. % wyjścia: net - Updated network. Y - Network outputs. E - Network errors. Pf - Final input delay conditions. Af - Final layer delay conditions. TR - Training record (epoch and perf).

przykład 2. uczenie neuronu liniowego - przyrostowe uczenie: przyrostowe wagi i biasy są uaktualniane po prezentacji incremental każdego kolejnego przykładu Pmacierz = [ 1 2 2 3 ; % t = 2 p 1 + p 2 2 1 3 1 ] ; % P i T jako zwykłe macierze Tmacierz = [ 4 5 7 7 ] ; % dla uczenia wsadowego Pcell = { [1;2] [2;1] [2;3] [3;1] } ; Tcell = { 4 5 7 7 } ; % P i T jako cell array % dla uczenia przyrostowego net = newlin ( [ -1 1 ; -1 1 ], 1, 0, 0 ) ; net.iw{1,1} = [ 0 0 ] ; net.b{1} = 0 ; net.inputweights{1,1}.learnparam.lr = 0.1 ; net.biases{1,1}.learnparam.lr = 0.1 ; [ net, y, e, pf ] = adapt ( net, Pcell, Tcell ) ;

NEURAL NETWORK TOOLBOX POJEDYNCZY NEURON LINIOWY - UCZENIE WSADOWE

przykład 2. uczenie neuronu liniowego - wsadowe uczenie: wsadowe wagi i biasy są uaktualniane po prezentacji batch całego zbioru uczącego [ net, tr,y, E, Pf, Af ] = train ( net, P, T, Pi,Ai, VV,TV) % wejścia: net - Network. P - Network inputs. T - Network targets, default = zeros. Pi - Initial input delay conditions, default = zeros. Ai - Initial layer delay conditions, default = zeros. VV - Structure of validation vectors, default = []. TV - Structure of test vectors, default = []. % wyjścia: net - New network. TR - Training record (epoch and perf). Y - Network outputs. E - Network errors. Pf - Final input delay conditions. Af - Final layer delay conditions.

przykład 2. uczenie neuronu liniowego - wsadowe uczenie: wsadowe wagi i biasy są uaktualniane po prezentacji batch całego zbioru uczącego Pmacierz = [ 1 2 2 3 ; % t = 2 p 1 + p 2 2 1 3 1 ] ; % P i T jako zwykłe macierze Tmacierz = [ 4 5 7 7 ] ; % dla uczenia wsadowego net = newlin ( [ -1 1 ; -1 1 ], 1, 0, 0 ) ; net.iw{1,1} = [ 0 0 ] ; net.b{1} = 0 ; net.inputweights{1,1}.learnparam.lr = 0.1 ; net.biases{1}.learnparam.lr = 0.1 ; net.trainparam.epochs = 1 ; [ net, tr, y, e ] = train ( net, Pmacierz, Tmacierz ) ;

NEURAL NETWORK TOOLBOX PERCEPTRON

Neural Networks Toolbox perceptron

Neural Networks Toolbox perceptron

Neural Networks Toolbox perceptron net = newp ( PR, S ) ; % utworzenie perceptronu: % PR macierz wartości min i max poszczególnych wejść % macierz R x 2 % S - liczba neuronów net = newp ( [ 0 2 ], 1 ) ; inputweights = net.inputweights{1,1} biases = net.biases{1}

NEURAL NETWORK TOOLBOX POJEDYNCZY PERCEPTRON - GRANICE DECYZYJNE

przykład 3. perceptron granice decyzyjne net = newp ( [ -2 +2 ; -2 +2 ], 1 ) ; % utworzenie sieci net.iw{1,1} = [ -1 1 ] ; % ustawienie wag net.b{1} = [ 1 ] ; % i biasu (bez uczenia) p1 = [ 1 ; 1 ] ; y1 = sim ( net, p1 ) ; % test pojedynczych punktów p2 = [ 1 ; -1 ] ; y2 = sim ( net, p2 ) ; % punktów y = [ y1 y2 ] y = [ 1 0 ] p = { [ 1 ; 1 ], [ 1 ; -1 ] } ; % test obu punktów od razu y = sim ( net, p ) % (sekwencyjnie) y = [ 1 ] [ 0 ]

NEURAL NETWORK TOOLBOX POJEDYNCZY PERCEPTRON - UCZENIE KROK PO KROKU

przykład 4. perceptron - inicjalizacja net = newp ( [ -2 +2 ; -2 +2 ], 1 ) ; % utworzenie sieci net.iw{1,1} = [ -1 1 ] ; % ustawienie wag net.b{1} = [ 1 ] ; % i biasu (bez uczenia) net.inputweights{1,1}.initfcn = 'rands' ; % losowa inicjalizacja net.biases{1}.initfcn = 'rands' ; % wag i biasów net = init ( net ) ; weights = net.iw{1,1} weights = 0.2309 0.5839 biases = net.b{1} biases = -0.1106

przykład 4. perceptron uczenie krok po kroku... p = [ 1 ; 2 ] ; % uczenie na pojedynczych przykładach t = [ 1 ] ; y = sim ( net, p ) ; d = t y ; dw = learnp( weights, p, [],[],[],[], d, [],[],[] ) % poprawki wag dw = 1 2 weights = weights + dw weights = 2.0000 1.2000 net.iw{1,1} = weights ; db = learnp( biases, p, [],[],[],[], d, [],[],[] ) % poprawki biasów db = 1 2 biases = biases + db biases = 2.0000 1.2000 net.b{1} = biases ;

NEURAL NETWORK TOOLBOX POJEDYNCZY PERCEPTRON - UCZENIE OD RAZU

przykład 5. perceptron uczenie od razu net = newp ( [ -2 +2 ; -2 +2 ], 1 ) ; % utworzenie sieci net.iw{1,1} = [ -1 1 ] ; % ustawienie wag net.b{1} = [ 1 ] ; % i biasu (bez uczenia) p = { [2;2] [1;-2] [-2;2] [-1;1] } ; % ciąg uczący t = { 0 1 0 1 } ; % dla uczenia wsadowego net.trainparam.epochs = 4; net = train ( net, p, t ) ; TRAINC, Epoch 0/4 TRAINC, Epoch 2/4 TRAINC, Performance goal met. % uczenie % przez kilka epok y = sim ( net, p ) y = 0 1 0 1

NEURAL NETWORK TOOLBOX PERCEPTRONY WIELOWARSTWOWE

Neural Network Toolbox perceptrony wielowarstwowe neurony wykorzystują ciągłe funkcje aktywacji:

Neural Network Toolbox perceptrony wielowarstwowe warstwa sieci:

Neural Network Toolbox perceptrony wielowarstwowe sieć dwuwarstwowa:

przykład 6. perceptron dwuwarstwowy - tworzenie (kiedyś) p = [ -1-1 2 2 ;... % ciąg uczący 0 5 0 5 ] ; t = [ -1-1 1 1 ] ; % utworzenie sieci: net = newff ( minmax(p),... % 2 wejścia o zakresach: od 1 do 2 % od 0 do 5 [3,1],... % neuronów: 3 1 {'tansig','purelin'},... % funkcje aktywacji w warstwach: % 1. tangensoidalna % 2. liniowa 'traingd' ) ; % funkcja uczenia: traingd % (gradient descent)

przykład 6. perceptron dwuwarstwowy - tworzenie (teraz) p = [ -1-1 2 2 ;... 0 5 0 5 ] ; t = [ -1-1 1 1 ] ; net = newff ( p, t, 3 ) ; % ciąg uczący % utworzenie sieci

przykład 6. perceptron dwuwarstwowy uczenie gd (kiedyś) net.trainparam.show = 50; net.trainparam.lr = 0.05; net.trainparam.epochs = 300; net.trainparam.goal = 1e-5; % parametry uczenia [ net, tr ] = train ( net, p, t ) ; % uczenie sieci TRAINGD, Epoch 0/300, MSE 1.59423/1e-05, Gradient 2.76799/1e-10 TRAINGD, Epoch 50/300, MSE 0.00236382/1e-05, Gradient 0.0495292/1e-10 TRAINGD, Epoch 100/300, MSE 0.000435947/1e-05, Gradient 0.0161202/1e-10 TRAINGD, Epoch 150/300, MSE 8.68462e-05/1e-05, Gradient 0.00769588/1e-10 TRAINGD, Epoch 200/300, MSE 1.45042e-05/1e-05, Gradient 0.00325667/1e-10 TRAINGD, Epoch 211/300, MSE 9.64816e-06/1e-05, Gradient 0.00266775/1e-10 TRAINGD, Performance goal met.

przykład 6. perceptron dwuwarstwowy uczenie gd (kiedyś) net.trainparam.show = 50; net.trainparam.lr = 0.05; net.trainparam.epochs = 300; net.trainparam.goal = 1e-5; % parametry uczenia [ net, tr ] = train ( net, p, t ) ; % uczenie sieci TRAINGD, Epoch 0/300, MSE 1.59423/1e-05, Gradient 2.76799/1e-10 TRAINGD, Epoch 50/300, MSE 0.00236382/1e-05, Gradient 0.0495292/1e-10 TRAINGD, Epoch 100/300, MSE 0.000435947/1e-05, Gradient 0.0161202/1e-10 TRAINGD, Epoch 150/300, MSE 8.68462e-05/1e-05, Gradient 0.00769588/1e-10 TRAINGD, Epoch 200/300, MSE 1.45042e-05/1e-05, Gradient 0.00325667/1e-10 TRAINGD, Epoch 211/300, MSE 9.64816e-06/1e-05, Gradient 0.00266775/1e-10 TRAINGD, Performance goal met. y = sim ( net, p ) % sprawdzenie sieci y = -1.0010-0.9989 1.0018 0.9985 % t = [ -1-1 1 1 ] ;

przykład 6. perceptron dwuwarstwowy uczenie L-M (teraz) [ net, tr ] = train ( net, p, t ) ; % uczenie sieci TRAINLM-calcjx, Epoch 0/300, MSE 3.75044/1e-005, Gradient 5.00962/1e-010 TRAINLM-calcjx, Epoch 3/300, MSE 2.94384e-006/1e-005, Gradient 0.00366823/1e-010 TRAINLM, Performance goal met. y = sim ( net, p ) % sprawdzenie sieci y = -1.0000-0.9966 1.0000 1.0000 % t = [ -1-1 1 1 ] ;