Systemy wspomagania decyzji

Slides:



Advertisements
Podobne prezentacje
Systemy wspomagania decyzji
Advertisements

Komputerowe Wspomaganie w Inżynierii Materiałowej
Ciekawostki o liczbach
Czyli jak zrobić prezentację komputerową?
Zastosowanie osi symetrii i wielokątów w przyrodzie
Co można zwiedzić w WIELKIEJ BRYTANII Pamiętajmy o miejscach które możemy zwiedzić na przykład w WIELKIEJ BRYTANII. I też czym różni się ta wyspa od naszego.
Zadania i łamigówki matematyczne.
SEKTA grupa czy ruch religijny, wyodrębniony z jakiejś religii lub związek wyznaniowy, który oderwał się od któregoś z kościołów czy wspólnot religijnych.
Ułamki dziesiętne.
funkcja przyjmuje wartości dodatnie, a dla jakich ujemne?
Prezentację przygotowała Bożena Piekar
FUNKCJA L I N I O W A Autorzy: Jolanta Kaczka Magdalena Wierdak
DYFRAKCJA ŚWIATŁA NA SIATCE DYNAMICZNEJ
15 marca 2006 roku Dzień Przedsiębiorczości Dagmara Wajszczyk Anna Walczak Kl. III LP w Zespole Ponadgimnazjalnych Szkół Zawodowych i Ogólnokształcących.
Krzysztof Kucab Rzeszów, 2012
Analiza matematyczna III. Funkcje Funkcje II – własności podstawowe
III. Proste zagadnienia kwantowe
Wycieczka w Pieniny Fotograficzna opowieść o tym, jak zespolone siły klas I a, II h, III a i III b zdobyły 9 VI 2006 r. Trzy Korony. Prezentację przygotowała.
Systemy klastrowe inaczej klasterowe.
Portal Systemu Jakości Kształcenia Jak się zalogować? Instrukcja dla pracowników UMCS Przygotowanie: Urszula Wojtczak, Zespół Obsługi Systemu Jakości Kształcenia.
Elektronika cyfrowa Prezentacja Remka Kondrackiego.
Prąd Elektryczny.
Kolejna gra mająca na celu pokazanie świata kierowców ścigających się w nielegalnych ulicznych wyścigach podrasowanymi do granic możliwości samochodami.
Podstawowe jednostki informacji, co to jest bit i bajt?
Młodzież a wolontariat.. Opracowanie: Judyta Szłapa Urszula Buczek.
Prezentacja z przedmiotu „systemy wizyjne”
Podstawy programowania
fotografie - Marcel Cohen
Nieformalne miejsca spotkań. ANKIETY Przeprowadziliśmy wśród uczniów gimnazjum ankietę na temat nieformalnych miejsc spotkań. Przedstawimy przykładowe.
Ach te baby... Ach te baby....
ALGORYTMY.
Regresja krzywoliniowa
Uwaga !!! Uczniowie SP 32 w Toruniu ! Zapraszamy was i Wasze rodziny do wzięcia udziału w Festynie Zdrowia, który odbędzie się 31 maja 2013 roku podczas.
ALGORYTM.
Analiza stanu naprężenia
Wykonała Sylwia Kozber
Prąd elektryczny.
Antonie de Saint-Exupery
Pęd Wielkością charakteryzującą ruch ciała jest prędkość. Zmiana ruchu, tzn. zmiana prędkości, wymaga pokonania oporu bezwładności. Miarą bezwładności.
1 Oddziaływanie grawitacyjne. 2 Eliminując efekty związane z oporem powietrza możemy stwierdzić, że wszystkie ciała i lekkie i ciężkie spadają z tym samym.
xHTML jako rozszerzenie HTML
PHP Operacje na datach Damian Urbańczyk. Operacje na datach? Dzięki odpowiednim funkcjom PHP, możemy dokonywać operacji na datach. Funkcje date() i time()
HTML Podstawy języka hipertekstowego Damian Urbańczyk.
Ruch niejednostajny Wykres zależności Wykres w zależności od prędkości susającego zająca (1) i poruszającego się żółwia (2) od czasu trwania ruchu.
Ruch jednostajny po okręgu Ciało porusza się ruchem jednostajnym oraz torem tego ruchu jest okrąg.
Optyka Widmo Światła Białego Dyfrakcja i Interferencja
Przygotowali : Szymon, Filip i Piotrek
SKĄD WIEM, KIM JESTEM? O TOŻSAMOśCI I TOŻSAMOŚCIACH
RÓWNANIA Wprowadzenie.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Warsztaty C# Część 3 Grzegorz Piotrowski Grupa.NET PO
Opracowała: Iwona Kowalik
SKALA MAPY Skala – stosunek odległości na mapie do odpowiadającej jej odległości w terenie. Skala najczęściej wyrażona jest w postaci ułamka 1:S, np. 1:10.
1 Strategia dziel i zwyciężaj Wiele ważnych algorytmów ma strukturą rekurencyjną. W celu rozwiązania rozwiązania problemu algorytm wywołuje sam siebie.
Uczenie w Sieciach Wielowarstwowych
Struktury Sieci Neuronowych
Systemy wspomagania decyzji
Prostokątny układ współrzędnych na płaszczyźnie
Są w życiu chwile, kiedy tak bardzo odczuwamy brak obecności innych,
ZŁUDZENIA OPTYCZNE Większe, mniejsze? Jest czy nie ma? Wygięte! ..?
Zadanie: przy pomocy algorytmu simplex rozwiązać następujące zadanie programowania liniowego: przy ograniczeniach: Autor: Michał KĘPIEŃ (I4X2S0)
Temat 5: Elementy meta.
Temat 1: Składnia języka HTML
Temat 6: Elementy podstawowe
Temat 4: Znaki diakrytyczne i definiowanie języka dokumentu
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Rzeszów r.. Liczba osób badanych 3 Odpowiedzi badanych na temat stosowania krzyku przez rodziców 4.
Strategia rozwiązywania testów wyboru Radom, styczeń 2009.
1 Technika cyfrowa Systemy zapisu liczb wykonał Andrzej Poczopko.
Systemy wspomagania decyzji
Zapis prezentacji:

