Zastosowania sieci neuronowych

Podobne dokumenty
Zastosowania sieci neuronowych

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

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

Metody Sztucznej Inteligencji II

ĆWICZENIE 5: Sztuczne sieci neuronowe

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

Uczenie sieci neuronowych i bayesowskich

Podstawy Sztucznej Inteligencji

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

Sieci neuronowe w Statistica

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

1. Logika, funkcje logiczne, preceptron.

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

Sztuczne sieci neuronowe (SNN)

Sztuczne siei neuronowe - wprowadzenie

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Inteligentne systemy przeciw atakom sieciowym


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

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

Podstawy sztucznej inteligencji

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

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

MATLAB Neural Network Toolbox przegląd

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Sztuczne sieci neuronowe

Instrukcja realizacji ćwiczenia

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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.

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

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

Metody systemowe i decyzyjne w informatyce

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

Podstawy Sztucznej Inteligencji (PSZT)

Elementy kognitywistyki III: Modele i architektury poznawcze

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

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

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

Elementy inteligencji obliczeniowej

Projekt Sieci neuronowe

Lekcja 5: Sieć Kohonena i sieć ART

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

Politechnika Warszawska

TEORETYCZNE PODSTAWY INFORMATYKI

6. Perceptron Rosenblatta

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

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

Wstęp do sztucznych sieci neuronowych

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Zastosowania sieci neuronowych predykcja - giełda

Przykładowa analiza danych

Optymalizacja systemów

Uczenie sieci typu MLP

ESI: Perceptrony proste i liniowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

SIECI REKURENCYJNE SIECI HOPFIELDA

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

Algorytmy sztucznej inteligencji

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

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

Algorytmy wstecznej propagacji sieci neuronowych

I EKSPLORACJA DANYCH

Uczenie Wielowarstwowych Sieci Neuronów o

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Algorytm grupowania danych typu kwantyzacji wektorów

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

METODY INŻYNIERII WIEDZY

ALGORYTM RANDOM FOREST

Zadanie 2.: Perceptron wielowarstwowy

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Sztuczna inteligencja

Metody systemowe i decyzyjne w informatyce

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

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

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

SIECI RBF (RADIAL BASIS FUNCTIONS)

Zad. 3: Układ równań liniowych

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Rozpoznawanie obrazów

Widzenie komputerowe

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

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

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

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

Wstęp do teorii sztucznej inteligencji

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

Obliczenia inteligentne Zadanie 4

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

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

Transkrypt:

Zastosowania sieci neuronowych klasyfikacja LABORKA Piotr Ciskowski

zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 Przykład klasyfikacji zwierząt z Tadeusiewicza z wcześniejszych zajęć o sieciach jednowarstwowych: 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 % żądane wyjścia sieci: Naucz identyczną sieć jednowarstwową (5-3) rozwiązywać to proste zadanie przy użyciu funkcji z toolbox u MATLABa

zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 % 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 % żądane wyjścia sieci: T = [ 1 0 0 ; % ssak 0 1 0 ; % ptak 0 0 1 ] % ryba Pwsadowe = P Twsadowe = T Pprzyrostowe = { P(:,1) P(:,2) P(:,3) } Tprzyrostowe = { T(:,1) T(:,2) T(:,3) }

zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 utwórz sieć jednowarstwową liniową: siecprzed = newlin ( Pwsadowe, Twsadowe ) % nowszy MATLAB (2012b) siecprzed = newlin ( minmax(pwsadowe), 3 ) % starszy MATLAB zobacz, jak działa: odpprzed = sim ( siecprzed, Pwsadowe ) ustaw cel uczenia (błąd średniokwadratowy) na niezbyt ambitny: siecprzed.trainparam.goal= 0.1; naucz sieć: siecpo = train ( siecprzed, Pwsadowe, Twsadowe ) ; zobacz, jak działa: odppo = sim ( siecpo, Pwsadowe )

zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 zmień cel uczenia na ambitniejszy i doucz sieć: siecpo.trainparam.goal = 0.01; siecpo = train ( siecpo, Pwsadowe, Twsadowe ) ; zobacz, jak działa: odppo = sim ( siecpo, Pwsadowe )

zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 zmień metodę uczenia na przyrostową po 1 przykładzie: siecprzed.adaptparam.passes = 1 ; [ siecpo, y, e ] = adapt ( siecprzed, Pprzyrostowe, Tprzyrostowe ) ; mse ( e ) douczaj tę samą sieć przyrostowo po 1 przykładzie: siecpo.adaptparam.passes = 1 ; [ siecpo, y, e ] = adapt ( siecpo, Pprzyrostowe, Tprzyrostowe ) ; % to... mse ( e ) %... i to powtarzaj douczaj tę samą sieć przyrostowo poprawki wag co 1 przykład - analiza co 5 przykładów: siecpo.adaptparam.passes = 5 ; [ siecpo, y, e ] = adapt ( siecpo, Pprzyrostowe, Tprzyrostowe ) ; % to... mse ( e ) %... i to powtarzaj zobacz, jak sieć działa: odppo = sim ( siecpo, Pprzyrostowe ) odppo = sim ( siecpo, Pwsadowe )

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 Znaki, pokazane poniżej, z których każdy reprezentuje inną klasę, zajmują wierzchołki 35-wymiarowej kostki i są liniowo separowalne. Jako metodę kodowania klas na wyjściu sieci zastosuj reprezentację lokalną po jednym neuronie wyjściowym na każdą klasę. Zastosuj sieć jednowarstwową - o 12 neuronach - z unipolarną (0-1) sigmoidalną funkcją aktywacji - ze współczynnikiem nachylenia β równym 1, - niech neurony posiadają wejścia zerowe (biasy) o stałej wartości równej -1 Przeprowadź 200 cykli uczenia sieci metodą delta dla kilku wartości współczynnika uczenia: η = 4, 2, 1, 0.5, 0.25

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 Użyj jednego zbioru danych (binarnie zakodowanego poniższego obrazka) jako zbioru uczącego i sprawdzającego. Wyjścia sieci interpretuj zarówno w sposób ciągły (od 0 do 1), jak i dyskretny (zaokrąglając sygnały wyjściowe wszystkich neuronów do 0 lub 1) Błąd łączny sieci zdefiniowany jest następująco: P K 1 ( p) ( p) E = ( t ) 2 k yk p= 1 k = 1 gdzie: P liczba przykładów K liczba wyjść sieci t wyjścia żądane, y wyjścia sieci (ciągłe lub dyskretne) Porównaj wyniki uczenia z wynikami Żurady (błąd łączny, dany wzorem wyżej, dla dyskretnych wyjść sieci) - η = 4 - E = 1.0040 - η = 2 - E = 1.0040 - η = 1 - E = 1.0040 - η = 0.5 - E = 1.0040 - η = 0.25 - E = 1.0040 2

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 zdefiniuj zbiór uczący (najwygodniej będzie w m-pliku - skrypcie): % zbiór uczący - kropkowane literki: litera_a = [ 0 1 1 1 0... 1 0 0 0 1... 1 0 0 0 1... 1 1 1 1 1... 1 0 0 0 1... 1 0 0 0 1... 1 0 0 0 1 ] ; litera_b =...... litera_x =...

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 zdefiniuj zbiór uczący (najwygodniej będzie w m-pliku - skrypcie):... litery_piksele = [ litera_a ;... litera_b ;... litera_c ;... litera_pyt ;... litera_e ;... litera_f ;... litera_g ;... litera_h ;... litera_s ;... litera_t ;... litera_y ;... litera_x ] ; % wszystkie litery razem % każda litera w jednym wierszu % każdy wiersz % = kolejny przykład % (wejścia dla sieci)

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 zdefiniuj zbiór uczący (najwygodniej będzie w m-pliku - skrypcie):... litery_klasy = eye ( 12 ) ; litery_etykiety = [ 'A',... 'B',... 'C',... '?',... 'E', 'F', 'G', 'H',... 'S', 'T', 'Y', 'X' ] ; P = litery_piksele' ; T = litery_klasy' ; % ciąg uczący:

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 utwórz sieć jednowarstwową: - o 12 neuronach - z unipolarną (0-1) sigmoidalną funkcją aktywacji - ze współczynnikiem nachylenia β równym 1, - niech neurony posiadają wejścia zerowe (biasy) o stałej wartości równej -1 siecprzed = newp... sprawdź, czy zmiana funkcji aktywacji oraz adaptacji wag była skuteczna zmień funkcję błędu używaną przez sieć na błąd średniokwadratowy siecprzed.layers{1}.... siecprzed.inputweights{1}.... siecprzed.biases{1}.... siecprzed.performfcn =...

