View
6
Download
0
Category
Preview:
Citation preview
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznychSAS Enterprise Miner
rok akademicki 2013/2014
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
Sieci neuronowe
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
3
Sieci neuronowe
W XIX wieku sformułowano teorię opisującą podstawowe pojęcia dla funkcjonalnego opisu systemu nerwowego.
System nerwowy składa się z komórek nerwowych (neuronów), które komunikują się ze sobą poprzez przekazywanie sygnałów.
Komórki nerwowe są połączone ze sobą tworząc skomplikowana sieć.
Każdy neuron jest pojedynczą komórką, która może odbierać sygnały elektrochemiczne, przetwarzać je i rozsyłać do innych komórek.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
4
Sieci neuronowe
Pojemność ludzkiego mózgu szacuje się na 1011 neuronów.
Na jeden neuron przypada średnio kilka tysięcy połączeń.
Cztery tygodnie po zapłodnieniu embrion wytwarza pół miliona neuronów na minutę. W ciągu następnych tygodni te komórki przemieszczają się do mózgu i łączą między sobą (około 2 miliony połączeń na sekundę).
To daje około 1015 połączeń między neuronami.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
5
Neurony wstępujące (czuciowe) – odbierają bodźce od narządów zmysłów i przekazują informację do ośrodkowego układu nerwowego.
Neurony pośredniczące – zajmują się integracją (kojarzeniem) docierających informacji i podejmowaniem decyzji dotyczących sposobów reagowania.
Neurony zstępujące przekazują informację z systemu nerwowego do odpowiednich narządów zmysłu i gruczołów.
Rodzaje neuronów
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
6
Budowa neuronu
Ciało komórki (perikarion).
Dendryty – odbierają sygnały przychodzące od innych.
Sygnały wejściowe są agregowane i jeżeli przekroczą pewną wartość progową, neuron zostaje pobudzony i wysyła sygnał wyjściowy.
Akson – przewodzi z ciała komórki do innych neuronów lub do mięśni i gruczołów.
Akson jednej komórki łączy się z dendrytami innych komórek poprzez złącza zwane synapsami.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
7
W 1949 roku Donald Hebb w pracy The Organization of Behavior zasugerował, że zachowanie się synaps może być modyfikowane przez uczenie.
Bodźce przychodzące ze świata zewnętrznego powodują wzrost aktywności neuronów, co wpływa na wzrost powiązań synaptycznych między pobudzanymi neuronami.
Uczenie powoduje, że niektóre synapsy są „wzmocnione”, a inne „uśpione”.
Powyższa idea stała się podstawą konstrukcji sztucznych sieci neuronowych.
Neurony a uczenie się
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
8
Modele sieci neuronowych
W budowie sztucznych sieci neuronowych wykorzystuje się modele matematyczne neuronów, których działanie w pewnym uproszczeniu odpowiada działaniu neuronów biologicznych.
dendrytom biologicznych sieci neuronowych odpowiadają wejścia, które są połączone z wyjściami innych neuronów,
synapsom odpowiadają pewne liczby zwane wagami połączeń, które pełnią rolę parametrów wpływających na działanie neuronów.
Podobnie jak w systemie biologicznym wagi połączeń są zmienianew zależności od otrzymywanej informacji. To zapewnia zdolność kojarzenia faktów czyli uczenia sieci.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
9
Modele sieci neuronowych
Mimo wielu uproszczeń, sztuczne sieci neuronowe charakteryzują się cechami zarezerwowanymi dotychczas dla organizmów żywych.
zdolność uczenia się, dzięki której sieć neuronowa potrafi nauczyć się prawidłowych reakcji na określone bodźce,
umiejętność abstrakcji tj. zdolność uogólniania zdobytej wiedzy, odporność na uszkodzenia, gdyż sieć neuronowa potrafi działać poprawnie
nawet gdy część jej elementów jest uszkodzona.[D. Witkowska, 2000]
Odporność na zaszumione i niedokładne dane wejściowe.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
10
Zastosowania
Modele sieci neuronowych stosuje się, gdy: nie znamy formuły matematycznej wiążącej zmienną
zależną ze zmiennymi objaśniającymi (zależność ta jest nieliniowa),
predykcja jest ważniejsza niż wyjaśnianie zależności między zmiennymi,
mamy dużo obserwacji, dla których znamy wartości zmiennej objaśnianej i zmiennych objaśniających.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
11
Kilka możliwych zastosowań sieci neuronowych
rozpoznawanie i generowanie mowy, przewidywanie wskaźników finansowych, kursów na giełdzie optymalizacja procesów chemicznych, rozpoznawanie obiektów i wykrywanie złóż, identyfikacja komórek nowotworowych, wykrywanie anomalii w chromosomach, określanie ryzyka przedsięwzięć, automatyczne rozpoznawanie ręcznego pisma, rozwiązywanie problemów optymalizacyjnych, takich jak problem
komiwojażera, usuwanie szumów w analizie szeregów czasowych.
[R. Tadeusiewicz, 1993]
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
12
Ciekawe zastosowania sieci neuronowych
selekcja policjantów z uwagi na skłonność do nieetycznego zachowania,
powoływanie przysięgłych,
przewidywanie napraw drogowych,
diagnozy lekarskie,
przewidywanie wyników wyścigów konnych,
przewidywanie wybuchów na Słońcu
prognoza pogody, automatyczne sterowanie, wybór składników karmy dla kurcząt, poszukiwanie złota, badanie zanieczyszczeń powietrza.
[Iwo Białynicki-Birula, Iwona Białynicka-Birula,Modelowanie rzeczywistości, WNT 2007]
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
13
Opis zależności między zmiennymi
X3
YSieć neuronowaWartości zmiennej objaśnianejX2
X1Wartości zmiennych objaśniających
Po wprowadzeniu na wejściu wartości zmiennych objaśniających sieć powinna przewidywać wartość zmiennej objaśnianej
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
14
neurony układają się w warstwy,
połączenie istnieje tylko pomiędzy neuronami sąsiednich warstw (nie ma połączeń między neuronami tej samej warstwy),
istnieje warstwa wejściowa, warstwa wyjściowa oraz jedna lub wiele warstw ukrytych,
sygnał przepływa od warstwy wejściowej do warstwy wyjściowej w jednym kierunku.
Jednokierunkowa sieć wielowarstwowa MLP – MultiLayer Perception)
Warstwa wejściowa Warstwa ukryta Warstwa wyjściowa
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
15
Sztuczna sieć neuronowa
Warstwa wejściowa Warstwa ukryta Warstwa wyjściowa
waga
Połączeniom między neuronami są przypisane wagi połączeń.
Początkowe wartości wag mogą być ustalone lub wybrane losowo.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
16
W jaki sposób neuron przetwarza informację przychodzącą do niego?
p=w1 x1+w2 x2+. . .+wn xn=∑i=1
n
wi x i
Pobudzenie neuronu p jest liniową funkcją sygnałów wejściowych z wagami połączeń jako współczynnikami (funkcja kombinacji).
Sygnał wyjściowy y jest zależny od całkowitego pobudzenia neuronu, transformowanego przez funkcję aktywacji f. Pozwala to wprowadzić nieliniowość.
y=f ( p )=f (∑i=1
n
wi x i)
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
17
Funkcja aktywacji progowa
0
0,2
0,4
0,6
0,8
1
1,2
-2,0 -1,0 0,0 1,0 2,0
Funkcja przekazuje sygnał (f =1), gdy progowa wartość p jest większa od zera.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
18
Funkcja aktywacji liniowo-progowa
Zakres zmian wartości funkcji jest ograniczony przez wartości progowe α i β (przyjmujemy α < β). Sygnały mniejsze lub większe od wartości progowych nie powodują żadnych dalszych zmian wartości funkcji, natomiast między wartościami progowymi funkcja aktywacji zmienia się w sposób liniowy.
0
0,2
0,4
0,6
0,8
1
1,2
-2,0 -1,0 0,0 1,0 2,0
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
19
Funkcja logistyczna
Przyjmuje wartości z przedziału otwartego (0; 1), gdzie parametr β decyduje o kształcie funkcji w pobliżu zera.
f ( p )=1
1+exp(−β⋅p )
0,0
0,2
0,4
0,6
0,8
1,0
-2,0 -1,0 0,0 1,0 2,0
2
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
20
Funkcja tangens hiperboliczny
Przyjmuje wartości z przedziału [-1; 1]
f ( p )= tanh p=exp ( p)−exp (−p )
exp ( p)+exp(−p )
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
21
Inne funkcje aktywacji
W programie SAS Enterprise Miner używane są jeszcze inne funkcje aktywacji, m. in.
identyczność - f(p) = p,
wykładnicza - f(p) = exp(p) softmax - będąca uogólnieniem funkcji logistycznej, Gauss - f(p) = exp(-p2),
odwrotność (reciprocal) - f(p) = 1/p,
Elliot - f(p) = p/(1+|p|)
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
22
Domyślne funkcje aktywacji dla warstwy wyjściowej
W programie Enterprise Miner domyślne funkcje aktywacji dla warstwy wyjściowej zależą od skali pomiaru zmiennej objaśnianej (target).
Skala pomiaru Funkcja aktywacji
Interval identyczność
Ordinal logistyczna
Nominal softmax
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
23
Uczenie sieci neuronowej
uczenie sieci polega na modyfikacji wartości wag wszystkich połączeń między neuronami w ten sposób, że sieć przyjmuje pożądane wartości wyjściowe dla określonych danych wejściowych,
o działaniu sieci decyduje struktura połączeń neuronów i wartości wag tych połączeń, proces uczenia polega na kolejnych modyfikacjach wag. Wynika z niego też
modyfikacja topologii sieci, ponieważ sieć z zerowymi wagami między dwoma neuronami oznacza brak połączenia, a neuron z wejściowymi i wyjściowymi wagami równymi zero oznacza neuron zbędny, który może być usunięty ze struktury sieci.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
24
Uczenie sieci neuronowej
Przebieg procesu uczenia sieci jest następujący:
najpierw nadaje się wszystkim wagom wartości początkowe (w sposób z góry ustalony lub losowy), ale tak aby nie faworyzować żadnego połączenia,
następnie sieć wykonuje postawione zadanie i na podstawie otrzymanego wyniku wartości wag są zmieniane.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
25
Uczenie sieci neuronowej
W zależności od rodzaju informacji o ocenie zadania wykonanego przez sieć wyróżniamy:
uczenie pod nadzorem (z nauczycielem), gdzie dostarczana jest informacja o poprawnych odpowiedziach,
uczenie ze wzmocnieniem gdzie nie podaje się poprawnej odpowiedzi, lecz jedynie ocenę wyniku, np. "dobrze" lub "źle„; ten tryb uczenia naśladuje ludzki proces uczenia się,
uczenie bez nadzoru (bez nauczyciela), w którym nauczyciel nie bierze udziału w nauczaniu, a sieć sama wykrywa wzajemne zależności w danych wejściowych.
Skuteczność uczenia zależy od wyboru wzorców ze względu na ich reprezentatywność.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
26
Uczenie nadzorowane
sieć neuronowa analizuje ciąg dostarczanych na wejściu przykładów (zwanych faktami) i jednocześnie otrzymuje informację, jaki jest poprawny wynik dla każdego przykładu,
sieć stara się odgadnąć powiązania między danymi wejściowymia znanym wynikiem,
na podstawie odstępstw wyników sieci od znanych wartości na wyjściu dokonywana jest korekta wag w ten sposób, aby zredukować różnice do możliwie małych wartości.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
27
Modyfikacja wag
,
w t+1=w t
+Δw t
, w t+1 - nowa waga (w t+1 iteracji)
w t - dotychczasowa waga (w t-tej iteracji)
Δw t - wartość, o jaką należy zmienić wagę w danej chwili uczenia
Modyfikacja wag połączeń jest przeprowadzana iteracyjnie zgodnie z zależnością:
Zmienianie wartości wag jest zatrzymywane, jeżeli działanie sieci uznamy za właściwe lub przekroczona zostanie z góry założona maksymalna liczba iteracji.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
28
Reguła delta
, , Δw=η⋅δ⋅p
Jeżeli oznaczymy symbolem y - wartość wymaganej odpowiedzi neuronu, a symbolem y^ - wartość sygnału wyjściowego neuronu, to możemy obliczyć błąd odpowiedzi:
δ ¿= y− y
Na podstawie obliczonego błędu jest wyznaczana wartość, o jaką należy zmienić wagę:
δ=δ¿⋅f '
( p )
f ' jest pochodną funkcji aktywacji.
gdzie η jest współczynnikiem uczenia,
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
29
Współczynnik uczenia η
Określa szybkość, z jaką następuje modyfikowanie wartości wag.
jeżeli wartość współczynnika uczenia jest zbyt duża, to zmiany wag będą zwiększać błąd w następnych iteracjach i uczenie nie będzie możliwe (sieć będzie zbyt intensywnie reagować na kolejne bodźce wejściowe),
jeżeli wartość będzie zbyt mała, to uczenie będzie przebiegać powoli,
współczynnik uczenia jest wspólny dla wszystkich wag,
w trakcie procesu uczenia wartości współczynnika są zmieniane.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
30
Algorytm propagacji wstecznej
Celem algorytmu jest zmniejszenie błędu odpowiedzi sieci nie tylko dla jednego wzorca, ale dla wszystkich wzorców wejściowych. Q=
12∑i=1
n
( y i− y i )2
Oblicza się błąd Q, zwany błędem średniokwadratowym (SSE - Sum Squared Error)
yi
y i wartości oczekiwane na wyjściu neuronu
wartości wyznaczone z sieci
n liczba wzorców
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
31
Algorytm propagacji wstecznej
Propagacja wsteczna polega na obliczaniu gradientu błędu dla neuronów wcześniejszych warstw. Najpierw koryguje się wagi prowadzące do warstwy wyjściowej, potem wagi prowadzące do warstwy poprzedzającej ją, aż osiągniemy pierwszą warstwę. Pozwala to na wyznaczenie wartości wszystkich wag połączeń.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
32
Algorytm propagacji wstecznej
Możliwe są dwie wersje algorytmu: wczytaj cały zbiór danych, modyfikuj wagi,
wczytaj cały zbiór danych, modyfikuj wagi itd., wczytaj jedną obserwację, modyfikuj wagi, wczytaj
jedną obserwację, modyfikuj wagi itd.. Pierwsza z tych metod jest mniej zalecana, gdyż jest
powolna i nieefektywna.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
33
Trening sieci
przygotowanie wzorców wejściowych i wyjściowych,
nadanie wartości początkowych wagom połączeń,
nadanie wartości początkowych innym parametrom uczenia (np. współczynnikowi uczenia),
prezentacja wzorców i modyfikację wag,
sprawdzenie kryterium zakończenia procesu uczenia.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
34
Testowanie sieci
Program umożliwia testowanie sieci podczas treningu. Testowanie odbywa się w oparciu o zbiór faktów testowych wyodrębnionych spośród zbioru wszystkich faktów, zapisanych w zbiorze danych.
Następuje wtedy podział zbioru faktów (w proporcjach zadanych przez użytkownika):
na fakty treningowe,
fakty testowe.
Fakty testowe nie biorą udziału w treningu sieci.
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
35
Pułapki
Liczba faktów powinna być przynajmniej kilka razy większa od liczby szacowanych wag
Sieć o zbyt złożonej strukturze prowadzi do powstania modeli, które bardzo dobrze działają na danych uczących, ale nie sprawdzają się dla innych danych (sieć nie potrafi uogólniać zdobytej wiedzy). Zjawisko to nazywa się przetrenowaniem sieci
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych
36
Wnioski
sieć neuronowa nie wyjaśnia, jaka jest zależność funkcyjną między zmiennymi objaśniającymi (wejściowymi) a zmienną wynikową.
pozwala jednak dokonywać predykcji albo zidentyfikować przynależność obiektu do danej klasy.
nie jest wymagane spełnienie założeń o naturze rozkładu zmiennych, jak to jest w przypadku stosowania modeli ekonometrycznych, np. metod regresji liniowej lub logistycznej.
Dziękuję za uwagę !
Recommended