sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Podobne dokumenty
Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Uczenie sieci radialnych (RBF)

Uczenie sieci typu MLP

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

Sztuczne siei neuronowe - wprowadzenie

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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

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

Lekcja 5: Sieć Kohonena i sieć ART

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

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

Sieci neuronowe w Statistica

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

MATLAB Neural Network Toolbox przegląd

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

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

Sztuczne sieci neuronowe

Algorytmy sztucznej inteligencji

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Politechnika Warszawska

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

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

Metody Sztucznej Inteligencji II

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Elementy inteligencji obliczeniowej

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

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

Podstawy Sztucznej Inteligencji

ĆWICZENIE 5: Sztuczne sieci neuronowe

Instrukcja realizacji ćwiczenia

Wstęp do sztucznych sieci neuronowych

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

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

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

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

Jakość uczenia i generalizacja

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

Uczenie sieci neuronowych i bayesowskich

SZTUCZNA INTELIGENCJA

Zastosowania sieci neuronowych predykcja - giełda

Sztuczna inteligencja

wiedzy Sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sztuczne sieci neuronowe (SNN)

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.

Uczenie Wielowarstwowych Sieci Neuronów o

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

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

Temat: Sieci neuronowe oraz technologia CUDA

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

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

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Podstawy sztucznej inteligencji

do MATLABa programowanie WYKŁAD Piotr Ciskowski

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

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

Podstawy Sztucznej Inteligencji (PSZT)

Projekt Sieci neuronowe

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Inteligentne systemy przeciw atakom sieciowym

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

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

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

I EKSPLORACJA DANYCH

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

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

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

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

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

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

Definicja perceptronu wielowarstwowego

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Widzenie komputerowe

Deep Learning na przykładzie Deep Belief Networks

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

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

Wstęp do teorii sztucznej inteligencji

Rozpoznawanie obrazów

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

6. Perceptron Rosenblatta

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Politechnika Lubelska

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

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

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

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

wiedzy Sieci neuronowe (c.d.)

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

2.4. Algorytmy uczenia sieci neuronowych

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

Podstawy MATLABA, cd.

Optymalizacja optymalizacji

Transkrypt:

sieci jednowarstwowe w ATLABie LABORKA Piotr Ciskowski

trzy funkcje do obsługi sieci jednowarstwowej : init1.m - tworzy sieć, inicjuje wagi (losowo) dzialaj1.m symuluje działanie sieci (na pojedynczym przykładzie) ucz1.m - uczy sieć na zadanym ciągu uczącym i jeden skrypt: test1.m - sieć 5-3, przykład: rozpoznawanie zwierząt

init1.m - tworzy sieć, czyli jej macierz wag i wypełnia ją wartościami losowymi z zakresu -0.1 0.1 - w sieciach jednowarstwowych rezygnujemy z wejścia zerowego biasu function [ W ] = init1 ( S, K ) % funkcja tworzy sieć jednowarstwową % i wypełnia jej macierz wag wartościami losowymi % z zakresu od -0.1 do 0.1 % parametry: S liczba wejsć do sieci % K liczba neuronów w warstwie % wynik: W macierz wag sieci W =...

function [ W ] = init1 ( S, K ) x 1 x 2 x S w k,1 w k,2 w k, S u 1 u k u K y 1 y k y K Y = y1 y 2 y K K 1 X = x1 x 2 x S S 1 W = W1 W2 L WK = w1,1 w2,1 L wk,1 w1,2 w2,2 w L K,2 O w w L w 1, S 2, S K, S S K

dzialaj1.m - dla sieci o danej macierzy wag W dla podanego na wejście wektora X oblicza wektor wyjść Y - neurony warstwy mają sigmoidalną funkcję aktywacji function [ Y ] = dzialaj1 ( W, X ) % funkcja symuluje działanie sieci jednowarstwowej % parametry: W macierz wag sieci % X wektor wejść do sieci % sygnał podany na wejście % wynik: Y wektor wyjść sieci % sygnał na wyjściu sieci beta = 5 ; U =... Y =...

function [ Y ] = dzialaj1 ( W, X ) u 1 y 1 x 1 x 2 x S w k,1 w k,2 w k, S u k u K y k y K X = x1 x 2 x S S 1 W = w1,1 w2,1 L wk,1 w1,2 w2,2 w L K,2 O w w L w 1, S 2, S K, S S K U = u1 = w1,1 x1 + w1,2 x2 + Lw1, S xs =? u w x + w x + Lw x 2 2,1 1 2,2 2 2, S S u w x + w x + Lw x K K 1 K,1 1 K,2 2 K, S S

function [ Y ] = dzialaj1 ( W, X ) u 1 y 1 x 1 x 2 x S w k,1 w k,2 w k, S u k u K y k y K Y ( ) ( ) = y1 = f u1 y 2 f u2 y f ( u ) K K 1 K

y y 1 gdy u 0 = f ( u) = 0 gdy u < 0 1 = f ( u) = 1 + u e β 1.5 1 0.5 0-0.5-10 -8-6 -4-2 0 2 4 6 8 10 ( ) = = ( ) f ' u... y 1 y» beta = 1 ;» U = od -5 do 5 co 0.01;» Y =...» plot ( U, Y )» hold on» beta = 2, Y =..., plot...» beta = 5, Y =..., plot...» beta = 10, Y =..., plot...

