Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Sztuczne sieci neuronowe

Metody Sztucznej Inteligencji II

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Inteligentne systemy informacyjne

Sieci neuronowe w Statistica

8. Neuron z ciągłą funkcją aktywacji.

I EKSPLORACJA DANYCH

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Projekt Sieci neuronowe

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Uczenie sieci typu MLP

Podstawy sztucznej inteligencji

Wstęp do sztucznych sieci neuronowych

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

METODY INŻYNIERII WIEDZY

Zastosowania sieci neuronowych

wiedzy Sieci neuronowe

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Inteligentne systemy przeciw atakom sieciowym

Widzenie komputerowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sztuczne sieci neuronowe

Temat: Sieci neuronowe oraz technologia CUDA

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Uczenie sieci neuronowych i bayesowskich

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

MODELOWANIE RZECZYWISTOŚCI

Sztuczne sieci neuronowe (SNN)

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

Elementy inteligencji obliczeniowej

Wykład 1: Wprowadzenie do sieci neuronowych

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Sztuczna inteligencja

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Optymalizacja optymalizacji

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Sztuczne sieci neuronowe. Uczenie, zastosowania

OBLICZENIA ZA POMOCĄ PROTEIN

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Systemy uczące się wykład 2

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Zastosowania sieci neuronowych

Katedra Zarządzania i Informatyki Politechnika Śląska

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sieć przesyłająca żetony CP (counter propagation)

wiedzy Sieci neuronowe (c.d.)

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

SIECI REKURENCYJNE SIECI HOPFIELDA

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Seminarium magisterskie. Dyskusja nad tematem pracy magisterskiej pisanej pod kierunkiem pani Dr hab. Małgorzaty Doman

Zastosowanie metod eksploracji danych (data mining) do sterowania i diagnostyki procesów w przemyśle spożywczym

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Modelowanie glikemii w procesie insulinoterapii

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

MOŻLIWOŚCI ZASTOSOWANIA METOD DATA MINING DO ANALIZY ILOŚCI ŚCIEKÓW DOPŁYWAJĄCYCH DO OCZYSZCZALNI

Wprowadzenie do analizy korelacji i regresji

Liczba godzin Punkty ECTS Sposób zaliczenia

Emergentne właściwości. sztucznych sieci neuronowych

SZTUCZNE SIECI NEURONOWE

Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed

1. Logika, funkcje logiczne, preceptron.

Sztuczne sieci neuronowe

Dopasowywanie modelu do danych

Obliczenia Naturalne - Sztuczne sieci neuronowe

Jakość uczenia i generalizacja

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Optymalizacja ciągła

Sieci neuronowe - dokumentacja projektu

Elementy kognitywistyki III: Modele i architektury poznawcze

Rozpoznawanie obrazów

Uczenie sieci radialnych (RBF)

Aproksymacja funkcji a regresja symboliczna

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Transkrypt:

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner rok akademicki 2013/2014

Sieci neuronowe

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. 3

Sieci neuronowe Pojemność ludzkiego mózgu szacuje się na 10 11 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 10 15 połączeń między neuronami. 4

Rodzaje neuronów 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. 5

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. 6

Neurony a uczenie się 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. 7

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ą zmieniane w zależności od otrzymywanej informacji. To zapewnia zdolność kojarzenia faktów czyli uczenia sieci. 8

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. 9

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. 10

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] 11

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] 12

Opis zależności między zmiennymi Wartości zmiennych objaśniających X 1 X 2 Sieć neuronowa Y Wartości zmiennej objaśnianej X 3 Po wprowadzeniu na wejściu wartości zmiennych objaśniających sieć powinna przewidywać wartość zmiennej objaśnianej 13

Jednokierunkowa sieć wielowarstwowa MLP MultiLayer Perception) 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. Warstwa wejściowa Warstwa ukryta Warstwa wyjściowa 14

Sztuczna sieć neuronowa Połączeniom między neuronami są przypisane wagi połączeń. waga Początkowe wartości wag mogą być ustalone lub wybrane losowo. Warstwa wejściowa Warstwa ukryta Warstwa wyjściowa 15

W jaki sposób neuron przetwarza informację przychodzącą do niego? Pobudzenie neuronu p jest liniową funkcją sygnałów wejściowych z wagami połączeń jako współczynnikami (funkcja kombinacji). n p=w 1 x 1 +w 2 x 2 +...+w n x = n i=1 w i x i Sygnał wyjściowy y jest zależny od całkowitego pobudzenia neuronu, transformowanego przez funkcję aktywacji f. Pozwala to wprowadzić nieliniowość. n y=f ( p)=f ( i=1 w i x i) 16

Funkcja aktywacji progowa Funkcja przekazuje sygnał (f =1), gdy progowa wartość p jest większa od zera. 1,2 1 0,8 0,6 0,4 0,2 0-2,0-1,0 0,0 1,0 2,0 17

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. 1,2 1 0,8 0,6 0,4 0,2 0-2,0-1,0 0,0 1,0 2,0 18

Funkcja logistyczna 1 f ( p )= 1+exp( β p ) Przyjmuje wartości z przedziału otwartego (0; 1), gdzie parametr β decyduje o kształcie funkcji w pobliżu zera. 1,0 0,8 0,6 0,4 0,2 0,0-2,0-1,0 0,0 1,0 2,0 2 19

Funkcja tangens hiperboliczny f ( p )=tanh p= exp ( p) exp( p ) exp ( p)+exp( p ) Przyjmuje wartości z przedziału [-1; 1] 20

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(-p 2 ), odwrotność (reciprocal) - f(p) = 1/p, Elliot - f(p) = p/(1+ p ) 21

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 Interval Ordinal Nominal Funkcja aktywacji identyczność logistyczna softmax 22

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. 23

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. 24

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ść. 25

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ściowymi a 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. 26

Modyfikacja wag Modyfikacja wag połączeń jest przeprowadzana iteracyjnie zgodnie z zależnością: w t+1 =w t +Δw t, Zmienianie wartości wag jest w t+1 - nowa waga (w t+1 iteracji) zatrzymywane, jeżeli działanie sieci uznamy za właściwe lub przekroczona zostanie z góry w t założona maksymalna liczba iteracji. Δw t - dotychczasowa waga (w t-tej iteracji) - wartość, o jaką należy zmienić wagę w danej chwili uczenia 27

Reguła delta 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 Δw=η δ p jest wyznaczana wartość, o jaką należy zmienić wagę: gdzie η jest współczynnikiem uczenia, δ=δ f ' ( p ) f ' jest pochodną funkcji aktywacji. 28

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. 29

Algorytm propagacji wstecznej Celem algorytmu jest zmniejszenie błędu odpowiedzi sieci nie tylko dla jednego wzorca, ale dla wszystkich wzorców wejściowych. Q= 1 n 2 i=1 ( y i ^y i ) 2 Oblicza się błąd Q, zwany błędem średniokwadratowym (SSE - Sum Squared Error) y i ^y i n wartości oczekiwane na wyjściu neuronu wartości wyznaczone z sieci liczba wzorców 30

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ń. 31

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. 32

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. 33

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. 34

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 35

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. 36

Dziękuję za uwagę!