Systemy wspomagania decyzji

Slides:



Advertisements
Podobne prezentacje
o radialnych funkcjach bazowych
Advertisements

Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Sieć jednokierunkowa wielowarstwowa
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Metody rozwiązywania układów równań liniowych
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Perceptrony
Liniowe Sieci Neuronowe
Dobór optymalnej architektury
Sieci neuronowe - architektury i zastosowania
Sztuczne sieci neuronowe
Sprzężenie zwrotne Patryk Sobczyk.
Sztuczne sieci neuronowe w doświadczeniach nad fizyką spinową w CERN
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
SZTUCZNE SIECI NEURONOWE
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
OPORNOŚĆ HYDRAULICZNA, CHARAKTERYSTYKA PRZEPŁYWU
Sieci neuronowe jednokierunkowe wielowarstwowe
Metody matematyczne w Inżynierii Chemicznej
Sztuczne sieci neuronowe (SSN)
Matematyka.
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Opis matematyczny elementów i układów liniowych
Systemy wspomagania decyzji
Podstawy układów logicznych
Sztuczne Sieci Neuronowe
Systemy Wspomagania Decyzji
Komputerowe Wspomaganie w Inżynierii Materiałowej
Metody matematyczne w Inżynierii Chemicznej
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Systemy Wspomagania Decyzji
Uczenie w Sieciach Rekurencyjnych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
Wnioskowanie w stylu Takagi - Sugeno.
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Systemy wspomagania decyzji
Systemy Wspomagania Decyzji
Zagadnienia AI wykład 5.
Liniowe Sieci Neuronowe
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Stosowane modele równowagi ogólnej (CGE) Wykład 2.
Ekonometria stosowana Heteroskedastyczność składnika losowego Piotr Ciżkowicz Katedra Międzynarodowych Studiów Porównawczych.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Rozpatrzmy następujące zadanie programowania liniowego:
Elementy cyfrowe i układy logiczne
Systemy neuronowo – rozmyte
Perceptrony o dużym marginesie błędu
Jednorównaniowy model regresji liniowej
Perceptrony o dużym marginesie błędu
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Inteligencja Obliczeniowa Perceptrony
Zapis prezentacji:

Systemy wspomagania decyzji Sieci neuronowe – neurony typu Adaline i Hebba

S S x0=1 w0 x1 w1 x2 w2 1 y -1 xn wn d=delta. Pojawia sie tu tzw. „reguła delta”. S w(t+1)=w(t)+hdx(t) d

Neuron typu adaline Model neuronu typu adaline (ang. Adapitive Linear Neuron) został zaproponowany przez Bernarda Widrowa. Schemat ogólny jest pokazany na rysunku. Funkcja aktywacji przyjmowana jest zazwyczaj jako bipolarna (zwana też signum od słowa „znak”): gdzie Wyrażenie na s czasami zapisujemy w sposób zwarty wprowadzając rozszerzony wektor wag tak, aby zawierał próg b oraz rozszerzony wektor wejściowy zawierający dodatkowo jeden impuls x0=1: Wtedy

Budowa tego neuronu jest bardzo podobna do modelu perceptronu, a jedyna różnica dotyczy algorytmu uczenia. Sposób obliczania sygnału wyjściowego jest taki sam jak w klasycznym perceptronie, natomiast przy uczeniu neuronu adaline porównuje się sygnał wzorcowy d z sygnałem s na wyjściu części liniowej neuronu, co daje następujący błąd Uczenie (dobór wag) sprowadza się do minimalizacji funkcji błędu zdefiniowanej wzorem (średni błąd kwadratowy):

Zgodnie z algorytmem – zaproponowanym przez Widrowa – do minimalizacji funkcji błędu stosuje się metodę największego spadku (podobnie jest dla neuronu sigmoidalnego). Tak więc wagi w neuronie typu adaline modyfikujemy następująco w którym h>0 jest współczynnikiem uczenia, E(w) to zdefiniowana poprzednio funkcja błędu. Współczynnik h na ogół dobiera się eksperymentalnie. Pamiętajmy, że w powyższym wzorze występuje rozszerzony wektor wag, a zatem mamy w0=b.