Systemy wspomagania decyzji Model neuronu Hebba Wprowadzenie do sieci rekurencyjnych – sieć Hopfielda

Obserwacje działania komórek nerwowych doprowadziły D Obserwacje działania komórek nerwowych doprowadziły D. Hebba do wniosku, że połączenie synaptyczne dwóch komórek jest wzmacniane, gdy obie są pobudzane jednocześnie. W języku sieci neuronowych można to wyrazić tak: jeśli j-ta komórka generująca sygnał yj jest połączona z i-tą komórka generująca sygnał yi, to modyfikacja wagi wij tego połączenia jest zależna od sygnałów yj oraz yi. Klasyczna formuła Hebba, które modeluje tę sytuację jest następująca Reguła Hebba charakteryzuje się tym, że wagi mają tendencję do nieograniczonego wzrostu. Jednym ze sposobów poprawy procesu uczenia jest zmniejszenie wpływu wag z poprzedniego etapu na aktualizowaną wartość poprzez wprowadzenie tzw. współczynnika zapominania 0 ≤ g ≤ 1.

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

Budowa neuronu Hebba jest podobna jak w przypadku adaline’a 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. 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. Zgodnie z regułą Hebba zmiana wagi Dwi jest proporcjonalna do iloczynu sygnału wejściowego oraz wyjściowego: Tak więc podstawowy krok procedury uczenia ma postać

Sieci rekurencyjne

Sieci rekurencyjne W dotychczas omawianych sieciach nie rozważaliśmy przypadku, w którym sygnał otrzymany na wyjściu trafiał powtórnie na wejścia sieci. Taki obieg sygnału nazywamy sprzężeniem zwrotnym, a sieci w których to występuje nazywamy sieciami rekurencyjnymi. Najbardziej znane sieci rekurencyjne to: sieć Hopfielda siec Hamminga sieć RTRN (ang. Real Time Recurrent Network) sieć Elmana sieć BAM (ang. Bidirectional Associative Memory)

Przykład sieci rekurencyjnej S, f w11 w12 w13 w21 w22 w23 w31 w32 w33 y1 y2 y3 Na rysunku widać jednowarstwową sieć ze sprzężeniem zwrotnym. Widać, że wyjścia z poszczególnych neuronów mogą być także kierowane na wejścia (tych samych jak i innych neuronów). Na rysunku nie zaznaczono sygnałów wejściowych, x1, x2, x3, gdyż są one podawane do sieci tylko raz.

Model sieci Hopfielda (n=3) w12 w13 w21 w23 w31 w32 y1 y2 y3 -1 1 Klasyczna sieć Hopfielda nie posiada sprzężenia neuronu z samym sobą, tzn. waga takiego połączenia jest równa zero: wii=0. Dlatego często na rysunkach z tymi sieciami nie jest w ogóle rysowane połączenie i—i.

Klasyczna sieć Hopfielda jest więc siecią jednowarstwową składającą się z neuronów połączonych każdy z każdym z wyjątkiem sprzężenia neuronu samego ze sobą. Poniższe trzy warunki są charakterystyczne dla klasycznej sieci Hopfielda: 1) 2) Wagi tej sieci są symetryczne: Zatem waga łącząca neuron j-ty z i-tym jest taka sama, jak waga łącząca i-ty z j-tym. 3) Funkcje aktywacji w sieci Hopfielda są dwustanowe (np. bipolarna {-1, +1} lub unipolarna {0,+1}).

