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.