• Nie Znaleziono Wyników

Sieci neuronowe w Statistica

N/A
N/A
Protected

Academic year: 2021

Share "Sieci neuronowe w Statistica"

Copied!
42
0
0

Pełen tekst

(1)

Sieci neuronowe w Statistica

Agnieszka Nowak - Brzezińska

http://usnet.us.edu.pl/uslugi-sieciowe/oprogramowanie-w-usk-usnet/oprogramowanie- statystyczne/

(2)

• Podstawowym elementem składowym sztucznej sieci neuronowej jest element przetwarzający – neuron.

• Schemat działania neuronu:

Axon

Terminal Branches of Axon Dendrites

S

x1

x2 w1 w2

wn xn

x3 w3

(3)
(4)

Typy neuronów

y

S- zagregowana wartość wejściowa

Funkcja aktywacji

(5)

Funkcja aktywacji

• Dla neuronów liniowych:

Liniowa, logistyczna (sigmoidalna), hiperboliczna (tangensoidalna), wykładnicza, sinus,

• Dla neuronów radialnych:

gausowska (dla neuronu radialnego).

Uwaga: liniowa ma być agregacja. Zaś wartość

wyjściowa może być wyznaczona z nieliniowej

f.aktywacji.

(6)

Uczenie neuronu

y

(7)

Predykcja

Wejścia: X

1

X

2

X

3

Wyjścia: Y Model: Y = f(X

1

X

2

X

3

)

0.5

0.6 -0.1 0.1 -0.2

0.7

0.1 -0.2

X1 =1 X2=-1 X3 =2

0.2 f (0.2) = 0.55

0.55

0.9

f (0.9) = 0.71 0.71

-0.087

f (-0.087) = 0.478 0.478

0.2 = 0.5 * 1 –0.1*(-1) –0.2 * 2

Predykcja Y = 0.478

Jeśli aktualnie Y = 2

To błąd predykcji = (2-0.478) =1.522

f(x) = e

x

/ (1 + e

x

)

f(

0.2

) = e

0.2

/ (1 + e

0.2

)

= 0.55

(8)

1. Wybierz losowo jedną z obserwacji

2. Przejdź przez odpowiednie procedury by wyznaczyć wartość

wejścia

3. Porównaj wartość pożądaną

z tą rzeczywiście uzyskaną w sieci

4. Dostosuj wagi obliczając błąd

Schemat uczenia się

(9)

Backpropagation

• To jedna z najczęściej stosowanych technik

uczenia się w sieciach neuronowych.

(10)

Jak wyznaczyć błąd predykcji sieci ?

Gdzie:

•Errori jest błędem osiągniętym w węźle i-tym,

•Outputi jest wartością przewidzianą przez sieć,

•Actuali jest wartością rzeczywistą (której sieć powinna się nauczyć).

(11)

Zmiana wag

L- jest to tzw. Współczynnik uczenia sieci, najczęściej z przedziału [0,1]

Im mniejsza wartość tego współczynnika tym wolniejszy jest proces uczenia sieci neuronowej.

Często współczynnik ten jest ustawiany na najwyższą wartość

początkowo, a następnie jest redukowany przy zmianie wag

sieci.

(12)
(13)

Przykład

(14)

Zmiana wag

L- jest to tzw. Współczynnik uczenia sieci, najczęściej z przedziału [0,1]

Im mniejsza wartość tego współczynnika tym wolniejszy jest proces uczenia sieci neuronowej.

Często współczynnik ten jest ustawiany na najwyższą wartość

początkowo, a następnie jest redukowany przy zmianie wag

sieci.

(15)

Ile neuronów ?

• Liczba neuronów w warstwie wejściowej zależy od liczby zmiennych

• Liczba neuronów w warstwie wyjściowej zależy od typu problemu

• Liczba neuronów w warstwie ukrytej zależy od badacza

(jego doświadczenia)

(16)

Zastosowanie sieci neuronowych

• Zadania klasyfikacyjne – sieć ma za zadanie ustalać do jakiej klasy dany obiekt ma należeć (klasy są wtedy w skali nominalnej)

• Zadania regresyjne - sieć ma za zadanie przewidzieć

wartość zmiennej objaśnianej tak dobrze jak to możliwe

(zmienna objaśniana jest wtedy w skali ilościowej)

(17)

Zadanie klasyfikacyjne

• 1. Otwórz zbiór leukemia.sta

• 2. Wybór typu zadania dla

sieci neuronowej:

(18)

• 3. Wybór odpowiednich zmiennych:

4. Automatyczne sieci neuronowe ze standardowymi ustawieniami

(19)

• Można zmienić proporcje podziału zbioru danych na próbki: uczącą, testową i

walidacyjną

(20)

Automatyczne tworzenie sieci neuronowej

• Neurony liniowe (MLP)

• Minimalnie (3) maksymalnie (10) neuronów w ukrytych warstwach

• 20 sieci na nauczenia, 5 najlepszych zostanie wybranych

• Funkcja błędu: suma kwadratów różnic między wartością oczekiwaną a wartością rzeczywistą

Okno pokazuje: tworzenie sieci 19 z 20, „3-6-2” oznacza sieć z 3 neuronami w warstwie wejściowej, 6 neuronami w warstwie ukrytej oraz 2 w warstwie wyjściowej.

(21)

Wynik

Mamy 5 najlepszych

