• Nie Znaleziono Wyników

1Przypomnienie WprowadzeniedoSieciNeuronowych—Laboratorium10—Testowaniejakościuczenia

N/A
N/A
Protected

Academic year: 2021

Share "1Przypomnienie WprowadzeniedoSieciNeuronowych—Laboratorium10—Testowaniejakościuczenia"

Copied!
5
0
0

Pełen tekst

(1)

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

Wprowadzenie do Sieci Neuronowych — Laboratorium 10 — Testowanie jakości uczenia

Jarosław Piersa, Maja Czoków 2013-12-03

1 Przypomnienie

1.1 Średnia poprawna klasyfikacja

• Po nauczeniu sieci sprawdzamy ile z przykładów jest klasyfikowanych poprawnie,

• Obliczamy ilość wszystkich przykładów,

• Przypisujemy:

jakość uczenia := ilość przykładów sklasyfikowanych poprawnie ilość wszystkich przykładów

1.2 Walidacja prosta

Rysunek 1: Schemat prostej walidacji uczenia.

• Dane uczące są losowo dzielone na dwa rozłączne zbiory:

– próbkę uczącą U , – próbkę testową T ,

• Sieć jest uczona za pomocą próbki uczącej,

• Jakość sieci jest badana tylko za pomocą próbki testowej

jakość := ilość przykładów T sklasyfikowanych poprawnie ilość wszystkich przykładów w T

(2)

1.3 Walidacja krzyżowa

Ang. k-fold cross-validation

• Dane uczące są losowo dzielone na k rozłącznych zbiorów: T1, ..., Tk,

• Zbiory powinny być równoliczne (lub różnić się o maksymalnie 1 element, jeżeli nie da się podzielić dokładnie),

• Dla i = 1...k powtarzamy

– uczymy sieć na zbiorze uczącym T1∪ ...Ti−1∪ Ti+1∪ Tk,

– testujemy tak nauczoną sieć na danych Ti (na tych danych sieć nie była uczona), – zapamiętujemy rezultat jako ri

• Zależnie od ilości miejsca podajemy wszystkie rezultaty ri,

• lub przynajmniej ich średnią, medianę, minimum, maksimum i odchylenie standardowe,

Rysunek 2: Schemat k-krotnej walidacji krzyżowej.

2 Zadania

2.1 Zadanie 0 (na rozgrzewkę)

Narysuj scatter-plot poniższego zbioru przykładów uczących lub innego samodzielnie wygenerowanego zestawu danych m = 2 0 ;

ex = [ ( -3.0 - 0 . 6 2 * r a n d n( m ,1)) , ( -4 -0.7 *r a n d n( m ,1)) , - o n e s ( m , 1 ) ; ( + 4 . 0 - 0 . 8 6 * r a n d n( m ,1)) , ( + 3 . 0 + 0 . 1 0 *r a n d n( m ,1)) , - o n e s ( m , 1 ) ; ( -3.5 - 0.7 * r a n d n( m ,1)) , (+3 -1.122*r a n d n( m ,1)) , o n e s ( m , 1 ) ; ( + 3 . 3 + 0.5 * r a n d n( m ,1)) , ( -4.1 -0.94 *r a n d n( m ,1)) , o n e s ( m ,1) ];

pp = f i n d( ex (: ,3) >0);

(3)

h o l d off ;

p l o t ( ex ( pp ,1) , ex ( pp ,2) , ’ b + ’);

h o l d on ;

nn = f i n d( ex (: ,3) <0);

p l o t ( ex ( nn ,1) , ex ( nn ,2) , ’ ro ’ );

2.2 Zadanie 1

Naucz pojedynczy perceptron klasyfikacji danych z zadania 0. Wyświetl procent poprawnie klasyfikowanych danych.

Można to zrobić poprzez modyfikację funkcji plotResultsPerceptron() w skrypcie do zajęć.

m a x T = 1 0 0 0 0 ;