przykład - rozpoznawanie zwierząt - w pliku test1.m przykład 1 przykład 2 przykład 3 % wejścia sieci: P = [ 4 2-1 ; % we 1 - ile ma nóg 0.01-1 3.5 ; % we 2 - czy żyje w wodzie 0.01 2 0.01 ; % we 3 - czy umie latać -1 2.5-2 ; % we 4 - czy ma pióra -1.5 2 1.5 ] % we 5 - czy jest jajorodny przykład 1 przykład 2 przykład 3 T = [ 1 0 0 ; % ssak 0 1 0 ; % ptak 0 0 1 ] % ryba Wprzed = init1 ( 5, 3 ) Yprzed = dzialaj1 ( Wprzed, P ) % Wpo = ucz1 ( Wprzed, P, T, 100 ) % Ypo = dzialaj1 ( Wpo, P ) % żądane wyjścia sieci:

ucz1.m - dla sieci o danej macierzy wag W uczy sieć przez zadaną liczbę kroków na podanym ciągu uczącym macierze P i T function [ Wpo ] = ucz1 ( Wprzed, P, T, n ) % funkcja uczy sieć jednowarstwową % na podanym ciągu uczącym (P,T) % przez zadaną liczbę kroków (n) % parametry: Wprzed macierz wag sieci przed uczeniem % P ciąg uczący przykłady - wejścia % T - ciąg uczący żądane wyjścia % dla poszczególnych przykładów % n - liczba kroków % wynik: Wpo macierz wag sieci po uczeniu

ucz1.m - dla sieci o danej macierzy wag W uczy sieć przez zadaną liczbę kroków na podanym ciągu uczącym macierze P i T function [ Wpo ] = ucz1 ( Wprzed, P, T, n ) % schemat funkcji: % losuj numer przykładu % podaj przykład na wejścia i oblicz wyjścia % oblicz błędy na wyjściach % oblicz poprawki wag % dodaj poprawki do wag % i to wszystko n razy

function [ Wpo ] = ucz1 ( Wprzed, P, T, n ) liczbaprzykladow = size ( P, 2 ) ; W = Wprzed ; for i = 1 : n, % losuj numer przykładu nrprzykladu =... % podaj przykład na wejścia i oblicz wyjścia X =... Y =... % oblicz błędy na wyjściach D =... % oblicz poprawki wag dw =... % dodaj poprawki do wag W =... end % i to wszystko n razy Wpo = W ;

function [ Wpo ] = ucz1 ( Wprzed, P, T, n ) x 1 x 2 x 5 X = x1 x 2 x S S 1 w k,1 w k,2 w 2,5 u 1 u 2 dw = dw1,1 dw2,1 L dwk,1 dw1,2 dw2,2 dw L K, 2 O dw dw L dw 1, S 2, 5 K, S S K K y 1 y 2 y K Y = y1 y 2 y u t1 dw 2,5 =? K K 1 t 2 t K K 1 D = d1 d 2 d K K 1

przykład - rozpoznawanie zwierząt - w pliku test1.m przykład 1 przykład 2 przykład 3 % wejścia sieci: P = [ 4 2-1 ; % we 1 - ile ma nóg 0.01-1 3.5 ; % we 2 - czy żyje w wodzie 0.01 2 0.01 ; % we 3 - czy umie latać -1 2.5-2 ; % we 4 - czy ma pióra -1.5 2 1.5 ] % we 5 - czy jest jajorodny przykład 1 przykład 2 przykład 3 T = [ 1 0 0 ; % ssak 0 1 0 ; % ptak 0 0 1 ] % ryba Wprzed = init1 ( 5, 3 ) Yprzed = dzialaj1 ( Wprzed, P ) Wpo = ucz1 ( Wprzed, P, T, 100 ) Ypo = dzialaj1 ( Wpo, P ) % żądane wyjścia sieci:

sprawdzenie: % wejścia sieci: czlowiek = [ 2 ; % we 1 - ile ma nóg 0.2 ; % we 2 - czy żyje w wodzie - Otylia / Konrad 0.2 ; % we 3 - czy umie latać - Adam / Kamil 0.1 ; % we 4 - czy ma pióra - Winnetou / F. Baumgautner 0.05 ] % we 5 - czy jest jajorodny Kuba W. odp = dzialaj1 ( Wpo, czlowiek ) %???

sprawdzenie: % wejścia sieci: nietoperz = [? ; % we 1 - ile ma nóg? ; % we 2 - czy żyje w wodzie? ; % we 3 - czy umie latać? ; % we 4 - czy ma pióra? ] % we 5 - czy jest jajorodny strus =... waz =... odp = dzialaj1 ( Wpo,... )

do zrobienia sprawdź działanie / uczenie sieci przy innym kodowaniu wyjść: przykład 1 przykład 2 przykład 3 % wejścia sieci: P = [ 4 2-1 ; % we 1 - ile ma nóg 0.01-1 3.5 ; % we 2 - czy żyje w wodzie 0.01 2 0.01 ; % we 3 - czy umie latać -1 2.5-2 ; % we 4 - czy ma pióra -1.5 2 1.5 ] % we 5 - czy jest jajorodny przykład 1 przykład 2 przykład 3 % żądane wyjścia sieci: T = [ 1 1 0 ; % dwa zera na wyjściach 1 0 1 ] % oznaczają brak decyzji % ssak ptak ryba Wprzed = init1 ( 5, 2 ) Yprzed = dzialaj1 ( Wprzed, P ) Wpo = ucz1 ( Wprzed, P, T, 100 ) Ypo = dzialaj1 ( Wpo, P )

do zrobienia sprawdź działanie / uczenie sieci przy innym kodowaniu wyjść dodaj do funkcji ucz1 rysowanie wykresu błędu średniokwadratowego w kolejnych krokach uczenia do funkcji ucz1 dodaj parametry: m - maksymalna liczba kroków uczenia e - błąd, który sieć ma osiągnąć - sieć będzie się uczyć do osiągnięcia zadanego błędu, ale nie dłużej niż przez maksymalną liczbę kroków