Wstep do sieci neuronowych, wyklad 01 Neuron biologiczny...

67
Organizacja przedmiotu Neuron biologiczny Zagadnienia klasyfikacyjne: perceptron prosty Uczenie perceptronu Wstęp do sieci neuronowych, wyklad 01 Neuron biologiczny. Model perceptronu prostego. M. Czoków, J. Piersa Wydzial Matematyki i Informatyki, Uniwersytet Mikolaja Kopernika 2012-10-03 Projekt pn. „Wzmocnienie potencjalu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczychrealizowany w ramach Poddzialania 4.1.1 Programu Operacyjnego Kapital Ludzki M. Czoków, J. Piersa WSN 2012/2013 Wyklad 01

Transcript of Wstep do sieci neuronowych, wyklad 01 Neuron biologiczny...

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Wstęp do sieci neuronowych, wykład 01Neuron biologiczny. Model perceptronu prostego.

M. Czoków, J. Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2012-10-03

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

In memoriam

prof. dr hab. Tomasz Schreiber (1975-2010)

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Neuron biologicznyKomórka neuronowa

3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Neuron biologicznyKomórka neuronowa

3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

Zaliczenie

Zaliczenie wykładu:

egzamin pisemny — pytania opisowe

egzamin ustny — pytania otwarte

wymagane jest laboratoriów przed podejściem do egzaminu

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

Zaliczenie

Zaliczenie laboratoriów:

implementacja programów (ok. 3 – 6 programów)

kolokwium (zależnie od prowadzącego)

ocena BDB+ z laboratorium zwalnia z części pisemnej egzaminu

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

Program przedmiotu

1 Biologiczny model neuronu2 Model perceptronu prostego3 Inne modele pojedynczego neuronu: maszyna liniowa, Adaline4 Sieci skierowane. Algorytm Wstecznej propagacji błędu5 Uczenie bez nauczyciela, samoorganizacja topologiczna6 Analiza składowych głównych PCA7 Sieci rekurencyjne, Sieć Hopfielda, Maszyny Boltzmanna i

symulowane wyżarzanie8 (*) Wielowartościowe sieci neuronowe, sieci zespolone9 (*) Algorytmy genetyczne

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

Literatura

R. Rojas Neural Networks, A Systematic Introduction, Springer1996,

P. Peretto, Introduction to Modeling Neural Networks,Cambridge University Press 1994,

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Organizacja przedmiotu

Literatura uzupełniająca

T. Schreiber, Notatki do wykładu WSN,

E. Izhikevich, Dynamical Systems in Neuroscience, 2007Massachusetts Institute of Technology

C. Bishop, Neural Networks for Pattern Recognition, OxfordUniversity Press 1995.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Komórka neuronowa

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Neuron biologicznyKomórka neuronowa

3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Komórka neuronowa

Mózg

Płat czołowy(Frontal lobe)

Płat ciemieniowy(Parietal lobe)

Płat skroniowy(Temporal lobe)

Płat potyliczny(Occipal lobe)

Móżdżek(Cerebellum)

Rdzeń kręgowy(Spinal cord)

Rysunek za http://en.wikipedia.org/wiki/Cerebral_cortex, autor Henry Gray, public domain.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Komórka neuronowa

Komórka neuronowa

Komórka Schwanna

Przewężenie Ranviera

Akson

Dendryty

Zakończenia aksonów

Jądro neuronu

Ciało komórki

Otoczka mielinowa

Rysunek za http://pl.wikipedia.org/w/index.php?title=Plik:Neuron-figure_PL.svg, Nicolas Rougier, 2007.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Komórka neuronowa

Możliwości obliczeniowe

komputer mózgJednostki obliczeniowe 1-8 CPU 1011 neuronówPojemność 109B RAM, 1011 neuronów,

1012B dyski 1014 synapsCzas 1 cyklu 10−8s 10−3sPrzepustowość 109 b/s 1014 b/sOperacji na neuronach 1/s 106 1014

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Neuron biologicznyKomórka neuronowa

3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Problem

dany mamy zbiór (wysoko-wymiarowych) przykładów x1, ..., xnchcemy każdemu z nich przypisać jedną z dwóch kategoriiodzwierciedlającą spełnienie (lub nie) jakiejś cechy

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Model perceptronu

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Model perceptronu

out

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Model perceptronu

Perceptron — układ składający się z

n wejść x1, .., xn (argumenty do funkcji)