w = p o c k e t L e a r n i n g A l g o r i t h m ( ex , m a x T );

% j e z e l i nie ma pod r e k a s k r y p t u z u c z e n i e m to c h o c

% w = r a n d o m (3 , 1);

a n s w e r s = [];

for i = ( 1 :l e n g t h( ex ))

a n s w e r s ( i ) = p e r c ([ ex ( i ,1) , ex ( i ,2)] , w ) == ex ( i , 3 ) ; end

pos = f i n d( answers > 0 ) ; neg = f i n d( answers < = 0 ) ;

p r i n t f (’ pos = % d / % d \ n ’, l e n g t h( pos ) , l e n g t h( ex ));

p r i n t f (’ neg = % d / % d \ n ’, l e n g t h( neg ) , l e n g t h( ex ));

f i g u r e( 2 ) ; h o l d off ;

p l o t( ex ( pos ,1) , ex ( pos ,2) , ’ b + ’ );

h o l d on ;

p l o t( ex ( neg ,1) , ex ( neg ,2) , ’ ro ’ );

2.3 Zadanie 2

Powtórz punkt 1 dla skonstruowanej sieci wieżowej (z poprzednich zajęć).

n e t w o r k = b u i l d S p i r e N e t w o r k ( ex );

% j e z e l i nie ma a l g o r y t m u u c z a c e g o to np

# n e t w o r k = r a n d n(3 , 1 0 ) ; N = l e n g t h( ex (1 , : ) ) ;

a n s w e r s = z e r o s(1 , l e n g t h( ex ));

for i = ( 1 :l e n g t h( ex ))

a n s w e r s ( i ) = s p i r e N e t w o r k ( ex ( i ,1: N -1) , w ) == ex ( i , N );

end

% a n s w e r s ma w a r t o s c i 0 lub 1 a = f i n d( a n s w e r s == 0);

a n s w e r s ( a ) = -1;

% t e r a z : +1 lub -1

% ex (: , N ) tez ma w a r t o s c i +1 lub -1

t r u e p o s = f i n d( answers ’ + ex (: , N ) > 1 . 5 ) ; t r u e n e g = f i n d( answers ’ - ex (: , N ) > 1 . 5 ) ; f a l s e p o s = f i n d( answers ’ + ex (: , N ) < -1.5);

f a l s e n e g = f i n d( answers ’ - ex (: , N ) < -1.5);

p r i n t f (’ t r u e pos = % d / % d \ n ’, l e n g t h( t r u e p o s ) , l e n g t h( ex ));

(4)

p r i n t f (’ t r u e neg = % d / % d \ n ’, l e n g t h( t r u e n e g ) , l e n g t h( ex ));

p r i n t f (’ f a l s e pos = % d / % d \ n ’, l e n g t h( f a l s e p o s ) , l e n g t h( ex ));

p r i n t f (’ f a l s e neg = % d / % d \ n ’, l e n g t h( f a l s e n e g ) , l e n g t h( ex ));

f i g u r e(3) h o l d off ;

p l o t( ex ( truepos ,1) , ex ( truepos ,2) , ’ b + ’ );

h o l d on ;

p l o t( ex ( trueneg ,1) , ex ( trueneg ,2) , ’ bo ’ );

p l o t( ex ( f a l s e p o s ,1) , ex ( f a l s e p o s ,2) , ’ r + ’ );

p l o t( ex ( f a l s e n e g ,1) , ex ( f a l s e n e g ,2) , ’ ro ’ );

l e g e n d(’ t r u e pos ’, ’ t r u e neg ’, ’ f a l s e pos ’, ’ f a l s e neg ’);

2.4 Zadanie 3

Podziel zbiór treningowy na dwa rozłączne podzbiory:

• Uczące

• Testowy

Naucz siec na pierwszym zbiorze ale wyniki przetestuj na drugim. Wykonaj operację odwrotną tj naucz sieć na zbiorze 2-gim a przetestuj na pierwszym. Porównaj rezultaty

