Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. M. Czoków, J. Piersa, A. Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2017-10-04 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki
In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) Wikipedia: Tomasz Schreiber Wspomnienie o Tomku Schreiberze
Podziękowania Podziękowania dla Jarosława Piersy i Mai Czoków, którzy są autorami większości materiałów do poniższego wykładu.
1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Organizacja przedmiotu 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4
Zaliczenie Organizacja przedmiotu Organizacja przedmiotu Zaliczenie wykładu: egzamin pisemny wymagane jest zaliczenie laboratoriów przed podejściem do egzaminu
Zaliczenie Organizacja przedmiotu Organizacja przedmiotu Zaliczenie laboratoriów: implementacja programów (3 6 programów) ocena BDB+ z laboratorium zwalnia z egzaminu
Program przedmiotu Organizacja przedmiotu 1 Biologiczny model neuronu 2 Model perceptronu prostego 3 Inne modele pojedynczego neuronu: maszyna liniowa, Adaline 4 Sieci skierowane, algorytm wstecznej propagacji błędu (BEP) 5 Uczenie bez nauczyciela, samoorganizacja topologiczna 6 Analiza składowych głównych (PCA) 7 Sieci rekurencyjne, Sieć Hopfielda, Maszyny Boltzmanna i symulowane wyżarzanie 8 Splotowe sieci neuronowe (CNN) 9 Przegląd oprogramowania 10 Maszyny Wektorów Nośnych (SVM Support Vektor Machines)
Literatura Organizacja przedmiotu Organizacja przedmiotu R. Rojas Neural Networks, A Systematic Introduction, Springer 1996, P. Peretto, Introduction to Modeling Neural Networks, Cambridge University Press 1994, S. I. Gallant Neural Network Learning and Expert Systems, The MIT Press, 1993, L. Rutkowski, Metody i techniki sztucznej inteligencji, Wydawnictwo Naukowe PWN 2005,
Literatura Organizacja przedmiotu Organizacja przedmiotu T. Schreiber, Notatki do wykładu WSN, Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning (on-line), J. Żurada, M. Barski, W. Jędruch, Sztuczne sieci neuronowe, Wydawnictwo Naukowe PWN 1996, E. Izhikevich, Dynamical Systems in Neuroscience, MIT 2007, C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press 1995.
Literatura Organizacja przedmiotu Organizacja przedmiotu Słowa kluczowe: Artificial Nneural Network (ANN), Machine Learning (ML) https://www.reddit.com/r/machinelearning/ Scholarpedia: Computational Neuroscience
1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4
Mózg Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Płat czołowy (Frontal lobe) Płat ciemieniowy (Parietal lobe) Płat potyliczny (Occipal lobe) Płat skroniowy (Temporal lobe) Rdzeń kręgowy (Spinal cord) Móżdżek (Cerebellum) Rysunek za http://en.wikipedia.org/wiki/cerebral_cortex, autor Henry Gray, public domain.
Mózg Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Płat czołowy (Frontal lobe) Płat ciemieniowy (Parietal lobe) Płat potyliczny (Occipal lobe) Płat skroniowy (Temporal lobe) Rdzeń kręgowy (Spinal cord) Móżdżek (Cerebellum) Rysunek za http://en.wikipedia.org/wiki/cerebral_cortex, autor Henry Gray, public domain.
Komórka neuronowa Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Dendryty Jądro neuronu Ciało komórki Przewężenie Ranviera Komórka Schwanna Otoczka mielinowa Akson Zakończenia aksonów Rysunek za http://pl.wikipedia.org/w/index.php?title=plik:neuron-figure_pl.svg, Nicolas Rougier, 2007.
Możliwości obliczeniowe Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja komputer grid 1 mózg człowieka CPU 1 64 CPU 10 7 10 11 neuronów Pojemność 10 10 B RAM, 1.3 10 15 B RAM 10 11 neuronów 10 13 B HDD 10 15 B?? 10 14 synaps Czas 1 cyklu 10 9 s 10 9 s 10 3 s FLOPS 10 12(13) 9.3 10 16 10 18?? moc 1kW 15371kW < 0.1kW 1 http://www.top500.org/, 2017-06
Notatka historyczna Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 1949, D. Hebb, postulat Hebba, 1958, F. Rosenblatt, model perceptronu, 1969, M. Minksky i S. Papert, sformułowanie ograniczeń perceptronu zob.: AI winter (wikipedia), 1974, P. Werbos et al., algorytm propagacji wstecznej, 1980, K. Fukushima, neocognitron - inspiracja dla splotowych sieci neuronowych 1982, J. Hopfield, sieci asocjacyjne, 1986, D. Rumelhart et al., zastosowanie BEP (ang. back error propagation) do uczenia sieci warstwowych, 1983-1987, G. Hinton, T. Sejnowski, maszyny Boltzmanna,
2016 Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja
AI i CI Organizacja przedmiotu Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Zob.: http://www.is.umk.pl/~duch/wyklady/ai/ai01.ppt
1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4
Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady
Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady out
Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Perceptron research 1950-60.mp4 (YouTube)
Model perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Perceptron układ składający się z n wejść x 1,..., x n (argumenty do funkcji) n wag stowarzyszonych z wejściami w 1,..., w n R funkcji aktywacji f : R R.
Dynamika perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Na wejściu x = (x 1,..., x n ) perceptron zwróci wartość: n O(x 1,..., x n ) = f ( w i x i ) = f (w t x) i=1
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja progowa f (x) = { 1 x < θ +1 x θ 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3
Dynamika perceptronu progowego Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Na wejściu x = (x 1,.., x n ) perceptron progowy zwróci wartość: { 1 n O(x 1,..., x n ) = i=1 w ix i < θ +1 n i=1 w ix i θ
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja znakowa f (x) = { 1 x < 0 +1 x 0 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja bipolarna (binarna) f (x) = { 0 x < 0 +1 x 0 1.5 1 0.5 0-0.5-1 -1.5-3 -2-1 0 1 2 3
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Sigmoida f (x) = σ(x) = 1 1 + exp( βx) 1.5 =1 =2 =5 =10 1 0.5 0-0.5-3 -2-1 0 1 2 3
y Organizacja przedmiotu Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady tangens hiperboliczny (symetryczna sigmoida) f (x) = tanh( 1 1 exp( βx) βx) = 2 1 + exp( βx) 1.5 beta = 1 beta = 3 beta = 10 1 0.5 0-0.5-1 -1.5-4 -2 0 2 4 x
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja identycznościowa f (x) = x 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3
Postacie funkcji aktywującej Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Funkcja afiniczna f (x) = ax + b 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3
Perceptron z biasem (obciążeniem) Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady n wejść x 1,..., x n, n + 1 wag w 0, w 1,..., x n, przyjmuje się dodatkowe, zawsze włączone wejście x 0 = +1 zwracana wartość { 1; n O(x 1,..., x n ) = i=0 w ix i < 0 +1; n i=0 w ix i 0, perceptron z biasem jest równoważny jednostce z progową funkcją aktywującą demo: Blender
Perceptron z biasem (obciążeniem) Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady out
Dynamika perceptronu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady plik YouTube
Przykład Organizacja przedmiotu Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Rozpoznawanie znaku: Każdy piksel jest jednym wejściem, Perceptron rozpoznaje czy piksele układają się w symbol. click
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Rozważamy jednostkę z funkcją progową tj. { 1 n O(x 1,..., x n ) = i=1 w ix i < θ +1 n i=1 w ix i θ Jak wygląda brzeg rozdzielający obszary o różnych aktywacjach?
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 1d jedno wejście x 1, jedna waga w 1 i próg θ { 1 w1 x O(x 1 ) = 1 < θ x 1 < θ/w 1 +1 w 1 x 1 θ x 1 θ/w 1 Brzeg rozdzielający jest punktem, który dzieli prostą rzeczywistą na dwie półproste.
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 1d brzeg rozdzielający jest punktem dzielącym prostą. 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 2d dwa wejścia x 1, x 2, dwie wagi w 1, w 2 i próg θ O(x 1 ) = Wygląda znajomo? 1 w 1 x 1 + w 2 x 2 < θ x 2 < w 1 w 2 x 1 + θ w 2 +1 w 1 x 1 + w 2 x 2 θ x 2 w 1 w 2 x 1 + θ w 2
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przypadek 2d dwa wejścia x 1, x 2, dwie wagi w 1, w 2 i próg θ O(x 1 ) = Wygląda znajomo? 1 w 1 x 1 + w 2 x 2 < θ x 2 < w 1 w 2 x 1 + θ w 2 +1 w 1 x 1 + w 2 x 2 θ x 2 w 1 w 2 x 1 + θ w 2 A teraz? ax + by = c y = a b x + c b
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 2d brzeg rozdzielający jest prostą dzielącą płaszczyznę. 6 4 2 0-2 -4-6 -6-4 -2 0 2 4 6
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 3d trzy wejścia x 1, x 2, x 3, trzy wagi w 1, w 2, w 3 i próg θ { 1 w1 x O(x 1 ) = 1 + w 2 x 2 + w 3 x 3 < θ +1 w 1 x 1 + w 2 x 2 + w 3 x 3 θ Równanie ogólne płaszczyzny ax + by + cz + d = 0 Równanie kierunkowe z = a c x b c y d c
geometryczna Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady W przypadku 3d jest to płaszczyzna rozdzielająca przestrzeń. 15 10 5 0-5 -6-10 10 5 0-2 -4 0 2-5 4-106
Problem XOR Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady Prosty przykład dla którego pojedynczy perceptron nie będzie wstanie zwrócić stuprocentowej klasyfikacji 1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5
1 Organizacja przedmiotu Organizacja przedmiotu 2 Neuron biologiczny Sztuczne sieci neuronowe Sztuczna inteligencja 3 Model perceptronu prostego Postacie funkcji aktywującej geometryczna Przykłady 4
Problem uczenia perceptronu Daną mamy reprezentatywną próbkę danych z odpowiadającymi im klasami (binarnymi: tak lub nie) Chcemy znaleźć nieskomplikowaną regułę klasyfikacyjną, według której dane zostały poprzydzielane do klas Dodatkowo chcemy aby reguła sensownie działała na danych podobnych do próbki uczącej, ale których w trakcie uczenia nie widziała
Problem uczenia perceptronu Bardziej formalnie: Dane: Cel: perceptron progowy o n wejściach, n nieznanych wagach w 1,.., w n i progu θ, zbiór k przykładów uczących E i = (E (i) (i) 1,...,.E N ), i = 1..k, poprawne odpowiedzi (+1, 1) odpowiadające przykładom uczącym T (1),..., T (k), znaleźć zestaw wag w 1,.., w n i próg θ takie aby perceptron klasyfikował poprawnie wszystkie przykłady uczące (możliwie najwięcej)
Simple Perceptron Learning Algorithm (SPLA) Podstawowy algorytm uczenia: 1 Losujemy wagi w i małe, blisko 0. 2 Wybieramy kolejny (lub losowy zalecane) przykład E j i odpowiadającą mu poprawną odpowiedź T j, 3 Obliczamy O wynik działania sieci na E j 4 Obliczamy ERR = T j O 5 Jeżeli ERR = 0 (klasyfikacja jest poprawna), to wróć do 2, 6 W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie ze wzorem w i = w i + η ERR E j i θ = θ η ERR η > 0 jest stałą uczenia. 7 Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady, to kończymy, wpw wracamy do 2.
Simple Perceptron Learning Algorithm (SPLA) Uwagi do algorytmu: dla nieseparowalnych danych zapętla się, wymuszenie zakończenia nie daje żadnej gwarancji jakości zwracanych wag.
Pocket Learning Algorithm (PLA) Algorytm uczenia z kieszonką Idea: Z każdym poprawnie klasyfikowanym przykładem zwiększamy wagom czas życia, Najlepszy (tj. najbardziej żywotny) zestaw wag przechowywany jest w kieszonce, aby nie został nadpisany przez przypadkowe zmiany, Po zakończeniu algorytmu zwracany jest rekordowy zestaw, Przy odpowiednio długim działaniu prawdopodobieństwo, że nieoptymalny zestaw przeżyje najdłużej zanika do zera.
Pocket Learning Algorithm (PLA) 1 Losujemy wagi i próg wokół 0, przypisujemy układowi wag zerowy czas życia i zapisujemy go w kieszonce jako rekordzistę, 2 Przebiegamy przykłady losując z listy, 3 Dla wybranego przykładu E j sprawdzamy, czy E j jest dobrze klasyfikowany (ERR = T j O = 0), Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u rekordzisty, zapominamy starego rekordzistę i zapisujemy w kieszonce nowy układ wag. Wracamy do 2. Jeśli nie, to korygujemy wagi i próg: w i = w i + η ERR E j i θ = θ η ERR Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do 2. 4 Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Zwracamy najbardziej żywotny zestaw wag.
Pocket Learning Algorithm with Ratchet Algorytm uczenia z zapadką Idea: Podobnie jak w algorytmie kieszonkowym zapamiętujemy rekordowe wagi, Przed zapomnieniem poprzedniego zestawu wag upewniamy się, czy nowy zestaw klasyfikuje poprawnie więcej przykładów Po zakończeniu algorytmu zwracany jest rekordowy zestaw, Każdorazowe sprawdzanie wymaga więcej obliczeń, ale zmniejsza prawdopodobieństwo zwrócenia nieoptymalnego wyniku,
Pocket Learning Algorithm with Ratchet 1 Losujemy wagi i próg wokół 0, przypisujemy układowi wag zerowy czas życia i zapisujemy go jako rekordzistę, 2 Przebiegamy przykłady losując z listy, oznaczmy go E j, 3 Sprawdzamy czy E j jest dobrze klasyfikowany (ERR = T j O), Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u rekordzisty i klasyfikuje on więcej przykładów niż rekordzista, to zapominamy starego rekordzistę i zapisujemy nowy układ wag. Wracamy do 2. Jeśli nie, to korygujemy wagi i próg: w i := w i + η ERR E j i θ := θ η ERR Nowemu układowi wag przypisujemy zerowy czas życia. Wracamy do 2. 4 Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Zwracamy najbardziej żywotny zestaw wag.
Wstęp do twierdzenia Rozważamy separowalny zbiór (E i, T i ), Zamiast progu θ, użyjemy równoważny perceptron z biasem. Dla każdego k przyjmujemy E0 k = 1, wówczas perceptron zwraca: { O(E k 1; n ) = i=0 w iei k = w E k < 0 +1; n i=0 w iei k = w E k 0, Wektor wag w = [w 0, w 1,..., w n ], opisuje stan perceptronu
Podstawowy algorytm uczenia perceptronów 1 Ustawiamy w := [0,..., 0], 2 Wybieramy kolejny przykład uczący (E k, T k ) 3 Obliczamy O(E k ) = sgn(w E k ). Jeżeli otrzymana liczba jest różna od T k to: Uaktualniamy wagi: w := w + T k E k, 4 Jeżeli perceptron nie klasyfikuje dobrze wszystkich przykładów, to wracamy do punktu 2. Algorytm jest analogiczny do SPLA, ale nie ma losowości; stała uczenia ustawiona na η = 0.5.
Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron),
Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron), Możemy zatem przygotować zbiór uczący w ten sposób, że podmienimy wszystkie (E i, T i ), dla których T i == 1, przykładami ( E i, 1)
Wstęp do twierdzenia - przygotowanie przykładów W każdym kroku algorytmu sprwadzamy, czy T k == sgn(w E k ), Zauważmy, że jest to równoważne sprawdzeniu: T k == sgn(w ( E k )), Dlatego można podmienić (E i, T i ) przykładem ( E i, T i ) w zbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemy taki sam perceptron), Możemy zatem przygotować zbiór uczący w ten sposób, że podmienimy wszystkie (E i, T i ), dla których T i == 1, przykładami ( E i, 1) Dzięki temu krok uaktualnienia wag w := w + T k E k upraszcza się do: w := w + E k
Twierdzenie Rozważmy separowalny zbiór przykładów uczących E = (E i, T i ) (przygotowany jak wyżej). Wybieramy K takie, że wszystkie E i K, Bierzemy wektor wag w i liczbę δ > 0 takie, że w E i > δ, dla każdego E i ze zbioru E (bo jest separowalny), Wówczas podstawowy algorytm uczenia perceptronów zakończy się po mniej niż K 2 ( w 2 )/δ 2 krokach. Wniosek: Algorytm zatrzyma się po skończonej liczbie kroków i dostaniemy perceptron w separujący zbiór E.
Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w.
Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w. Sytuacja: w kroku t + 1 perceptron w t źle separuje pewien przykład E k. w w t+1 = w (w t + E k ) = w w t + w E k w w t + δ,
Dowód Organizacja przedmiotu Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1,.... Przyjmujemy w 0 = [0,..., 0] T. Porównajmy w t+1 z wektorem w. Sytuacja: w kroku t + 1 perceptron w t źle separuje pewien przykład E k. w w t+1 = w (w t + E k ) = w w t + w E k w w t + δ, w w 0 = 0, w w 1 w w 0 + δ,... Przez indukcję dostajemy: w w t tδ. (*)
Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t :
Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t : w t+1 2 = w t+1 w t+1 = (w t + E k ) (w t + E k ) = w t w t + 2w t E k + E k E k w t 2 + K 2 (2w t E k 0, bo przykład E k jest źle klasyfikowany)
Dowód Organizacja przedmiotu Zbadajmy teraz jak w kolejnych krokach zmienia się długość wektora w t : w t+1 2 = w t+1 w t+1 = (w t + E k ) (w t + E k ) = w t w t + 2w t E k + E k E k w t 2 + K 2 (2w t E k 0, bo przykład E k jest źle klasyfikowany) w 0 2 = 0 Stąd, przez indukcję dostajemy: w t 2 tk 2. (**)
Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2,
Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t,
Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t, ale cos(α) 1, więc tδ w w t w K (t), dzięki (**),
Dowód Organizacja przedmiotu Przywołujemy (*) i (**) (*): w w t tδ, (**): w t 2 tk 2, stąd: tδ w w t = w w t cos(α), gdzie α to kąt między w i w t, ale cos(α) 1, więc tδ w w t w K (t), dzięki (**), po elementarnych przekształceniach dostajemy: t K 2 ( w 2 )/δ 2, co kończy uzasadnienie.
Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi)
Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli)
Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli) Obserwując powtarzanie się w t dałoby się wykryć nieseparowalność w skończonym czasie. Nie jest to praktyczne; skończony czas niewiele nam mówi. Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny
Zbiory nieseparowalne Okazuje się, że dla dowolnego (skończonego) E istnieje M takie, że w t w 0 + M. (dowód długi) Wniosek: jeżeli współrzędne wszystkich E k są całkowite, to zbiór wartości przyjmowanych przez w t w przebiegu algorytmu uczącego jest skończony (nawet jeżeli algorytm się zapętli) Obserwując powtarzanie się w t dałoby się wykryć nieseparowalność w skończonym czasie. Nie jest to praktyczne; skończony czas niewiele nam mówi. Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega do optymalnego rozwiązania.
wektora wag Prosta oddzielająca jest prostopadła do wektora wag i przesunięta o θ w 6 4 2 0-2 -4-6 -6-4 -2 0 2 4 6
Zdefiniujmy funkcję błędu: ERR(w, θ) := {E j : O w,θ (E j ) T j } = liczba błędnie sklasyfikowanych przykładów W tej sytuacji uczenie jest zagadnieniem minimalizacji błędu na przestrzeni wag i progu
1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 Organizacja przedmiotu Problem OR: 4 3.5 3 theta = -0.78 2.5 ERR 2 1.5 1 0.5 0-4 -2 w2 0 2 4 4 2 0-2 -4 w1
Problem OR: click
1.5 1 0.5 0-0.5-1 Organizacja przedmiotu -1.5-1.5-1 -0.5 0 0.5 1 1.5 Problem AND: theta = 3.62 4 3.5 ERR 3 2.5 2 1.5 1 0.5 4 0-4 2-2 0 0-2 w2 w1 2 4-4
Problem AND: click
1.5 1 0.5 0-0.5-1 Organizacja przedmiotu -1.5-1.5-1 -0.5 0 0.5 1 1.5 Problem XOR: theta = 3.62 4 3.5 ERR 3 2.5 2 1.5 1 0.5 4 0-4 2-2 0 0-2 w2 w1 2 4-4
Problem XOR: click
Po zajęciach powinienem umieć / wiedzieć: podać definicję oraz dynamikę perceptronu zaimplementować perceptron, dla mniejszych danych również przeprowadzić obliczenia na kartce sformułować problem uczenia perceptronu, zaimplementować algorytmy PLA lub RLA zastosować perceptron w praktycznych problemach obliczeniowych znać ograniczenia perceptronu, sformułować przykładowy problem przekraczający jego możliwości
Pytania kontrolne Co to jest perceptron, jakie są jego wewnętrzne i zewnętrzne parametry? Jaką odpowiedź da perceptron znakowy o wagach (w 0 = 1.5, w 1 = +1, w 2 = 1) na wejściu (x 1 = 1, x 2 = +1)? Dane są dwa przykłady uczące ( 1, 1) 1, (+1, +1) +1. Startowe wagi perceptronu wynoszą (w 0 = θ = +4, w 1 = 3, w 2 = 1). Przeprowadź kilka kroków algorytmu uczącego (może być SPLA). Podaj zestaw trzech danych na R 2, który nie jest liniowo separowalny.