zadanie 2. klasyfikacja znaków sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.2, str. 123 zmień parametry uczenia sieci liczbę epok na 200, wsp. uczenia na 4 sprawdź, jak sieć się uczy siecprzed... siecprzed...... = train... Sprawdź, jak sieć się uczy dla pozostałych współczynników uczenia Te 200 cykli uczenia sieci u Żurady to chyba jednak było 200 pokazów (pojedynczych), a nie 200 epok (przez cały ciąg uczący) zamień train na adapt i przeleć przez 200 pokazów (a nie epok), narysuj przebiegu uczenia

zadanie 3. klasyfikacja: XOR standardowy sieć dwuwarstwowa źródło: własne Naucz sieć dwuwarstwową rozwiązywania problemu XOR Użyj funkcji toolbox owych Porównaj szybkość uczenia różnymi metodami, przy różnych parametrach Przeanalizuj wyniki uczenia

zadanie 4. klasyfikacja: XOR funkcjonalny sieć jednowarstwowa źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.6, str. 152 Porównaj naukę rozwiązywania zadania XOR 2D przez sieci dwuwarstwowe o strukturze: 2-2-1 z nauką tego samego problemu przez jednowarstwowe sieci z połączeniami funkcyjnymi jeden neuron z dodatkowym wejściem x1x2 Powtórz to samo dla problemu XOR 3D z odpowiednio zmodyfikowanymi architekturami sieci

zadanie 5. ważność cech kryterium Kołmogorowa źródło: własne Napisz funkcję, która analizuje ciąg uczący i tworzy ranking cech wg miary Kołmogorowa: Funkcja mogłaby: M zbiór klas p j prawdopodobieństwa a priori poszczególnych klas f(x) łączny rozkład danej cechy f j (x) rozkład danej cechy w poszczególnych klasach przyjmować macierze ze zbiorami uczącymi (P i T wejścia i żądane wyjścia kolejnych przykładów) rozpoznawać, ile jest klas j M dla każdej cechy obliczać miarę Kołmogorowa zwracać ranking cech w postaci wektora ( ) ( ) K = p f x f x dx Przeanalizuj cechy dla kilku standardowych problemów klasyfikacyjnych (np. irys) Naucz sieć używając wszystkich wejść, a następnie odrzucając po kolei najmniej znaczące cechy - zaobserwuj zachowanie sieci (osiągnięty błąd klasyfikacji) j X j

zadanie 6. klasyfikacja: STATISTICA + MATLAB źródło: własne Naucz sieć klasyfikować dane znalezione w sieci, np. z bazy zbiorów uczących UCI Machine Learning Repository W programie STATISTICA przeprowadź wstępną analizę danych wejściowych (histogramy warunkowe, wykresy rozrzutu, statystyki opisowe), wybierz najlepsze zmienne wejściowe, przeprowadź wstępne rozpoznawcze uczenie różnych sieci neuronowych Sporządź ranking cech patrz zad. 5 Wybierz najlepszą architekturę sieci oraz metodę uczenia, przeanalizuj ją dokładnie, ewentualnie dopieść, wygeneruj kod w STATSITICe a potem naucz sieć dokładnie i wygeneruj kod w MATLABie

zadanie 5. ważność cech kryterium Kołmogorowa zadanie 6. klasyfikacja: STATISTICA + MATLAB Przykładowe dane z helpów/dem MATLABa: load iris_dataset load cancer_dataset load glass_dataset load thyroid_dataset load wine_dataset