Gradientowa metoda największego spadku E(w1,w2) w1 w2

Obliczamy pochodną Zatem wzór na modyfikację wag przybiera postać Powyższa reguła jest szczególnym przypadkiem tzw. reguły delta (w tym przypadku nie uwzględniamy funkcji aktywacji neuronu).

Do uczenia neuronu będziemy potrzebowali ciągu uczącego gdzie x(t) to wektor sygnałów wejściowych, dt to oczekiwane wartość wyjście (1). Podstawowy krok modyfikacji wag, tj. przejście od wektora uczącego t do t+1, ma postać (w zapisie wektorowym) W zapisie dla poszczególnych składowych mamy (pamiętajmy, że w0=b, x0=1)

Schemat blokowy algorytmu uczenia neuronu typu adaline.

Optymalny dobór wag w1, w2, w3 i progu b=w0 jest następujący: Przykład. Zastosować procedurę uczenia neuronu typu adaline o trzech wejściach (n=3). Posłużyć się danymi z poniższej tabeli. x1 x2 x3 d 1 -1 Optymalny dobór wag w1, w2, w3 i progu b=w0 jest następujący: -0,25; -0,25; 0,75; 0,25. Wypisywać wartości po każdej epoce. Przetestować współczynnik uczenia h=0,1 oraz h=0,001.

Model adaline (podsumowanie) Dany jest ciąg uczący W ciągu tym x(t) oznacza wektor sygnałów wejściowych, a dt oznacza żądaną wartość wyjścia z neuronu. Algorytm uczenia (wersja reguły delta) ma postać

Wpływ współczynnika uczenia h na jakość wag W obu przypadkach wagi początkowe były zerowe (wi=0, b=0). Wynik działania metody adaline: liczba epok=1000, h=0,1: Wynik działania metody adaline: liczba epok=1000, h=0,01:

S S Model neuronu sigmoidalnego x0=1 w0 x1 w1 x2 w2 s f(s) xn wn w ← w + h(d-f(s))f’(s)x d

Neuron sigmoidalny Funkcja aktywacji jest następująca gdzie jest zadanym parametrem. Zatem wartość sygnału wyjściowego jest dana wzorem

Wyrażenie na s możemy zapisać w sposób bardziej zwarty wprowadzając rozszerzony wektor wag tak, aby zawierał próg b (czasami oznaczany też literką theta, q) oraz rozszerzony wektor wejściowy zawierający dodatkowo jeden impuls x0=1: Wtedy

Miarę błędu E(w) definiujemy jako kwadrat różnicy wartości wzorcowej i wartości otrzymanej na wyjściu przy aktualnych wagach Do uczenia używa się reguły największego spadku. Ale teraz – w odróżnieniu od modelu adaline – uwzględniamy także funkcję aktywacji. Wagi uaktualniamy zgodnie ze wzorem metody największego spadku gdzie to gradient funkcji wielu zmiennych E(w)=E(w0,…,wn).

Rozpisując wzór na modyfikacje wag na poszczególne składowe otrzymujemy w którym h>0 jest współczynnikiem uczenia, E(w) to zdefiniowana poprzednio funkcja błędu. Współczynnik h na ogół dobiera się eksperymentalnie. Pamiętajmy, że w powyższym wzorze występuje rozszerzony wektor wag, a zatem mamy w0=b (czasami oznaczany przez q).

Obliczamy pochodną Pochodna funkcji sigmoidalnej (liczyliśmy na wykładzie 01) f’(s) wyraża się przez samą funkcję f (s) następującym wzorem

Ostatecznie wzór na modyfikację wag przybiera postać Powyższa reguła jest szczególnym przypadkiem tzw. reguły delta (w tym przypadku uwzględniamy funkcję aktywacji neuronu).

