Metody Sztucznej Inteligencji II

Podobne dokumenty
Podstawy sztucznej inteligencji

Inteligentne systemy przeciw atakom sieciowym

Podstawy sztucznej inteligencji

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczne sieci neuronowe

Wstęp do sztucznych sieci neuronowych

Podstawy Sztucznej Inteligencji (PSZT)

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

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

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

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

wiedzy Sieci neuronowe

Elementy inteligencji obliczeniowej

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

Sztuczne sieci neuronowe (SNN)

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Sztuczne sieci neuronowe

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

MODELOWANIE RZECZYWISTOŚCI

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

Sieci neuronowe w Statistica

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

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

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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.

Lekcja 5: Sieć Kohonena i sieć ART

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

6. Perceptron Rosenblatta

Temat: Sieci neuronowe oraz technologia CUDA

Zastosowania sieci neuronowych

Systemy uczące się wykład 2

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

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

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

Uczenie sieci neuronowych i bayesowskich

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Projekt Sieci neuronowe

1. Logika, funkcje logiczne, preceptron.

Zastosowania sieci neuronowych

Widzenie komputerowe

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

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

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

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

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

Sztuczna inteligencja

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Uczenie sieci typu MLP

Sztuczne sieci neuronowe. Uczenie, zastosowania

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


wiedzy Sieci neuronowe (c.d.)

Wykład 1: Wprowadzenie do sieci neuronowych

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

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Algorytmy sztucznej inteligencji

Elementy kognitywistyki III: Modele i architektury poznawcze

Przykładowa analiza danych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

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

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

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

ALGORYTMY SZTUCZNEJ INTELIGENCJI

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

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

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

Wstęp do teorii sztucznej inteligencji

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Obliczenia Naturalne - Sztuczne sieci neuronowe

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

SZTUCZNA INTELIGENCJA

Systemy uczące się Lab 4

I EKSPLORACJA DANYCH

Sztuczne sieci neuronowe

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

Sztuczne siei neuronowe - wprowadzenie

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wprowadzenie do klasyfikacji

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

METODY INŻYNIERII WIEDZY

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

Podstawy sztucznej inteligencji

SIECI REKURENCYJNE SIECI HOPFIELDA

Wprowadzenie do uczenia maszynowego

Inteligentne systemy informacyjne

FUNKCJA LINIOWA. A) B) C) D) Wskaż, dla którego funkcja liniowa określona wzorem jest stała. A) B) C) D)

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

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

Klasyfikacja LDA + walidacja

MODELOWANIE RZECZYWISTOŚCI

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

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

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

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Transkrypt:

17 marca 2013

Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału elektrycznego przekazywana do neuronu przekracza pewną wartość, neuron ulega depolaryzacji, powodując pobudzenie komórki nerwowej. Pobudzenie polega na wyładowaniu neuronu, a powstały sygnał przesyłany jest do innych neuronów. Siła wyładowania neuronu jest niezależna od bieżącej depolaryzacji, siły, która go spowodowała. Dopóki prąd przekracza określony próg, wielkość wyładowanie pozostanie taka sama (w danym neuronie).

Budowa neuronu biologicznego Neuron składa się z: 1 Wielu dendrytów, których celem jest pobieranie impulsów od innych neuronów. 2 Ciała komórki z jądrem. 3 Jednego aksonu, który przekazuje wyładowanie do kolejnych komórek. 4 Synaps neuroprzekaźników osłabiających lub wzmacniających sygnał wyjściowy. 1 2 1 http://www.smartpublications.com/articles/view/cholineuridine-builds-new-

Sztuczna sieć neuronowa Sztuczna sieć neuronowa Sztuczne sieci neuronowe (SSN) łączą w sobie małe procesory (jednostki przetwarzania), a każdy naśladuje funkcje pojedynczego neuronu biologicznego. W ten sposób tworzą sztuczny mózg do przetwarzania informacji. Dzięki połączeniu wielu takich sztucznych neuronów, z których każdy posiada jedno wyjście, SSN może wykonywać złożone funkcje. Sztuczna neuron Każdy procesor, podobnie jak neuron, ma poziom progowy, który musi być przekroczony nim nastąpi transmisja sygnału. Binarny charakter procesora można porównać do włącznika światła.

Sztuczny Neuron Działanie neuronu o = ϕ(net) = ϕ( n x i w i ) gdzie x i wejścia i x 0 = 1, w i wagi, ϕ funkcja aktywacji, net pobudzenie neuronu, o wyjście z neuronu i=0