znalezionych typów sieci neuronowych. Jak widać nie wszystkie mają tę samą liczbę neuronów w warstwie ukrytej (sieć 4 ma 5, sieci 1 i 3 mają 3,a sieć 2 ma aż 6 neuronów w warstwie ukrytej). Klikając wybrane zaakceptujemy je do dalszego wykorzystania…

Dla każdej sieci mamy jej nazwę (mówiącą ile neuronów w każdej z warstw, błędy uzyskane dla grup: uczącej, testowej i walidacyjnej, zastosowany algorytm uczenia się (zazwyczaj jest to BFGS czyli Back Propagation) i mamy też informację jaka była funkcja błędu.

Nie zmieniając innych ustawień (tylko dodatkowo zaznaczając opcję

„Inputs” w sekcji „include”, wybierzmy najlepsze wg nas trzy sieci.

(22)

Oczywiście za każdym uruchomieniem możemy uzyskać zupełnie inne sieci dla tych samych danych i tych samych ustawień

początkowych 

(23)

Zostały nam 3 sieci najlepsze…

(24)

Mamy do dyspozycji…

Zakładki:

• Predictions

• Graphs

• Details

• Liftcharts

• Custom predictions

• Oraz opcję SUMMARY

(25)

Predictions

Widzimy które sieci dla jakich danych

wejściowych błędni

klasyfikowały…

(26)

Details

• Ciekawe są opcje:

• Summary

• Weights

• Confusion matrix (macierz pomyłek, które pokazuje że niektóre sieci mają duży procent pomyłek)

(27)

Details

• Ciekawe są opcje:

• Summary

• Weights

• Confusion matrix (macierz pomyłek, które pokazuje że niektóre sieci mają duży procent pomyłek)

(28)

Details

• Ciekawe są opcje:

• Summary

• Weights

• Confusion matrix (macierz pomyłek, które pokazuje że niektóre sieci mają duży procent pomyłek)

(29)

Results

(30)

Zakładka „liftcharts”

Obowiązkowa lektura:

http://www.statsoft.pl/czytelnia/artykuly/Krzywe_ROC_czyli_ocena_jakosci.pdf

(31)

• 1. Otwórz zbiór tomatoes.sta

• 2. Wybór typu zadania dla sieci neuronowej:

Zadanie regresyjne

(32)

• 3. Wybór odpowiednich zmiennych:

4. Automatyczne sieci neuronowe ze standardowymi ustawieniami

(33)

W zakładce MLP activation functions możemy wybrać typy funkcji do

procesu uczenia się sieci

Nie mamy już do wyboru typu funkcji błędu gdyż przy zadaniach regresyjnych zawsze jest stosowana funkcja sumy kwadratów różnic.

(34)

Wynik

• Mamy 5 najlepszych znalezionych typów sieci neuronowych. Jak widać nie wszystkie mają tę samą liczbę neuronów w warstwie ukrytej

Klikając wybrane

zaakceptujemy je do dalszego wykorzystania…

Nie zmieniając innych ustawień (tylko dodatkowo zaznaczając opcję

„Inputs” w sekcji „include”, wybierzmy najlepsze wg nas trzy sieci.

(35)

Oczywiście za każdym uruchomieniem możemy uzyskać zupełnie inne sieci dla tych samych danych i tych samych ustawień

początkowych 

(36)

Zostały nam 2 sieci najlepsze…

(37)

Mamy do dyspozycji…

Zakładki:

• Predictions

• Graphs

• Details

• Liftcharts

• Custom predictions

• Oraz opcję SUMMARY

(38)

Predictions

Widzimy które sieci dla jakich danych

wejściowych jaką wartość zmiennej objaśnianej

określały …

(39)

Graphs

Przy zadaniach regresyjnych warto zrobić w zakładce Graphs wykresy rozproszenia dla

zmiennej objaśnianej (output) i oczekiwanej objaśnianej

(Target)

(40)

Details

• Ciekawe są opcje:

• Summary

• Weights

• Correlation coefficients

• Confusion matrix -

Warto zauważyć, że nie mamy już do dyspozycji macierzy pomyłek….

(41)

Results

(42)

• Zaleca się lekturę wykładu:

http://zsi.tech.us.edu.pl/~nowak/si/SI_w4.pdf

Cytaty

Powiązane dokumenty

• dla wygenerowanych danych dwuwymiarowych dwóch klas z rozkładów normal- nych zaznacz na wykresie dane treningowe, klasyfikator sieciami neuronowymi, dla różnej liczby neuronów

Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych

Przy starcie uczenia z wartości losowych prawdopodobieństwo utknięcia procesu w minimum lokalnym jest większe niż w przypadku sieci. sigmoidalnych, ze względu na silną

• może być połączona razem z systemem eksperckim i wtedy dostarcza wiedzy do bazy danych systemu eksperckiego... • Kiedy SSN uczy się aproksymować pewną funkcję, musi

• może być połączona razem z systemem eksperckim i wtedy dostarcza wiedzy do bazy danych systemu eksperckiego... • Kiedy SSN uczy się aproksymować pewną funkcję, musi

Powtarzamy kroki 1-4 tak długo dopóki wartość wyjścia wyznaczana przez sieć różni się od wzorca, którego sieć ma się nauczyć.... Warunek końca uczenia

Systemy uczące się (machine learning, ML) oraz sztuczne sieci neuronowe (artificial neural networks, ANN) są ważnymi elementami CI.... Problemy

(2014) Multi-digit Number Recognition from Street ViewImagery using Deep Convolutional Neural Networks.. Głębokość