Podsumowanie (uczenie neuronu sigmoidalnego) Do uczenia neuronu dany jest ciąg uczący gdzie x(t) to wektor sygnałów wejściowych, dt to oczekiwana wartość wyjścia. Podstawowy krok modyfikacji wag, tj. przejście od wektora uczącego t do t+1, ma postać (w zapisie wektorowym) W zapisie dla poszczególnych składowych mamy (pamiętajmy, że w0=b, x0=1)

Model neuronu Hebba x0=1 w0 x1 w1 x2 w2 y S xn wn y w(t+1)=w(t)+hyx(t)

Budowa neuronu Hebba jest podobna jak w przypadku adaline czy sigmoidalnego, ale charakteryzuje się specyficzną metodą uczenia, znaną jako reguła Hebba. Reguła ta występuje w wersji z nauczycielem i bez nauczyciela. Donald O. Hebb badając działanie komórek nerwowych zauważył, że powiązanie dwóch komórek jest wzmacniane, jeśli obie są pobudzane w tym samym czasie. Sformułował to tak: Jeżeli akson komórki A bierze systematycznie udział w pobudzaniu komórki B powodującym jej aktywację, to wywołuje to zmianę metaboliczną w jednej lub obu tych komórkach, która prowadzi do wzrostu skuteczności pobudzania komórki B przez komórkę A. Szczególnie interesująca jest wersja uczenia bez nauczyciela (czasami mówi się „bez nadzoru” od ang. unsupervised). Oznacza to, że na wejście neuronu podawane są tylko „zadania” – bez wskazówek dotyczących rozwiązania.

Zgodnie z regułą Hebba modyfikacja wagi wi — czyli Dwi — jest proporcjonalna do iloczynu sygnału wejściowego xi propagującego się wzdłuż tego połączenia oraz sygnału wyjściowego y: Tak więc podstawowy krok procedury uczenia metodą Hebba bez nauczyciela ma postać We wzorach jak zwykle dodatni parametr h oznaczą stałą uczenia wpływającą na szybkość jak i dokładność procesu uczenia.

Przykład Współczynnik uczenie przyjmujemy h=1, a funkcję aktywacji bipolarną, f(s)=sgn(s). W tym przykładzie nie uwzględniamy progu b (bias), tak więc nie ma wagi w0=b oraz wejścia x0=1.

Wykonując kolejne kroki algorytmu Hebba otrzymujemy w pierwszej epoce następujące wektory (kolumny) wag: Po wykonaniu powyższego przykładu widzimy, że w przypadku bipolarnej funkcji aktywacji i współczynnika uczenia h=1 reguła Hebba sprowadza się do dodawania lub odejmowania wektora sygnałów wejściowych od aktualnie obowiązujących wag. Wykonać analogiczny trening ale z sigmoidalną funkcją aktywacji (przyjąć b=1).

Pewnym problemem w podstawowej metodzie Hebba jest to, że wagi mają tendencję do przyjmowania dużych wartości, gdyż w każdym cyklu uczącym dodajemy przyrosty Dw: Jedną z metod poprawy tej reguły jest użycie tzw. współczynnika zapominania 0≤g ≤ 1, który zmniejsza znaczenie aktualnych wag. Zmodyfikowana reguła Hebba ma postać: Współczynnik zapominania g stanowi najczęściej niewielki procent stałej uczenia h>0. Typowe wartości to g<0,1.

Neuron Hebba występuje także w wersji z nauczycielem Neuron Hebba występuje także w wersji z nauczycielem. Wtedy modyfikacja wag w cyklu uczenia ma postać gdzie d oznacza sygnał wzorcowy. Tak więc podstawowy krok procedury uczenia ma wtedy postać

Przykład Przykład dotyczy uczenia neuronu z wykorzystaniem reguły Hebba z nauczycielem. Zadanie polega na modyfikacji wag, aby rozpoznawać cyfry 1 i 4. Białym pikselom przypisujemy -1, a czarnym +1.

Otrzymujemy następujące dwa wektory ciągu uczącego: Jako funkcję aktywacji użyjemy funkcji typu signum współczynnik uczenia h=0,2, a wagi początkowe zerowe (w1=w2=0).