You are on page 1of 37

.

Perceptron i sieci feedforward


Igor T. Podolak
Uniwersytet Jagielloski w Krakowie

26 luty 2014

1
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

1/17

Sieci neuronowe 2013/2014


sylabus (niekoniecznie po kolei)

1. biologiczne rda

budowa synapsy biologicznej


typy neuronw obliczeniowych

budowa warstw mzgu

2. rne modele obliczeniowe

uczenie nadzorowane / nie nadzorowane / ze wzmocnieniem


modele feed-forward / rekurencyjne / samo-organizujce / ich poczenia
typy nauczania przez minimalizacj kosztu, Hebbowskie,
nauczanie przez najwikszy spadek gradientu

3. Zadania nauczania

regresyjne i klasykacyjne, klastrowanie


model hipotezy h(x) = f (x) + (x)
klasykacje binarne, wielo-klasowe, multi-klasowe

4. modele nauczania

posta danych (dane statyczne, zaoenie IID, dane ze zmieniajcego si


rda)
przestrze cech
separowalno danych
2

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

2/17

Sieci neuronowe 2013 / 2014


sylabus (niekoniecznie po kolei)

1. funkcje celu i funkcje kosztu


L1, L2, Hamming,
funkcja i cel nauczania

2. dowiadczenia
zdolno do generalizacji
pojcie ryzyka i ryzyka empirycznego
funkcje kosztu i ocena poprawnoci

kwadratowa, Hamminga,
koszt jako funkcja L(x, y(x), y(x))
zbir uczcy / testujcy / walidujcy
1outofn
walidacja krzyowa
bootstrap oraz bd typu Err0.632
f1, Mattweths Correlation Coefcient,

3. testy statystyczne
test t-Studenta, test F
porwnywanie klasykatorw
rangowe porwnywanie klasykatorw na rnych zbiorach
3
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

3/17

Sieci neuronowe 2013 / 2014


sylabus (niekoniecznie po kolei)

1. podstawy teorii statystycznych metod nauczania


twierdzenie Chebysheva o istnieniu
wymiar VapnikaChervonenkisa
biasvariance dilemma, przeklestwo wymiarowoci

2. perceptron

model McCulloch-Pittsa
liniowa separowalno problemu
nauczanie perceptronu przez popraw bdu
zbieno procesu nauczania
rozszerzenia gdy problem nie jest separowalny

3. model typu feed-forward i algorytm wstecznej propagacji bdw

koncepcja transformacji przestrzeni wejciowej do ukrytej


algorytm wstecznej propagacji
ile neuronw ukrytych?, ale warstw? zdolnoci generalizacyjne
rozwinicia algorytmu wstecznej propagacji bdw
metoda momentum
algorytm deltadelta, deltabardelta,
metoda Resilient Propagation
4

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

4/17

Sieci neuronowe 2013 / 2014


sylabus (niekoniecznie po kolei)

1. metody wyszych rzdw nauczania sieci warstwowych

newtonowska, quasi-newtonowska
quickprop
brain surgeon i optimal brain surgeon
LevenbergMarquardt

2. dostosowywanie wymiaru sieci


minimalizacja liczby parametrw, brzytwa Ockhama
prosty pruning parametrw, metody zaawansowane

3. nauczanie ze wspzawodnictwem
winnertakesall
sieci Kohonena
adaptacja w sieciach typu GNG

5
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

5/17

Sieci neuronowe 2013 / 2014


sylabus (niekoniecznie po kolei)

1. sieci rekurencyjne

model Hopelda
prbkowanie Gibbsa
modele nauczania oparte o energi
warunki zbienoci nauczania w modelu Hopelda
trudne problemy a model Hopelda

2. deep learning czyli deep throat czyli gbokie nauczanie


geneza gbokiego nauczania jako podejcie do nauczania duej liczby
warstw
model maszyny Boltzmanna
nauczanie przez zblianie rozkadw prawdopodobiestwa
ograniczony model maszyny Boltzmanna
implementacja gbokiego modelu przez auto-enkodery

6
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

6/17