Sposób funkcjonowania sieci Hopfielda jest odmienny od dotychczas poznanych modeli sieci jednokierunkowych. Po pierwsze uczenie (czyli dobór wag) polega na jednorazowym przypisaniu im odpowiednich wartości (nie trzeba stosować jakichś skomplikowanych procedur jak np. wsteczna propagacja). W trybie odtworzeniowym wagi nie ulegają modyfikacjom, natomiast sygnał wejściowy inicjuje pobudzenie sieci, która dzięki mechanizmowi sprzężenia zwrotnego wielokrotnie przyjmuje na swoje wejście zmodyfikowany sygnał pierwotny, aż do ustabilizowania odpowiedzi. W trybie odtworzeniowym sygnał wielokrotnie przechodzi przez sieć aż do ustabilizowania się odpowiedzi, tzn. do momentu w którym sygnał nie ulega już dalszej zmianie. Ta ustabilizowana odpowiedź jest przyjmowana jako wynik działania sieci.

Dobieranie wag (uczenie) w sieci Hopfielda Jedną z metod uczenia sieci Hopfielda jest uogólniona metoda Hebba. Zgodnie z tą regułą wagi definiowane są następująco gdzie jest ciągiem wektorów uczących, a n jest liczbą neuronów w sieci. Taki tryb uczenia sprawia, że wagi przyjmują wartości wynikające z uśrednienia wielu próbek uczących. Niestety ta prosta reguła nie daje zbyt dobrych rezultatów, gdyż pojemność sieci przy takim sposobie uczenia stanowi tylko 13,8% liczby neuronów. Ponadto prowadzi do licznych przekłamań. Dlatego częściej stosuje się metodę pseudoinwersji.

Dobieranie wag w sieci Hopfielda (c.d.) W zapisie macierzowym wzory na wagi wg uogólnionej reguły Hebba można zapisać następująco gdzie I jest macierzą jednostkową (jedynki na przekątnej, poza nią zera), X jest macierzą której kolumnami są wektory ciągu uczącego, XT oznacza transponowanie macierzy X, stała T jest liczbą wektorów uczących). Jak już wiemy funkcje aktywacji w sieci Hopfielda są dwustanowe. W praktyce używa się funkcji bipolarnej {-1, 1} lub unipolarnej {0, 1}. Podobnie jest z wektorami sygnałów: składają się z współrzędnych bipolarnych lub unipolarnych. Jeżeli stosujemy wektory unipolarne, to uogólniona reguła Hebba (formuła powyżej lub poprzedni slajd) przyjmie postać

(regułą Hebba dla sieci Hopfielda) Przykład (regułą Hebba dla sieci Hopfielda) Dany jest zbiór wektorów (wzorców) kodowanych bipolarnie ({-1,+1}) Stosując omawiane już wzory na macierz wag gdzie T=3, n=5 otrzymujemy Podkreślmy, że uzyskana macierz wag została zbudowana wg uogólnionej reguły Hebba. Dalej pokażemy inny sposób nadawania wag dla sieci Hopfileda

Metoda pseudoinwersji dla sieci Hopfielda Punktem wyjścia w tej metodzie jest założenie, że przy właściwie dobranych wagach wij każdy wzorzec x(t) z ciągu uczącego podany na wejście generuje na wyjściu samego siebie, prowadząc zatem do natychmiastowego stanu ustalonego. Mamy więc warunek Wx(t)=x(t) co można zapisać tak: Jeżeli wprowadzimy pomocniczą macierz X, której kolumnami są kolejne wektory uczące to warunki Wx(t)=x(t) można zapisać w postaci następującego równania macierzowego gdzie W jest macierzą wag o wymiarach n x n, a X jest macierzą prostokątną o wymiarach n x T.

Rozwiązanie takiego układu (pamiętajmy, że macierz X jest dana a szukana jest macierz W) jest następującej postaci gdzie X+ oznacza tzw. pseudoinwersję (pseudoodwrotność) macierzy X. Jeżeli wektory uczące są liniowo niezależne, to macierz W może być wyrażona przy pomocy zwykłej odwrotności (nie musimy używać pseudoinwersji) w sposób następujacy:

Przykład Użyjemy sieci Hopfielda do rozpoznawania trzech cyfr: 1, 4 i 7. Cyfry są definiowane na matrycy 3x4: Ciąg uczący tworzymy wg kodowania: biały piksel = -1; czarny piksel = +1 ma postać

Wektory kodujące cyfry 1, 4, 7 Wektory zapisane kolumnowo i macierz X zawierająca te wektory jako kolejne kolumny