Cechy neuronu Wejścia i wagi są liczbami rzeczywistymi dodatnimi i ujemnymi. Jeżeli jakaś cecha (wejście) powoduje odpalenie neuronu, waga będzie dodatnia, a jeżeli cecha ma działanie hamujące to waga jest ujemna. Funkcję aktywacji dobiera się do rozwiązywanego zadania. Wagi są dopasowywane przez pewną regułę uczenia tak, by zależność wejście/wyjście w neuronie spełniało pewien określony cel.

Perceptron prosty (Rosenblatt 1962) Perceptron prosty jest najprostszą SSN, używaną do klasyfikacji binarnej. Perceptron prosty składa się z pojedynczego neuronu z regulacją wag. Rosenblatt zaproponowała twierdzenie zbieżności perceptronu, stwierdzając, że konwergencja jest gwarantowana wtedy i tylko wtedy, gdy wzorce wykorzystywane do uczenia perceptronu tworzą dwie separowalne klasy. Powierzchnia decyzyjna zostanie umieszczona w formie hiperpłaszczyzny gdzieś pomiędzy tymi dwiema grupami.

Perceptron model Funkcja aktywacji f ( w, x ) = { 1 if w, x > 0; 0 if w, x 0.

Zadanie klasyfikacji binarnej Klasyfikacja binarna Klasyfikacja polega na przydzieleniu obiektu do pewnej klasy na podstawie jego atrybutów (danych wejściowych). W klasyfikacji binarnej wyjściem jest dwupunktowe wyjście (możliwe dwie klasy na wyjściu). Niech dany będzie zbiór uczący (zbiór par) (x i, y i ) i = 1,..., I, gdzie x i = (x i1, x i2,..., x in ) R n są danymi wejściowymi a y i {0, 1} są skojarzonymi z nimi klasami (wyjściami).

Płaszczyzna separacji klas Równanie płaszczyzny w przestrzeni R n w 0 + w 1 x 1 + w 2 x 2 + + w n x n = 0 czyli należy znaleźć taki zestaw w 0, w 1, w 2,..., w n, że oraz i,yi =1w 0 + w 1 x 1 + w 2 x 2 + + w n x n > 0 i,yi =0w 0 + w 1 x 1 + w 2 x 2 + + w n x n 0, gdy dodamy jeszcze jeden punkt do wejść x i = (1, x i1, x i2,..., x in ), to równanie płaszczyzny: w, x i = n w j x ij j=0

Przykład dwuwymiarowy Dane uczące: x 1 x 2 y p 1 1 1 1 p 2 1 0 0 p 3 0 1 0 p 4 0 0 0 Nauczony neuron (ustalone wagi): Przestrzeń wejść:

Uczenie SSN Uczenie Uczenie polega na automatycznym doborze wag w SSN, na podstawie zbioru przykładów nazwanych zbiorem uczącym. Zaczyna się z losowymi małymi wagami i iteracyjnie zmienia się wagi, dopóki wszystkie przykłady uczące nie zostaną poprawnie zaklasyfikowane (lub z niewielkim błędem). Wyróżnia się dwa typy uczenia, zależy od wykorzystanej sieci i przykładów (zbioru uczącego): 1 nadzorowane (z nauczycielem), gdy w zbiorze danych do każdej próbki podana jest poprawna klasa 2 nienadzorowane (bez nauczyciela), zbiór danych nie ma wektora odpowiedzi.

Algorytm uczenia perceptronu 1 Niech w(0) = (0,..., 0) lub wartości losowe z przedziału [ 1, 1], k = 0 2 Dopóki zbiór punktów uczących pozostaje błędnie klasyfikowany tj. zbiór A = {x i : y i f ( w, x i )} pozostaje niepusty, powtarzaj: 1 Wylosuj ze zbioru A dowolny punkt 2 Aktualizuj wagi według następuącej reguły: 3 k = k + 1 w(k + 1) = w(k) + ηex i Gdzie η współczynnik uczenia η (0, 1]. A e jest wartością błędu popełnianego na prezentowanej próbce.

Analiza algorytmu na przykładzie testowym Przykład pochodzi z książki Neural Network Design, M. T. Hagan, H. B. Demuth, M. H. Beale. Zbiór uczący {p 1 = (1, 2), y 1 = 1} {p 2 = ( 1, 2), y 2 = 0} {p 3 = (0, 1), y 3 = 0} Architektura sieci: Przestrzeń wejść:

Konsekwencje braku wejścia x 0 Usunięcie dodatkowego wejścia powoduje, że płaszczyzna decyzyjna musi przejść przez początek układu współrzędnych, bo: w 1 x 1 + w 2 x 2 = 0 to równanie prostej przechodzącej przez punkt (0, 0). Trzeba być pewnym, że taka sieć rozwiąże problem separacji punktu x 1 od punktów x 2 i x 3. Jak widać rozwiązań jest nieskończenie wiele.

Cel uczenia Rysunek pokazuje wektory wag, które odpowiadają granicom decyzyjnym. Wektor jest prostopadły do granicy decyzyjnej. Reguła ucząca ma znaleźć wektor wag, który wskazuje w jednym ze wskazanych kierunków. Długość wektora wag nie ma znaczenia, ważny jest tylko kierunek.

Ustalenie wartości początkowych wag Zakłada się losowo ustalenie wartości wag początkowych i tak: w(0) = (1, 0.8) Na wykresie zaprezentowano początkowy wektor wag i granicę decyzyjną dla takich wag.

Prezentacja pierwszego punktu ze zbioru uczącego Pierwszym prezentowanym punktem jest x 1. f ( w, x i ) = f (1 1 + ( 0.8) 2) = f ( 0.6) = 0 Wiemy, że y 1 = 1, zatem sieć popełniła błąd i wskazała złą klasę dla punktu x 1. Jak widać na rysunku z poprzedniego slajdu granica decyzyjna jest nieprawidłowo położona w stosunku do punktu uczącego. Powinno się zatem przesunąć wektor wag nieznacznie w kierunku punktu x 1. Można tego dokonać dodając do wektora wag wektor x i.

Wnioski co do poprawki wag Reguła korekty wag (1) Jeżeli y i = 1 i f ( w, x i ) = 0 to w(k + 1) = w(k) + x i Wagi po korekcie: w(1) = (1 + 1, 0.8 + 2) = (2, 1.2)

Prezentacja drugiego punktu ze zbioru uczącego Drugim prezentowanym punktem jest x 2. f ( w, x i ) = f (2 ( 1) + 1.2 2) = f (0.4) = 1 Wiemy, że y 2 = 0, zatem sieć popełniła błąd i wskazała złą klasę dla punktu x 2. Jak widać na rysunku z poprzedniego slajdu granica decyzyjna jest nieprawidłowo położona w stosunku do punktu uczącego. Powinno się zatem odsunąć wektor wag nieznacznie od punktu x 2. Można tego dokonać odejmując do wektora wag wektor x i.

Wnioski co do poprawki wag Reguła korekty wag (2) Jeżeli y i = 0 i f ( w, x i ) = 1 to w(k + 1) = w(k) x i Wagi po korekcie: w(2) = (2 ( 1), 1.2 2) = (3, 0.8)

Prezentacja trzeciego punktu ze zbioru uczącego Trzecim prezentowanym punktem jest x 3. f ( w, x i ) = f (3 0 + ( 0.8) ( 1)) = f (0.8) = 1 Wiemy, że y 2 = 0, zatem sieć popełniła błąd i wskazała złą klasę dla punktu x 2. Stosując regułę 2 poprawia się wagi: w(3) = (3 0, ( 0.8) ( 1)) = (3, 0.2)

Kolejna seria prezentacji wzorców uczących Prezentując ponownie wszystkie punkty uczące uzyskujemy bezbłędne sklasyfikowanie wszystkich 3 punktów. Oznacza to, że wagi w = (3, 0.2) są rozwiązaniem dla uczonego klasyfikatora. Korekty wag 1 Jeżeli y i = 1 i f ( w, x i ) = 0 to w(k + 1) = w(k) + x i 2 Jeżeli y i = 0 i f ( w, x i ) = 1 to w(k + 1) = w(k) x i 3 Jeżeli y i = f ( w, x i ) to w(k + 1) = w(k)

Reguła uczenia perceptronu Potrójna reguła na korektę wag może być zapisana w postaci pojedynczego równania. Niech błąd popełniany przez sieć neuronową: e = y i f ( w, x i ) 1 Jeżeli e = 1 to w(k + 1) = w(k) + x i 2 Jeżeli e = 1 to w(k + 1) = w(k) x i 3 Jeżeli e = 0 to w(k + 1) = w(k) Korekta regułą perceptronu (delta) w(k + 1) = w(k) + ex i

Perceptron prosty jednowarstowy Pojedyncza warstwa neuronów (Single layer perceptron) - cechy 1 Pewna liczba neuronów S jest ułożona w warstwie i wszystkie wejścia R sieci zasilają wszystkie neurony. S R. 2 Wyjście z sieci jest wektorem. Wagi są macierzą S R. 3 Umożliwia klasyfikację do większej liczby klas. 4 Zazwyczaj wszystkie neurony mają tą samą funkcję aktywacji.