Literatura
1. Simon Haykin Neural networks and learning machines, Pearson 2009
2. David Hand, Heikki Mannila, Padhraic Smyth Principles of data mining,
MIT Press 2001
3. Trevor Hastie, Robert Tishirani, Jerome Friedman The elements of
Statistical Learning, Springer 2001
4. Christopher M. Bishop Pattern recognition and machine learning, Springer
2006
5. John Hertz, Anders Krogh, Richard Palmer Wstp do teorii oblicze
neuronowych, WNT 1993
6. Daphne Koller, Nir Friedman Probabilistic Graphical models: principles
and techniques, MIT Press 2009
7. Stanisaw Osowski Sieci neuronowe w ujciu algorytmicznym, WNT 1996
8. artykuy, skrypty
7
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

7/17

klasykator liniowy

.
Denicja (klasykator liniowy)
.
Klas klasykatorw deniowanych przez hiperpaszczyzn

< w, x > +b = 0
odpowiadajcej funkcji decyzyjnej

f (x) = sgn(< w, x > +b)


nazywamy
klasykatorami liniowymi.
.
.
Uwaga
.
Jeli przestrze cech jest k -wymiarowa, to rozdzielajca hiperpaszczyzna
jest
. (k 1)-wymiarowa.
.
Denicja (liniowa separowalno)
.
Jeli dla zbioru danych D istnieje rozdzielajca klasy hiperpaszczyzna, to zbir
nazywamy
liniowo separowalnym.
8
.
/

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

17

8/17

Architektura perceptronu
1. neuron McCullochPitts w ktrym po kombinacji

liniowej wej v = ni=1 wi xi + b nastpuje


nieliniowa funkcja ()

2. w neuronie McCulloch-Pitts jest to funkcja sign()

(v)

3. perceptron rozdziela przestrze hiperpaszczyn

decyzyjn ni=1 wi xi + b = 0

4. parametry wi mog by znalezione w toku nauczania


przez popraw bdu

b .

x1 x2 x3 x4

xn
9

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

9/17

Architektura perceptronu
nauczanie

1. konwersja przestrzeni wejciowej do


[+1, x1 , x2 , . . . , xn ]

2. w(k) = [w0 (k), w1 (k), w2 (k), . . . , wn (k)] gdzie


w0 = bias
3. problem binarny: wT x > 0 dla przykadw z klasy
C1 (+1) oraz wT x 0 dla C2 (1)
4. algorytm
4.1 w(n + 1) = w(n) jeli wT x > 0 (lub ) i klasa C1
(lub C2 )
4.2 w(n + 1) = w(n) + (n)x(n) gdy x(n) C1 i
wT (n)x(n) 0
4.3 w(n + 1) = w(n) (n)x(n) gdy x(n) C2 i
wT (n)x(n) > 0
4.4 przerwij, gdy wszystkie przykady s dobrze
zaklasykowane

5. jeli problem jest liniowo separowalny, to algorytm


igor.podolak@uj.edu.pl
perceptron i sieci feedforward
znajdzie rozwizanie

Igor T. Podolak, WMiI UJ

(v)
v
b .

x1 x2 x3 x4

xn
10

/17

10/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

y
(v)
v
b .

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)
v
b .

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)

v
b .

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)


poniewa klasy s separowalne, istnieje wopt dla

ktrego

wT x(n)

> 0 dla wszystkich x(n)


b .

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)


poniewa klasy s separowalne, istnieje wopt dla

ktrego

wT x(n)

niech =

> 0 dla wszystkich x(n)

T x(n)
min wopt

b .

x(n)C1

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)


poniewa klasy s separowalne, istnieje wopt dla

ktrego

wT x(n)

niech =

> 0 dla wszystkich x(n)

T x(n)
min wopt

b .

x(n)C1

T w(n + 1) = w T x(0) + w T x(1) + n


wopt
opt
opt

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)


poniewa klasy s separowalne, istnieje wopt dla

ktrego

wT x(n)

niech =

> 0 dla wszystkich x(n)

T x(n)
min wopt

b .

x(n)C1

T w(n + 1) = w T x(0) + w T x(1) + n


wopt
opt
opt

