1 Perceptrony proste liniowe - AdalineDwa sposoby przedstawiania Adaline’ów a) Adaline tylko z wyjściem analogowym:
2 Perceptrony proste liniowe - AdalineDwa sposoby przedstawiania Adaline’ów b) Adaline z wyjściem analogowym i binarnym:
3 Perceptrony proste liniowe - AdalinePerceptrony proste liniowe - warstwa
4 Perceptrony proste liniowe - AdalineRealizowane przetwarzanie Wyjście analogowe Funkcja przekaźnikowa symetryczna (zwykle – jeżeli jest stosowane Wyjście binarne gdzie:
5 Perceptrony proste liniowe - Adaline Reguła uczenia Widrow’a – Hoff’aWyprowadzenie bazujące na błędzie średnim kwadratowym Rozważamy pojedynczy neuron w warstwie (i-ty)
6 Perceptrony proste liniowe - AdalinePrzyjęte oznaczenia: Wektor wag dla i‑tego neuronu (i‑ty wiersz macierzy wag i wektora progów transformowany) Wektor wzorców wejściowych (k ‑ dowolne)
7 Perceptrony proste liniowe - Adaline Skalar wzorca wyjściowego rzeczywistego i‑tego neuronu (k ‑ dowolne) Skalar wzorca wyjściowego docelowego i‑tego neuronu (k ‑ dowolne) Skalar błędu i‑tego neuronu (k ‑ dowolne)
8 Średni błąd kwadratowy uczenia sieciPerceptrony proste liniowe - Adaline Wektor uczący z traktujemy jako zmienną losową; zmiennymi losowymi będą zatem również skalary a, t oraz e. Wybrane, w liczbie Q, wzorce uczące możemy traktować jako realizacje tych zmiennych losowych (próbki z populacji) Średni błąd kwadratowy uczenia sieci gdzie: E[ ] oznacza wartość średnią (oczekiwaną) zmiennej losowej. Wartość oczekiwana liczona jest po wszystkich zbiorach par uczących populacji. Zakładamy przy tym, że wybory kolejnych par uczących są niezależne od siebie
9 Perceptrony proste liniowe - AdalinePo przekształceniach funkcjonałowi jakości działania sieci można nadać postać lub bardziej dogodną gdzie: - wartość średnia wzorców wyjściowych docelowych t - wektor korelacji wzajemnej wzorców wejściowych z i wyjściowych docelowych t - macierz korelacji własnej wzorców wejściowych z Jak można oszacować te wielkości? – zadanie-pytanie
10 Perceptrony proste liniowe - AdalineProblem uczenia sieci: znaleźć wartości wag i progów minimalizujące wartość funkcjonału jakości działania sieci B(x) Zadanie minimalizacji bez ograniczeń funkcjonału B(x) Funkcjonał jakości działania sieci B(x) ma postać formy kwadratowej w której:
11 Miary jakości działania sieci – więcej o formach kwadratowychPerceptrony proste liniowe - Adaline Dodatek 1: Miary jakości działania sieci – więcej o formach kwadratowych Dodatek 2: Optymalizacja miar jakości sieci – więcej o metodach iteracyjnych poszukiwania ekstremów
12 Perceptrony proste liniowe - AdalinePrzypomnienia: Macierze korelacji własnej, jako symetryczne, są albo dodatnio określone, albo dodatnio półokreślone Gradient i hessian formy kwadratowej są odpowiednio równe
13 Perceptrony proste liniowe - Adaline Warunek konieczny pierwszego rzędu ekstremum: Gradient funkcjonału jest równy zeru Warunek konieczny drugiego rzędu ekstremum: Hessian funkcjonału jest dodatnio półokreślony - jest dodatnio półokreślony
14 Perceptrony proste liniowe - Adaline Dodatnia określoność hessianu – warunek wystarczający ekstremum lokalnego silnego Stąd: Jeżeli macierz korelacji własnej wzorców wejściowych jest dodatnio określona, to istnieje jednoznacznie określony punkt stacjonarny wartości wag x który jest silnym minimum funcjonału B(x)
15 Perceptrony proste liniowe - AdalineMożemy stwierdzić: Istnienie jednoznacznego rozwiązania problemu uczenia perceptronu prostego liniowego zależy tylko od macierzy korelacji własnej R wektorów wejściowych uczących Czyli To jakie są wektory wzorców wejściowych określa jednoznacznie istnienie lub nie, jednoznacznego rozwiązania problemu uczenia sieci liniowej Nie musimy przeprowadzać uczenia sieci! Jeżeli możemy i chcemy obliczyć wielkości statystyczne R oraz h lub potrafimy oszacować ich wartości możemy obliczyć najlepsze wartości wag bezpośrednio
16 Poszukiwanie iteracyjne najlepszych wartości wag sieci AdalinePerceptrony proste liniowe - Adaline Poszukiwanie iteracyjne najlepszych wartości wag sieci Adaline Zastępujemy (estymujemy) wartość oczekiwaną kwadratu błędu kwadratem błędu w k-tej iteracji (po pokazaniu sieci k-tej pary uczącej) dla i –tego neuronu
17 Perceptrony proste liniowe - AdalineBędziemy poszukiwać minimum metodą iteracyjną gradientu prostego; musimy zatem określić 1. kierunek gradientu (kierunek zmian x) 2. wielkość zmiany x w kierunku gradientu (wielkość kroku w kierunku gradientu)
18 Perceptrony proste liniowe - AdalineEstymata gradientu wynosi
19 Perceptrony proste liniowe - AdalineWartości pochodnych oraz wynoszą
20 Perceptrony proste liniowe - AdalineOtrzymaliśmy Możemy napisać ostatecznie
21 Perceptrony proste liniowe - AdalineWyrażenie nazywane jest deltą (błędem) i-tego neuronu przy pokazaniu k‑tego wzorca sieci perceptronów prostych liniowych Metoda gradientu prostego daje nam regułę zmiany wartości wag i progów po pokazaniu sieci k-tej pary wzorców uczących
22 Perceptrony proste liniowe - AdalinePodstawiając uzyskane wyniki otrzymamy lub Ostatnie zależności noszą nazwę reguły uczenia Widrow’a-Hoff’a (reguły delty, reguły LMS)
23 Perceptrony proste liniowe - AdalineUogólnienie reguły Widrow’a-Hoff’a dla warstwy
24 Perceptrony proste liniowe - AdalinePorównanie reguły Widrow’a-Hoff’a i reguły Rosenblatt’a
25 Perceptrony proste liniowe - AdalineWybór długości kroku (wartości ) poszukiwania najlepszych wartości wag Modyfikacje wartości wag i progów prowadzące do minimalizacji błędu są procesem dynamicznym. Istotnym problemem jest określenie warunków zbieżności (stabilności) tego procesu Znamy warunki zbieżności procesu poszukiwania optimum za pomocą metody gradientu prostego dla formy kwadratowej (patrz Dodatek 2) gdzie λmax jest największa wartością własną macierzy A - hessianu formy kwadratowej
26 Perceptrony proste liniowe - AdalineKorzystając z tych wyników, pokażemy, że proces uczenia korzystający z reguły Widrow’a – Hoff’a jest zbieżny do czyli do minimalnego błędu średniokwadratowego Przywołajmy regułę Widrow’a – Hoff’a i weźmy wartości oczekiwane obydwu stron
27 Perceptrony proste liniowe - AdalinePodstawiając otrzymujemy Ponieważ to
28 Perceptrony proste liniowe - AdalineWielkość jest zależna od Jeżeli założymy, że kolejne pokazywane sieci wzorce są niezależne stochastycznie to również jest niezależne od Wówczas lub inaczej Tak opisany system dynamiczny, będzie stabilny, jeżeli wartości własne macierzy będą leżały wewnątrz okręgu jednostkowego
29 Perceptrony proste liniowe - AdalineKorzystając z wyników uzyskanych dla metody gradientu i formy kwadratowej możemy stwierdzić, że warunek stabilności (zbieżności) ma postać gdzie λmax jest największą wartością własną macierzy R Do jakiej wartości będzie zbieżny proces iteracyjnego uczenia? Rozwiązanie stacjonarne spełnia równanie Stad:
30 Perceptrony proste liniowe - AdalinePrzykład 1. Budujemy sieć liniową bez progów do rozpoznawania na taśmie do sortowania jabłek i pomarańczy Każdy owoc po przejściu pod czujnikami jest reprezentowany przez trzyelementowy wektor o składowych
31 Perceptrony proste liniowe - AdalinePrototypowa pomarańcza jest reprezentowana przez wektor a prototypowe jabłko przez wektor Należy określić największą wartość współczynnika szybkości uczenia α gwarantującą stabilność procesu uczenia
32 Perceptrony proste liniowe - AdalineJeżeli założymy, że każdy wektor wzorców uczących prezentowany jest sieci z jednakowym prawdopodobieństwem wówczas wektor korelacji wzajemnej i macierz korelacji własnej można oszacować korzystając z wzorów Dla oszacowania współczynnika α musimy posiadać macierz R W przykładzie
33 Perceptrony proste liniowe - AdalineZatem Wartości własne R wynoszą Stąd
34 Perceptrony proste liniowe - AdalinePrzyjmiemy konserwatywnie oraz Pierwsza epoka, pierwszy wzorzec
35 Perceptrony proste liniowe - AdalinePierwsza epoka, drugi wzorzec
36 Perceptrony proste liniowe - AdalineByły błędy – potrzebna kolejna epoka Druga epoka, pierwszy wzorzec
37 Perceptrony proste liniowe - algorytm uczenia (jeden z możliwych)Perceptrony proste liniowe - Adaline Perceptrony proste liniowe - algorytm uczenia (jeden z możliwych) Krok 0. Określ dopuszczalny sumaryczny błąd uczenia sieci ε (sumowanie po neuronach warstwy) Określ maksymalna dopuszczalną liczbę epok uczenia Epochmax Krok 1. Nadaj wagom i progom wartości początkowe; mogą to być wartości losowe lub nadane w sposób celowy; należy jednak przestrzegać zasady, aby nie były to wartości jednakowe oraz by były niezbyt duże Krok 2. Określ wartość współczynnika szybkości uczenia α (patrz poprzednie slajdy)
38 Perceptrony proste liniowe - AdalineKrok 3. Rozpocznij kolejną epokę uczenia perceptronu liniowego Krok 4. Pokaż sieci kolejny k-ty wzorzec wejściowy Krok 5. Oblicz wzorzec wyjściowy rzeczywisty a(:,k) Krok 6. Oblicz wektor błędów odpowiedzi e(:,k) = t(:,k) ‑ a(:,k). Krok 7. Dla kolejnych neuronów , wykonaj: Jeżeli e(i,k) = 0; weź kolejne i (kolejny neuron) Jeżeli e(i,k) 0; przeprowadź modyfikacje wartości wag i progów według reguły W-H; weź kolejne i (kolejny neuron)
39 Perceptrony proste liniowe - AdalineKrok 8. Jeżeli był to ostatni wzorzec uczący przejdź do kroku 9 Jeżeli nie był to ostatni wzorzec uczący; przejdź do kroku 4 Krok 9. Jeżeli spełniony był warunek: zakończ uczenie Jeżeli nie spełniony był warunek: przejdź do kroku 3 (lub kroku 2).
40 Perceptrony proste liniowe - AdalineMożliwości adalinów - przykłady Przykład 2: zadanie klasyfikacji klas liniowo separowalnych w obecności wzorców oddalonych Dwie klasy wzorców, liniowo separowalnych. Wzorce o dwóch atrybutach (x,y) – zmienne losowe dwuwymiarowe. Parametry rozkładu prawdopodobieństwa wzorców: C1, liczebność próbki 25, 1 = (1,-1), 1 = 0.5; C2, liczebność próbki 25, 2 = (3, 2), 2 = 0.5. Przypadek 1 – brak wzorców oddalonych, Przypadek 2 – jeden wzorzec oddalony w zbiorze C2
41 Perceptrony proste liniowe - AdalineRozwiązanie zadania klasyfikacji przez adalin: - Bez wzorca oddalonego – linia ciągła - Z wzorcem oddalonym – linia przerywana Wzorzec oddalony Przypadek 1: Zadanie będzie lepiej rozwiązane przez adalin niż przez perceptron progowy (dobroć uogólniania) Przypadek 2: Zadanie będzie lepiej rozwiązane przez perceptron progowy niż przez adalin (chociaż błąd średniokwadratowy w procesie uczenia zostanie zminimalizowany)
42 Perceptrony proste liniowe - AdalinePrzykład 3: zadanie klasyfikacji klas liniowo nieseparowalnych Dwie klasy wzorców, liniowo nieseparowalnych. Wzorce o dwóch atrybutach (x,y) – zmienne losowe dwuwymiarowe. Parametry rozkładu prawdopodobieństwa wzorców: C1, liczebność próbki 100, 1 = (1,-1), 1 = 2; C2, liczebność próbki 100, 2 = (3, 2), 2 = 2.
43 Perceptrony proste liniowe - AdalineRozwiązanie zadania klasyfikacji przez adalin: - Zbiory uczące z silnym nakładaniem się Perceptron progowy: Proces uczenia nie zakończy się powodzeniem Adalin: Proces uczenia zakończy się – znaleziona zostanie linia podziału minimalizująca sumę kwadratów błędów złej klasyfikacji
44 Perceptrony proste liniowe - AdalinePrzykład 4: zadanie liniowej aproksymacji zależności pomiędzy dwoma zmiennymi (aproksymacja, regresja liniowa) Poszukiwana jest zależność pomiędzy dwoma zmiennymi x oraz y. Przygotowane zostały dwa zbiory uczące: I – zawiera 200 pomierzonych par wartości i II – zawiera 10 pomierzonych par wartości zmiennych. Sposób wygenerowania zbiorów uczących: przyjęto, że proces opisany jest zależnością liniową gdzie, , n jest gaussowską zmienną losową o wartości średniej równej zero i wariancją taką, że zaburza ona poprawną wartość y 20% szumem.
45 Perceptrony proste liniowe - AdalineRozwiązanie zadania aproksymacji liniowej przez adalin: Dane : + Zależność liniowa y = 2.5x – 1 : Aproksymacja zależności liniowej y = 2.5x – 1 : 200 pomiarów: Duża liczba pomiarów – wartości wag i progu adalinu dobrze estymują wartości nieznanych parametrów
46 Wniosek: większa liczba pomiarów sprzyja jakości aproksymacjiPerceptrony proste liniowe - Adaline Rozwiązanie zadania aproksymacji liniowej przez adalin: Dane : + Zależność liniowa y = 2.5x – 1 : Aproksymacja zależności liniowej y = 2.5x – 1 : Wniosek: większa liczba pomiarów sprzyja jakości aproksymacji 10 pomiarów: Mała liczba pomiarów – wartości wag i progu adalinu gorzej estymują wartości nieznanych parametrów
47 Perceptrony proste liniowe - AdalineRozwiązanie zadania aproksymacji liniowej przez adalin: Wartości estymowane w1 oraz w0 (b) w zależności od liczebności pomiarów zbioru uczącego oraz zaburzenia pomiarów w zadaniu aproksymacji liniowej w1 w0 # danych Wagi Zaburzenia = wartość odciętej * 100% Spostrzeżenia: Rozwiązanie zadania jest możliwe nawet przy wysokim poziomie zaburzeń Im wyższy poziom zaburzeń, tym większa liczebność zbioru uczącego jest niezbędna dla uzyskania dobrych estymat parametrów Estymacja wartości progu jest bardziej wrażliwa zarówno na poziom zaburzeń, jak i liczebność zbioru uczącego
48 Perceptrony proste liniowe - AdalinePrzykład 5: zadanie liniowej aproksymacji zależności pomiędzy trzema zmiennymi (aproksymacja, regresja liniowa) Poszukiwana jest zależność pomiędzy trzema zmiennymi x, y oraz z. Przygotowane został zbiór uczący: 200 pomierzonych par wartości zmiennych powiązanych zależnością liniową gdzie, , n jest gaussowską zmienną losową o wartości średniej równej zero i wariancją taką, że zaburza ona poprawną wartość z 20% szumem.
49 Perceptrony proste liniowe - AdalineRozwiązanie zadania aproksymacji liniowej przez adalin: Spojrzenie w płaszczyźnie regresji
50 Perceptrony proste liniowe - AdalinePrzykład 6: zadanie identyfikacji dynamicznego obiektu liniowego opisywanego ogólnym równaniem gdzie, yk-i oraz uk-i są przeszłymi wyjściami i wejściami, a nk jest addytywnym białym szumem. Problem identyfikacji może być rozważany jako problem aproksymacji liniowej w przestrzeni Rn+n+1 (ogólniej Rm+n+1) Rozważamy problem identyfikacji obiektu drugiego rzędu: W dziedzinie czasu jednostkami dla tego obiektu są sekundy. Przy kroku próbkowania otrzymamy równanie dyskretne:
51 Perceptrony proste liniowe - AdalineDo identyfikacji wykorzystamy zbiór uczący 50 par pomiarów wejście – wyjście. Wejście uczące – pseudolosowy sygnał binarny (PLSB), a wyjście systemu zaburzane jest sygnałem białego szumu o wartości średniej zero i wariancji dającej zniekształcenie wyjścia na poziomie 5%. Struktura sieci: Wzorce wejściowe: Wzorce wyjściowe docelowe:
52 Perceptrony proste liniowe - AdalineWynik procesu uczenia – wartości wag wi będące estymatami współczynników a oraz b: współczynniki określające hiperpłaszczyznę w przestrzeni R5 na której powinny leżeć wszystkie trajektorie wyjścia y dla odpowiadających wejść u, identyfikowanego obiektu przy braku zaburzeń (szumów). współczynniki równania różnicowego drugiego rzędu
53 Perceptrony proste liniowe - AdalineOdpowiedź rzeczywista: Odpowiedź adalinu: Błąd Wejście uczace - PLSB Rozwiązanie zadania identyfikacji liniowej przez adalin – wyniki uczenia: Czas
54 Perceptrony proste liniowe - AdalineCzas Odpowiedź rzeczywista: Odpowiedź adalinu: Rozwiązanie zadania identyfikacji liniowej przez adalin – wyniki testu: Błąd Test z niewidzianym wcześniej wejściem – skokiem jednostkowym
55 Perceptrony proste liniowe - AdalineRozwiązanie zadania identyfikacji liniowej przez adalin – błąd względny estymowanych parametrów; zależność od liczebności zbioru uczącego Wyjście było zaburzane 5% szumem # danych 1 – 10, 2 – 12, 3 – 17, 4 – 30, 5 – 62, 6 – 154, 7 – 460 , 8 – 1648, 9 – 7080, 10 – 36573