% T e s t / W s z y t k i e t h r e s = .5;

r = r a n d(1 , l e n g t h( ex ));

% d z i e l i m y E na T e s t i U c z a c e t r a i n i n g = f i n d( r > t h r e s );

t e s t = f i n d( r <= t h r e s );

t r a i n i n g = ex ( t r a i n i n g , :);

t e s t = ex ( test , :);

m a x T = 1 0 0 0 ;

% p a t r z : k i l k a z a j e c t e m u

n e t w o r k = b u i l d S p i r e N e t w o r k ( t r a i n i n g , m a x T );

% p a t r z : z a d a n i e 1 i 2

p l o t R e s u l t s N e t w o r k ( network , t e s t );

h o l d on ;

t1 = f i n d( t r a i n i n g (: ,3) >0);

t2 = f i n d( t r a i n i n g (: ,3) <0);

p l o t( t r a i n i n g ( t1 ,1) , t r a i n i n g ( t1 ,2) , " g * " ) ; p l o t( t r a i n i n g ( t2 ,1) , t r a i n i n g ( t2 ,2) , " gd ");

l e g e n d(’ t e s t t r u e pos ’, ’ t e s t t r u e neg ’, ’ t e s t f a l s e pos ’, ’ t e s t f a l s e neg ’,

’ t r a i n i n g pos ’, ’ t r a i n i n g neg ’);

c z y Z a p i s y w a c = 0;

if c z y Z a p i s y w a c

p r i n t ( " . / w a l i d a c j a . svg " , " - c o l o r ");

end;

2.5 Zadanie 4

Wykonaj zadanie 3, ale z podzialem nie na 2 (dwa) ale na 4 (cztery) (dla chetnych na dowolne k) zbiory. Za każdym razem wybieramy jeden ze zbiorów jako testowy, a wszystkie pozostale sumujemy tworząc uczący.

Otrzymasz k wynikow (z k procesow uczenia). Wyswietl wykres, średnia, medianę, wariancję, min i max uzyskanych wyników.

(5)

2.6 Zadanie 5

Wygeneruj własny zestaw uczący na R2. Wykonaj zadania 1–4 dla nowego zestawu. Porównaj wyniki.

-8 -6 -4 -2 0 2 4 6 8

-6 -4 -2 0 2 4 6

true pos true neg false pos false neg training pos training neg

Rysunek 3: Przykładowa ilustracja na R2.

Cytaty

Powiązane dokumenty

Gdyby u kresu naszej poprzedniej refleksji zadac´ Szanownym i Drogim mo- im Słuchaczom pytanie: „Dlaczego?” − skierowane pod adresem Jana Pawła II: „Człowiek jest drog

 Starostowie poszczególnych roczników przygotowują deklaracje wyboru (nazwa kursu oraz imienna alfabetyczna lista studentów zainteresowanych kursem) a następnie przesyłają

Szeregi geometryczne mogą służyć do konstruowania przykładów szeregów o zadanych własnościach.. Popatrzmy na kilka tego

Łańcuch Markowa jest procesem stochastycznym (ciągiem zmiennych losowych), w którym rozkład zmiennej w chwili t zależy wyłącznie od wartości łańcucha w kroku poprzednim tj..

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 1.. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w

ne za pomocą symboli literowych, pozostałe zawierają głównie odpowiedzi licz- bowe (maksymalną zwięzłość cenię na nagrobku, natomiast w odpowiedzi chciał- bym znaleźć

Celem badań była ocena wpływu warunków siedliska (gleby oraz przebiegu wa- runków pogodowych w okresie wegetacji roślin) na plon tłuszczu, zawartość tłuszczu oraz skład

Cechą charakterystyczną systemu pieniężnego jest wzrost ilości tworzywa (podaży pieniądza) przy jednoczesnym spadku jego jakości (siły nabywczej), którą to prawidłowość