z nierwnoci CauchySchwartza
T w(n + 1)]2
wopt 2 w(n + 1)2 [wopt

x1 x2 x3 x4

xn

11
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

11/17

Algorytm nauczania perceptronu czy jest zbieny?


niech w(0) = 0 i = 1

niech le klasykuje przykady n = 1, 2, . . . tzn.

wT (n)x(n)

< 0 i przykady nale do klasy C1

(v)

w(n + 1) = x(1) + x(2) + + x(n)


poniewa klasy s separowalne, istnieje wopt dla

ktrego

wT x(n)

niech =

> 0 dla wszystkich x(n)

T x(n)
min wopt

b .

x(n)C1

T w(n + 1) = w T x(0) + w T x(1) + n


wopt
opt
opt

z nierwnoci CauchySchwartza
T w(n + 1)]2
wopt 2 w(n + 1)2 [wopt

z ostatnich dwch mamy, e

wopt 2 w(n + 1)2 n2 2


w(n + 1)2
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

x1 x2 x3 x4

xn

n2 2
wopt 2

11

perceptron i sieci feedforward

11/17

/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

y
(v)
v
b .

x1 x2 x3 x4

xn

12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

y
(v)

kolejne poprawki to w(k + 1) = w(k) + x(k)

v
b .

x1 x2 x3 x4

xn

12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

kolejne poprawki to w(k + 1) = w(k) + x(k)

(v)

biorc kwadrat normy

w(k + 1)2 = w(k)2 + x(k)2 + 2wT (k)x(k)


b .

x1 x2 x3 x4

xn

12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

kolejne poprawki to w(k + 1) = w(k) + x(k)

(v)

biorc kwadrat normy

w(k + 1)2 = w(k)2 + x(k)2 + 2wT (k)x(k)


w ostatnim kroku w(k)T x(k) 0, std poprawka z

ostatniego mona wnioskowa, e


w(k + 1)2 w(k)2 + x(k)2

b .

x1 x2 x3 x4

xn

12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

kolejne poprawki to w(k + 1) = w(k) + x(k)

(v)

biorc kwadrat normy

w(k + 1)2 = w(k)2 + x(k)2 + 2wT (k)x(k)


w ostatnim kroku w(k)T x(k) 0, std poprawka z

ostatniego mona wnioskowa, e


w(k + 1)2 w(k)2 + x(k)2

b .

niech = max x(k)


x(k)C1

x1 x2 x3 x4

xn

12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?

w(n + 1)2

n2 2
wopt 2

kolejne poprawki to w(k + 1) = w(k) + x(k)

(v)

biorc kwadrat normy

w(k + 1)2 = w(k)2 + x(k)2 + 2wT (k)x(k)


w ostatnim kroku w(k)T x(k) 0, std poprawka z

ostatniego mona wnioskowa, e


w(k + 1)2 w(k)2 + x(k)2

b .

niech = max x(k)


x(k)C1

sumujc dla wszystkich wej i pamitajc, e

w(0) = 0 mamy
w(n + 1)2

x1 x2 x3 x4

xn

x(k)2 n

k=1
12
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

12/17

Algorytm nauczania perceptronu czy jest zbieny?


w(n + 1)2

n2 2
wopt 2

w(n + 1)2 n

(v)
v

wektor wag w(k) ronie liniowo z liczb iteracji n

b .

x1 x2 x3 x4

xn

13
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

13/17

Algorytm nauczania perceptronu czy jest zbieny?


w(n + 1)2

n2 2
wopt 2

w(n + 1)2 n

(v)
v

wektor wag w(k) ronie liniowo z liczb iteracji n


dwie nierwnoci staj w sprzecznoci dla

wystarczajco duych n, std istnieje pewne nmax ,


2
2
ktre jest rozwizaniem dla nwmax
2 = nmax skd
opt

nmax =

b .

wopt 2
2
x1 x2 x3 x4

xn

13
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

13/17

Algorytm nauczania perceptronu czy jest zbieny?


w(n + 1)2

n2 2
wopt 2

w(n + 1)2 n

(v)
v

wektor wag w(k) ronie liniowo z liczb iteracji n


dwie nierwnoci staj w sprzecznoci dla

wystarczajco duych n, std istnieje pewne nmax ,


2
2
ktre jest rozwizaniem dla nwmax
2 = nmax skd
opt

nmax =

b .

wopt 2
2

zaoenie inne ni w(0) = 0 zmieni jedynie liczb

x1 x2 x3 x4

xn

iteracji
13
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

13/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0

y
(v)
v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0

2. y(n) = sgn[wT (n)x(n)]

(v)
v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0
2. y(n) = sgn[wT (n)x(n)]

3. w(n + 1) = w(n) + [d(n) x(n)]x(n) gdzie


d(n) jest prawidow etykiet

(v)
v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0
2. y(n) = sgn[wT (n)x(n)]

3. w(n + 1) = w(n) + [d(n) x(n)]x(n) gdzie


d(n) jest prawidow etykiet

(v)

4. sygna d(n) y(n) nazywamy sygnaem bdu

v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0
2. y(n) = sgn[wT (n)x(n)]

3. w(n + 1) = w(n) + [d(n) x(n)]x(n) gdzie


d(n) jest prawidow etykiet

(v)

4. sygna d(n) y(n) nazywamy sygnaem bdu


5. wspczynnik nauczania jest ograniczony do zakresu
0<1

v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0
2. y(n) = sgn[wT (n)x(n)]

3. w(n + 1) = w(n) + [d(n) x(n)]x(n) gdzie


d(n) jest prawidow etykiet

(v)

4. sygna d(n) y(n) nazywamy sygnaem bdu


5. wspczynnik nauczania jest ograniczony do zakresu
0<1
urednianie ostatnich sygnaw dla stabilnego dziaania
wymaga maego

v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Algorytm nauczania perceptronu


przez poprawianie bdu

1. w(0) = 0
2. y(n) = sgn[wT (n)x(n)]

3. w(n + 1) = w(n) + [d(n) x(n)]x(n) gdzie


d(n) jest prawidow etykiet

(v)

4. sygna d(n) y(n) nazywamy sygnaem bdu


5. wspczynnik nauczania jest ograniczony do zakresu
0<1
urednianie ostatnich sygnaw dla stabilnego dziaania
wymaga maego
szybka adaptacja, w szczeglnoci dla zmieniajcych si
rozkadw wej wymagaj duego

v
b .

x1 x2 x3 x4

xn
14

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

14/17

Perceptron
nauczanie w trybie batch i algorytm gradientowy

1. dotd skupialimy si na poprawianiu dla pojedynczych przykadw


2. wprowadzamy uoglnion funkcj kosztu perceptronu

J(w) =

(wT x)

xmisclass

jeli wszystkie s poprawnie klasykowane, to J(w) = 0


funkcja jest rniczkowalna ze wzgldu na w moemy znale wektor
gradientu

J(w) =
(x)
xmiclass

wektor gradientu i poprawka

=
,
,...,
w0 w1
wN

]T