n wag stowarzyszonych z wejściami w1, ..,wn ∈ Rfunkcji aktywacji f : R→ R.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Dynamika perceptronu

plik YouTube

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Dynamika perceptronu

Na wejściu x = (x1, .., xn) perceptron zwróci wartość:

O(x1, ..., xn) = f (n∑i=1

wixi ) = f (w t · x)

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Dynamika perceptronu progowego

Na wejściu x = (x1, .., xn) perceptron progowy zwróci wartość:

O(x1, ..., xn) =

{−1

∑ni=1 wixi < θ

+1∑ni=1 wixi ≥ θ

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

Sigmoida

f (x) = σ(x) =1

1 + exp(−βx)

-0.5

0

0.5

1

1.5

-3 -2 -1 0 1 2 3

=1=2=5

=10

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

tangens hiperboliczny (symetryczna sigmoida)

f (x) = tanh(12βx) =

1− exp(−βx)1 + exp(−βx)

-1.5

-1

-0.5

0

0.5

1

1.5

-4 -2 0 2 4

y

x

beta = 1beta = 3

beta = 10

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

Funkcja identycznościowaf (x) = x

-3

-2

-1

0

1

2

3

-3 -2 -1 0 1 2 3

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Postacie funkcji aktywującej

Funkcja afinicznaf (x) = ax + b

-3

-2

-1

0

1

2

3

-3 -2 -1 0 1 2 3

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Perceptron z biasem (obciążeniem)

n wejść x1, ..., xn,

n + 1 wag w0,w1, ..., xn,

przyjmuje się dodatkowe zawsze włączone wejście x0 = +1

zwracana wartość

O(x1, ..., xn) =

{−1 [1, xi ]w t =

∑ni=0 wixi < 0

+1 [1, xi ]w t =∑ni=0 wixi ≥ 0,

perceptron z biasem jest równoważny jednostce z progowąfunkcją aktywującą

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Perceptron z biasem

out

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Przykład

Filtry graficzne (liniowe):wejście — piksel,waga — wartość na masce filtru.

.60 .60

.60

.60

1.0

.37

.37 .37

.37

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Przykład

Rozpoznawanie znaku:

Każdy piksel jest jednym wejściem,

Perceptron rozpoznaje czy piksele układają się w symbol.

click

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

Rozważamy jednostkę z funkcją progową tj.

O(x1, ..., xn) =

{−1

∑ni=1 wixi < θ

+1∑ni=1 wixi ≥ θ

Jak wygląda brzeg rozdzielający obszary o różnych aktywacjach?

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

Prosty przypadek 1d — jedno wejście x1, jedna waga w1 i próg θ

O(x1) =

{−1 w1x1 < θ ⇐⇒ x1 < θ/w1+1 w1x1 ≥ θ ⇐⇒ x1 ≥ θ/w1

„Brzeg rozdzielający” jest punktem, który dzieli prostą rzeczywistą nadwie półproste.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

Prosty przypadek 2d — dwa wejścia x1, x2, dwie wagi w1,w2 i próg θ

O(x1) =

−1 w1x1 + w2x2 < θ ⇐⇒ x2 < −w1

w2x1 + θ

w2

+1 w1x1 + w2x2 ≥ θ ⇐⇒ x2 ≥ −w1w2 x1 + θw2

Wygląda znajomo?

ax + by = c ⇐⇒ y = −abx +cb

A teraz?

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

Prosty przypadek 2d — dwa wejścia x1, x2, dwie wagi w1,w2 i próg θ

O(x1) =

−1 w1x1 + w2x2 < θ ⇐⇒ x2 < −w1

w2x1 + θ

w2

+1 w1x1 + w2x2 ≥ θ ⇐⇒ x2 ≥ −w1w2 x1 + θw2

Wygląda znajomo?

ax + by = c ⇐⇒ y = −abx +cb

A teraz?

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

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

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

W przypadku 3d — trzy wejścia x1, x2, x3, trzy wagi w1,w2,w3 i prógθ

O(x1) =

{−1 w1x1 + w2x2 + w3x3 < θ+1 w1x1 + w2x2 + w3x3 ≥ θ

Równanie ogólne płaszczyzny

ax + by + cz + d = 0

Równanie kierunkowe

z =−acx − bcy − dc

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Interpretacja geometryczna

W przypadku 3d jest to płaszczyzna rozdzielająca przestrzeń.

-10

-5

0

5

10

-6

-4

-2

0

2

4

6

-10

-5

0

5

10

15

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

Problem XOR

Prosty przykład dla którego pojedynczy perceptron nie będzie wstaniezwróćić stuprocentowej klasyfikacji

-1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1 -0.5 0 0.5 1 1.5

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

1 Organizacja przedmiotuOrganizacja przedmiotu

2 Neuron biologicznyKomórka neuronowa

3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady

4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Problem uczenia perceptronu

Daną mamy reprezentatywną próbkę danych z odpowiadającymiim klasami (binarnymi: tak lub nie)

Chcemy znaleźć nieskomplikowaną regułę klasyfikacyjną, wedługktórej dane zostały poprzydzielane do klas

Dodatkowo chcemy aby reguła „sensownie” działała na danychpodobnych do próbki uczącej, ale których w trakcie uczenia niewidziała

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Problem uczenia perceptronu

Bardziej formalnie:Dane:

perceptron progowy o n wejściach, n nieznanych wagachw1, ..,wn i progu θ,

zbiór k przykładów uczących E i = (E (i)1 , ..., .E (i)

N ), i = 1..k ,

poprawne odpowiedzi (+1,−1) odpowiadające przykładomuczącym T (1), ...,T (k),

Cel:

znaleźć zestaw wag w1, ..,wn i próg θ takie aby perceptronklasyfikował poprawnie wszystkie (możliwie najwięcej) przykładyuczące

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Simple Perceptron Learning Algorithm (SPLA)

Podstawowy algorytm uczenia:1 Losujemy wagi wi 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 − O5 Jeżeli ERR = 0 (klasyfikacja jest poprawna), to wróć do 2,6 W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie

ze wzoremwi = wi + η · ERR · E ji

θ = θ − ERRη > 0 jest stałą uczenia.

7 Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady,to kończymy, wpw wracamy do 2.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Simple Perceptron Learning Algorithm (SPLA)

Uwagi do algorytmu:

dla nieseparowalnych danych zapętla się,

wymuszenie zakończenia nie daje żadnej gwarancji jakościzwracanych wag.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Pocket Learning Algorithm (PLA)

Algorytm uczenia z kieszonkąIdea:

Z każdym poprawnie klasyfikowanym przykładem zwiększamywagom czas życia,

Najlepszy (tj. najbardziej żywotny) zestaw wag przechowywanyjest w kieszonce, aby nie został nadpisany przez przypadkowezmiany,

Po zakończeniu algorytmu zwracany jest rekordowy zestaw,

Przy odpowiednio długim działaniu prawdopodobieństwo, żenieoptymalny zestaw przeżyje najdłużej zanika do zera.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Pocket Learning Algorithm (PLA)

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy 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 wyniklepszy niż u rekordzisty, zapominamy starego rekordzistę izapisujemy w kieszonce nowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:

wi = wi + η · ERR · E jiθ = θ − ERR

Nowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.

4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Pocket Learning Algorithm with Ratchet

Algorytm uczenia z zapadkąIdea:

Podobnie jak w algorytmie kieszonkowym zapamiętujemyrekordowe wagi,

Przed zapomnieniem poprzedniego zestawu wag sprawdzamy czynowy zestaw klasyfikuje poprawnie więcej przykładów

Po zakończeniu algorytmu zwracany jest rekordowy zestaw,

Każdorazowe sprawdzanie wymaga więcej obliczeń, ale zmniejszaprawdopodobieństwo zwrócenia nieoptymalnego wyniku,

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Pocket Learning Algorithm with Ratchet

1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy 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 wyniklepszy niż u rekordzisty i klasyfikuje on więcej przykładów niżrekordzista, to zapominamy starego rekordzistę i zapisujemynowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:

wi := wi + η · ERR · E jiθ := θ − ERR

Nowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.

4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Twierdzenie

Rozważmy separowalny zbiór (E i ,T i ),

niech istnieje zestaw wag w∗ i próg θ∗, takie że〈w∗,E i 〉 − θ∗ > δ (pewna stała),

niech wszystkie przykłady wspólnie będą ograniczone |E i | ≤ K ,

wówczas SPLA znajdzie poprawny wynik,

przy czym wykona co najwyżej K 2(|w∗|2 + θ∗2)/δ2 kroków.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Z powodu własnego lenistwa dowodu na slajdach nie zamieszczę,

Jeśli bym zamieścił, to na wykładzie przekliałbym się przeztenże dowód,

A tak, nie mam wyjścia jak przeprowadzić go na tablicy.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Dla tych, którzy wolą uczyć się ze slajdów...

za próg θ podstawiamy −w0 stowarzyszone z dodatkowymwejściem x0 = +1,

Dodatkowo zamieniając znaki przypisujemy T i = +1,

Teraz perceptron zwraca znak 〈w ,E 〉,w∗ — wagi optymalne, w t — wagi w kroku t,

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Dla tych, którzy wolą uczyć się ze slajdów...

za próg θ podstawiamy −w0 stowarzyszone z dodatkowymwejściem x0 = +1,

Dodatkowo zamieniając znaki przypisujemy T i = +1,

Teraz perceptron zwraca znak 〈w ,E 〉,w∗ — wagi optymalne, w t — wagi w kroku t,

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Obliczmy 〈w∗,w t+1〉 (im większy tym „bliższe” wagi):

〈w∗,w t+1〉 = 〈w∗,w t + E i 〉 ≥ 〈w∗,w t〉+ δ

Jeżeli w0 były zerowe, to po t krokach będzie:

〈w∗,w t〉 ≥ tδ (∗)

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Z drugiej strony policzmy:

|w t+1|2 = 〈w t+1,w t+1〉 = 〈w t + E i ,w t + E i 〉 =

= |w t |2 + 2〈w t ,E k〉+ |E |2

zauważmy, że 〈w t ,E k〉 < 0, inaczej E k byłby poprawnieklasyfikowany, więc nie zmienialibyśmy wag

|w t |2 + 2〈w t ,E k〉+ |E |2 ≤ |w t |2 + K 2

Czyli po t krokach wagi wzrosną o co najwyżej:

|w t |2 ≤ tK 2 (∗∗)

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Dowód algorytmu

Mamy (∗):〈w∗,w t〉 ≥ tδ (∗)

i (∗∗):|w t |2 ≤ tK 2 (∗∗)

Łączymy (∗) i (∗∗):

tδ ≤ |w∗| · |w t | ≤ |w∗|K√t

Po przeniesieniu t na LHS:

t ≤ |w∗|2K 2/δ2

Co kończy uzasadnienie.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja wektora wag

Prosta oddzielająca jest prostopadła do wektora wag i przesuniętao θ|w |

-6

-4

-2

0

2

4

6

-6 -4 -2 0 2 4 6

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Zdefiniujmy funkcję błędu:

ERR(w , θ) := |{E j : Ow ,θ(E j) 6= T j}|= liczba błędnie sklasyfikowanych przykładów

W tej sytuacji uczenie jest zagadnieniem minimalizacji błędu naprzestrzeni wag i progu

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem OR:

-1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1 -0.5 0 0.5 1 1.5

-4-2024

w1

-4

-2

0

2

4

w2

0

0.5

1

1.5

2

2.5

3

3.5

4

ERR

theta = -0.78

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem OR:

click

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem AND:

-1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1 -0.5 0 0.5 1 1.5

-4

-2

0

2

4w1

-4

-2

0

2

4

w2

0

0.5

1

1.5

2

2.5

3

3.5

4

ERR

theta = 3.62

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem AND:

click

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem XOR:

-1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1 -0.5 0 0.5 1 1.5

-4

-2

0

2

4w1

-4

-2

0

2

4

w2

0

0.5

1

1.5

2

2.5

3

3.5

4

ERR

theta = 3.62

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Interpretacja

Problem XOR:

click

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

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 problemachobliczeniowych

znać ograniczenia perceptronu, sformułować przykładowyproblem przekraczający jego możliwości

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01

Organizacja przedmiotuNeuron biologiczny

Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu

Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja

Pytania kontrolne

Co to jest perceptron, jakie są jego wewnętrzne i zewnętrzneparametry?

Jaką odpowiedź da perceptron znakowy o wagach(w0 = −1.5,w1 = +1,w2 = −1) na wejściu(x1 = −1, x2 = +1)?

Dane są dwa przykłady uczące(−1,−1)→ −1, (+1,+1)→ +1. Startowe wagi perceptronuwynoszą (w0 = −θ = +4,w1 = −3,w2 = −1). Przeprowadźkilka kroków algorytmu uczącego (może być SPLA).

Podaj zestaw trzech danych na R2, który nie jest liniowoseparowalny.

M. Czoków, J. Piersa WSN 2012/2013 Wykład 01