Mnożymy macierz transponowaną XT przez macierz X i otrzymujemy macierz kwadratową (wymiaru takiego, jakiego była liczba wektorów uczących – w tym przypadku 3). Teraz macierz XTX musimy odwrócić (jest to możliwe, gdyż wektory x(1), x(2), x(3) są liniowo niezależne).

Po wykonaniu mnożeń macierzy uzyskamy ostatecznie macierz wag W=X(XTX)-1XT dla przykładowej sieci. Jest to macierz kwadratowa wymiaru 12x12 (liczba wejść do sieci – w przykładzie jest to związane z liczbą pikseli matrycy).

0,404762 0,190476 0,02381 -0,02381 0,619048 -0,04762 -0,38095 0,047619 0,119048 -0,11905

Przykład (c.d.) Teraz zaszumimy (ang. noise) trzy cyfry: 1, 4 i 7, aby sprawdzić jaka będzie odpowiedź sieci. Obrazy kodujemy wg schematu: biały piksel = -1; czarny piksel = +1.

Po kilku iteracjach sieć prawidłowo rozpoznaje cyfrę 1 i cyfrę 4 Po kilku iteracjach sieć prawidłowo rozpoznaje cyfrę 1 i cyfrę 4. Natomiast pojawiają się problemy z rozpoznawaniem zaburzonej cyfry 7. W tym przypadku wektor kodujący zaburzoną cyfrę, czyli podany na wejście sieci generuje na wyjściu samego siebie. Jest to punkt stały sieci. Oczywiście przykład jest bardzo prosty, gdyż użyliśmy małej matrycy, 3x4. W praktyce musimy stosować większą liczbę pikseli.

Opis działania sieci Hopfielda w trybie odtworzeniowym Część liniowa i-tego neuronu w kroku t+1: gdzie y(t) jest wartością na wyjściu j-tego neurony w kroku t (tzn. poprzednim). Oczywiście wyjście z części sumacyjnej jest jak poddawane dalej działaniu funkcji aktywacji f, więc ostatecznie sygnał wyjściowy jest dany przez Zakładamy, że wszystkie neuronu mają taką samą funkcję aktywacji f(s).

Wprowadzając jak zwykle pomocniczy sygnał polaryzacji y0(k)=1 dla progu, możemy zapisać powyższe wzory w sposób bardziej zwarty następująco: gdzie sumowanie zaczyna się od zera, a t=0,1,… (kolejne iteracje pętli pobudzenia). Ponadto należy jeszcze wprowadzić sygnał wejściowy początkowy, który inicjalizuje pobudzenie sieci. Tak więc mamy przy czym x0=1.

Sieć jest ustabilizowana, jeżeli dla pewnego kroku t zachodzi warunek dla każdego neuronu, i=1,…,n. Oczywiście zachodzi podstawowe pytanie: czy powyższy warunek stabilizacji zostanie osiągnięty? W ogólnym przypadku warunek stabilizacji oznacza, że wartości sygnałów yi(k) dążą (w sensie granicy matematycznej) do jakiejś wartości co sugerowałoby słabszy warunek zakończenia obliczeń, a mianowicie

Okazuje się, że w ogólności taka stabilność nie musi zachodzić dla dowolnej sieci rekurencyjnej. Wszystko zależy od struktury sieci, wartości wag wij oraz od postaci funkcji aktywacji. Także wybór wektorów sygnałów początkowych może mieć wpływ na końcową stabilność. W każdym razie dalej zajmiemy się takimi przypadkami, które dają odpowiedzi stabilne. Właśnie omawiana sieć Hopfielda z podanymi dwiema metodami uczenia zapewnie stabilizację pobudzonej sieci. Przypomnijmy podstawowe założenia tej sieci:

Przykład Wykorzystamy sieć Hopfielda do zapamiętania i rozpoznawania cyfr 0-9. Wzorcowe cyfry są zdefiniowane na matrycy o wymiarach 7x7 pikseli. Przedstawione są poniżej – zostały ona użyte do uczenia sieci metodą pseudoinwersji. Liczba neuronów sieci jest równa liczbie pikseli matrycy: 7·7=49. W kodowaniu użyto schematu:  → (-1),  → (+1).

Pierwszy wiersz – wzorce. Drugi wiersz – przykładowe zaburzone cyfry poprawnie rozpoznane. Trzeci wiersz – przykładowe obrazy, które nie zostały zakwalifikowane do kategorii z pierwszego wiersza. W przypadku cyfry 2 wydaje się to poprawne (mimo, że zaburzenie jest minimalne, ale dla cyfry 4 raczej uznalibyśmy to z błąd sieci.   ` Cyfry wzorcowe Wzorce Rozpoznane Wzorce klasyfikowane do innych kategorii