w(n + 1) = w(n) (n)J(w)

= w(n) + (n)

xmisclass
15
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

15/17

Perceptron
problemy

1. tylko problemy liniowo-separowalne


przy problemie nieseparowalnym, algorytm nie daje adnych gwarancji, e
bdzie dy do rozwizania optymalnego

2. co robi by znale optymalne rozwizanie


algorytm pocket
zapamituj aktualne rozwizanie, jeli jest lepsze od ostatniego w sensie liczby

poprawnych klasykacji

sieci Pao
rozszerzenie wejcia o dodatkowe elementy, ktre s losowymi nieliniowymi

przeksztaceniami oryginalnych wej, np. sin(x1 + x2 x3 ), cos(2 x4 x2 )

zwikszenie wymiaru przestrzeni wejciowej zwiksza prawdopodobiestwo, e

problem bdzie liniowo separowalny


cierpi na tym zdolnoci generalizacyjne sieci

3. ale jest bardzo szybki!


ze wzgldu na ma liczb parametrw (wag), powinien dobrze
generalizowa
ma skoczony wymiar VapnikaChervonenkisa
16
Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

16/17

Perceptron
1. perceptron jest sieci jedno-warstwow i dziaa tylko
jeli problem jest liniowo separowalny

2. progow funkcj aktywacji sgn() mona by zastpi


funkcj sigmoidaln, np. (v) = tanh (v/2)
3. czy perceptron bdzie wtedy dziaa lepiej?

(v)
v

podstawowe zdolnoci decyzyjne s identyczne

4. Minsky i Papert pokazali (1961), e perceptron jest


ciekawy ale ma swoje ograniczenia i there is no
reason to suppose that any of these virtues carry
over to the many-layered version (1969)

b .

x1 x2 x3 x4

xn
17

Igor T. Podolak, WMiI UJ

igor.podolak@uj.edu.pl

perceptron i sieci feedforward

/17

17/17

You might also like