zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf ·...

26
Zadania eksploracji danych: przewidywanie Przewidywanie jest podobne do klasyfikacji i szacowania, z wyjątkiem faktu, że w przewidywaniu wynik dotyczy przyszłości. I EKSPLORACJA DANYCH Typowe zadania przewidywania to: przewidywanie ceny akcji na giełdzie przewidywanie rozwoju sektora gospodarki przewidywanie własności nowego tworzywa

Upload: others

Post on 12-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

Zadania eksploracji danych: przewidywanie

Przewidywanie jest podobne do klasyfikacji i szacowania, z wyjątkiem faktu, że w przewidywaniu wynik dotyczy przyszłości.

I EKSPLORACJA DANYCH

Typowe zadania przewidywania to:

• przewidywanie ceny akcji na giełdzie

• przewidywanie rozwoju sektora gospodarki

• przewidywanie własności nowego tworzywa

Page 2: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

Zadania eksploracji danych: przewidywanie

Wszystkie metody i techniki wykorzystywane do klasyfikacji i szacowania mogą być również użyte, pod odpowiednimi warunkami, do przewidywania.

I EKSPLORACJA DANYCH

Metody wykorzystywane do przewidywania obejmują:• tradycyjne metody szacowania wartości punktu

i przedziału ufności

• metody eksploracji danych, takie jak sieci neuronowe, drzewa decyzyjne i inne

• regresję liniową i korelację oraz regresjęwielokrotną

Page 3: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

VI EKSPLORACJA DANYCH

Zadania eksploracji danych: klasyfikacja

Algorytm klasyfikacji: algorytm k - najbliższych sąsiadów

• wybieramy nowy obiekt o wejściowym wektorze Y

• analizujemy k najbliższych punktowi Y punktów ze zbioru danych treningowych (uczących)

• przydzielamy ten obiekt do klasy, w której jest większośćspośród tych k punktów

Page 4: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

VI EKSPLORACJA DANYCH

Zadania eksploracji danych: klasyfikacja

Algorytm klasyfikacji: algorytm k - najbliższych sąsiadów

Algorytm k – najbliższych sąsiadów może być również stosowany do szacowania i przewidywania.

Uśrednianie lokalnie ważone – metoda szacuje zmienną celu jako średnią ważoną dla k najbliższych sąsiadów wg. wzoru:

Σi wiyi

Σi wi

ynowy =gdzie wi = 1/ odległość2

Page 5: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Sztuczna sieć neuronowa jest to złożona zależność matematyczna, której struktura naśladuje strukturę i przetwarzanie sygnałów, jakie mają miejsce w korze mózgowej ssaków, w tym ludzi

Neuron (węzeł sieci)

Synapsa (połączenie węzłów, także wejście i wyjście sieci)

Synapsy zawierają (przekazują) wartości zmiennych – sygnały oraz stałe modelu - wagi synaps.

Neurony wykonują operacje (działania) matematyczne na tych wielkościach.

Sztuczne sieci neuronowe: informacje ogólne

Page 6: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Zdolność do uczenia się i uogólniania nabytej wiedzy. Sztuczne sieci neuronowe pozwalają na znalezienie prawidłowości w warunkach dużej liczby zmiennych o różnym charakterze. Prawidłowości takie są często niewykrywalne przez zmysły naukowców i inne metody matematyczne.

Sieć jest odporna na błędy w danych (zaszumienia) oraz błędy pojawiające się w niektórych wagach, czyli błędnie wyznaczonych niektórych stałych modelu.

Szybkie przetwarzanie informacji, często możliwe w czasie rzeczywistym.

Sztuczne sieci neuronowe: informacje ogólne

Page 7: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Sieci neuronowe należą do systemów uczących się. Wartości stałych (wag sieci) wyznaczane są na podstawie wyników doświadczeń (przykładów uczących) drogą kolejnych poprawek (korekt) tak, aby wyjścia (odpowiedzi sieci) zbliżały się do wartości rzeczywistych. Jest to tzw. uczenie nadzorowane (inaczej z nauczycielem), spotykane najczęściej.

Przykład zależności opisywanej przez sieć:Y1 = f1 (X1, X2, X3, ...)

Y2 = f2 (X1, X2, X3, ...)

Współczynniki tych równań W (wagi synaps) są znajdowane (korygowane) w procesie uczenia na podstawie różnic pomiędzy wartościami przewidywanymi przez sieć Y, a uczącymi Z (znanymi, zaobserwowanymi):

W’ = F {W, (Y – Z)}

X – sygnały wejściowe (zmienne niezależne), Y – sygnały wyjściowe (zmienne zależne)

Sztuczne sieci neuronowe: informacje ogólne

Page 8: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Regresja inaczej aproksymacja nieznanej funkcji wielu zmiennych (najczęściej), na podstawie znanych obserwacji doświadczalnych

Predykcja, czyli przewidywanie przyszłych zachowań się systemu na podstawie ciągu wartości z przeszłości z ciągłą adaptacją wag sieci (rzadziej)

Wykrywanie wzorców, umożliwiające grupowanie sygnałów wykazujących podobne cechy (sieci typu Kohonena, stosowane rzadko). Jest to uczenie nienadzorowane, nie wymagające zbioru uczącego typu: wejście – zaobserwowane wyjście

Sieci neuronowe mogą realizować kilka rodzajów zadań. W modelowaniu procesów technologicznych (produkcyjnych), w tym metalurgicznych i odlewniczych wykorzystywane są:

Sztuczne sieci neuronowe: informacje ogólne

Page 9: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Sieć jednokierunkowa wielowarstwowa, zwana siecią MLP (od skrótu angielskiego), najczęściej wykorzystywana w realizacji zadań związanych z modelowaniem procesów

technologicznych.Sieć rekurencyjna, charakteryzująca się występowaniem

sprzężeń zwrotnych między elementami wejściowymi a wyjściowymi.

Sieci neuronowe mogą posiadać różne architektury, czyli typy struktury oraz ich konkretne realizacje w ramach danego typu. Do najważniejszych należą:

Sztuczne sieci neuronowe: informacje ogólne

Page 10: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Sztuczne sieci neuronowe: sieć typu MLPSieć jednokierunkowa czterowarstwowa

realizująca aproksymację funkcji typu:Y1 = f1 (X1, X2, X3, ..., X10) Y2 = f2 (X1, X2, X3, ..., X10)

Kolorem zielonym oznaczono warstwy ukryte sieci (w tym przypadku występują dwie)

Kolorem niebieskim oznaczono warstwę wyjściową

Kolor czerwony oznacza warstwę wejściową, w której

neurony nie wykonują żadnych operacji matematycznych

Page 11: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Sztuczne sieci neuronowe: informacje ogólne

x1 , w1

x2 , w2

xn , wn

y, (w)

Neuron liniowy:

Neuron nieliniowy:

0

n

1iii wwxy +⋅= ∑

=

⎟⎠⎞⎜

⎝⎛ +⋅= ∑

=0

n

1iii wwxfy

f oznacza tzw. funkcję aktywacji, najczęściej mającą kształt sigmoidalny, np. dany wzorem:

( ) ( )[ ] 1sexp1sf −⋅−+= α0

0,5

1

-6 -4 -2 0 2 4 6

Page 12: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Uczenie sieci polega na rozwiązaniu zagadnienia optymalizacyjnego funkcji wielu zmiennych (równej liczbie wszystkich wag synaps plus wyrazów wolnych występujących w całej sieci).

Dążymy do znalezienia takich wartości wag, aby wartość błędu średniokwadratowego E wszystkich odpowiedzi sieci, w stosunku do obserwacji doświadczalnych, była najmniejsza.

( )∑ ∑= =

⎟⎠⎞

⎜⎝⎛ −⋅⋅=

p

1k

m

1j

2kjkj Yd

m1

p1E

m - liczba wyjść sieci, p – liczba prezentacji, czyli rekordów obserwacji doświadczalnych d – wartości doświadczalneY – wartości otrzymywane z sieci

Uczenie sieci neuronowych: istota problemu

Page 13: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Zbiór uczący, podstawowy, wykorzystywany do korygowania wag sieciZbiór weryfikujący (na ogół mniejszy) służący do bieżącego obliczania

błędu dla innych danych w celu sprawdzenia zdolności sieci do uogólnienia.

Korekty wag sieci przeprowadza się wielokrotnie, dla całego zbioru uczącego. Jeden cykl: obliczenie błędu – modyfikacja wag nazywamy epoką.

Koniec uczenia następuje najczęściej wówczas, gdy zaczyna rosnąć błąd dla danych weryfikujących. Ma to na celu niedopuszczenie do przeuczenia się sieci, czyli do nadmiernego dopasowania się do danych uczących bez zdolności do generalizacji przewidywań dla innych danych.

Uczenie sieci neuronowych: zasady i praktyka

Page 14: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Metody gradientowe (stosowane najczęściej)Losowo ustala się początkowy zbiór wartości wag, a następnie koryguje się ich wartości tak, aby błąd sieci stale ulegał zmniejszeniu. Prowadzi to często do znajdowania minimum lokalnego tego błędu.

Metody poszukujące minimum globalnego błędu(stosowane rzadko)Obejmują metodę symulowanego wyżarzania

Znanych jest wiele metod znajdowania minimum błędu sieci, które można podzielić na dwie grupy:

Sztuczne sieci neuronowe: metody uczenia

Page 15: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Wartości wag sieci

Błą

d si

eci

Wylosowany punk startowy

Osiągnięte najbliższe minimum błędu

Uczenie nadzorowane sieci: metoda gradientowa

Page 16: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Metoda propagacji wstecznej błędu

0

0,10,20,3

0,40,5

0,6

0,70,8

0,9

1

0 100 200 300Nr epoki

Błą

d0

0,10,20,3

0,40,5

0,6

0,70,8

0,9

1

Max

. gra

dien

t błę

du

Błąd średni Błąd minimalny

Błąd maksymalny Max. gradient błędu

Znanych jest wiele metod gradientowych, z których metodąklasyczną i najczęściej stosowaną jest metoda propagacji wstecznej błędu.

Rysunek przedstawia przykładowy przebieg korekt błędu sieci w kolejnych iteracjach. Dla tych samych danych wylosowanie innego punktu startowego może dać zupełnie inny kształt krzywych.

Uczenie nadzorowane sieci: metoda gradientowa

Page 17: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Wartości wag sieci

Błą

d si

eci

Najlepszy wynik z pierwszych losowań (środek przedziału następnego losowania)

Najlepszy wynik z następnych losowań

Losowania w pierwszym (szerszym) zakresie (wyższa temperatura)

Losowania w następnym (węższym) zakresie (niższa temperatura)

Uczenie nadzorowane sieci: metoda symulowanegowyżarzania

Page 18: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Rysunek przedstawia przykładowy przebieg korekt błędu sieci w kolejnych losowaniach wartości wag, dla trzech kolejno zawężanych zakresów (temperatur).

Metoda symulowanego wyżarzania może być stosowana jako samoistna, albo jako wstępna, dla ustalenia najlepszego punktu startowego do metody gradientowej.

Metoda symulowanego wyżarzania

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

0 200 400

Nr iteracji wstrząsania wag

Błąd

śre

dnio

kwad

rato

wy

0

1

2

3

4

5

6

Tem

pera

tura

Błąd Temperatura

Nr epoki (losowania wag)

Uczenie nadzorowane sieci: metoda symulowanegowyżarzania

Page 19: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Należy wytypować zmienne wejściowe i wyjściowe modelu, kierując się następującymi zasadami:Wytypowanie zmiennych wejściowych (niezależnych) należy

poprzedzić analizą istotności ich znaczenia dla zmiennych wyjściowych (zależnych), z wykorzystaniem np. metod statystycznych z grupy analizy wariancji. Należy odrzucić te najmniej znaczące, co ułatwi uczenie sieci i analizę wyników.

Ustalając liczbę wyjść (równą liczbie wielkości wynikowych modelu) należy zawsze rozważyć konstruowanie kilku sieci z pojedynczymi wyjściami, co daje zmniejszenie liczby poszukiwanych wag.

Dla uzyskania wiarygodnych rezultatów liczebność zbioru uczącegopowinna istotnie przewyższać liczbę poszukiwanych wag.

Sztuczne sieci neuronowe: wstępna analiza danych

Page 20: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Liczba warstw ukrytych najczęściej wynosi 1, rzadziej 2, bardzo rzadko 3.

Liczba neuronów w warstwie wyjściowej (równa liczbie wielkości wynikowych modelu) może być dowolna.

Większe liczby neuronów w warstwach ukrytych, związane z większą liczbą poszukiwanych wag, dają dokładniejsze, bardziej elastyczne przewidywania modelu. Wymagają jednak większych zbiorów uczących lub mogą prowadzić do przeuczenia sieci (nadmiernego dopasowania do danych) oraz powodująwydłużenie czasu obliczeń.

Sztuczne sieci neuronowe: zasady budowania MLP

Dobrą praktyką jest wstępne ustalenie liczby neuronów w poszczególnych warstwach wg zasady postępu geometrycznego pomiędzy liczbą wejść a wyjść sieci.

Page 21: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Różne architektury sieci i poszczególne uczenia tych samych sieci mogą prowadzić do różnych wyników. Należy zatem:– przeprowadzić próby z różnymi wariantami sieci

(liczbami warstw ukrytych – poczynając od jednej– spróbować stosować różne liczby neuronów w tych

warstwach– dla każdej konfiguracji wykonać po kilka lub kilkanaście

uczeń.

Sztuczne sieci neuronowe: proces uczenia

W procesie uczenia wykorzystuje się programy komputerowe,których wiele jest dostępnych na zasadzie shareware.

Page 22: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Jakość nauczonej sieci można ocenić wyliczając błąd średniokwadratowy dla zbioru testowego, nie wykorzystywanego w procesie uczenia, tj. niezależnego od zbioru uczącego i weryfikującego (służącego do ustalenia zakończenia procesu uczenia).

Jeżeli stosowano różne architektury sieci i/lub wielokrotne uczenie, to w przypadku rozwiązywania zadań typu regresji:stosuje się uśrednianie przewidywanych przez sieci rezultatów,

albo korzysta się z sieci o najmniejszym błędzie przewidywania.

Sztuczne sieci neuronowe: wykorzystanie i analiza

Page 23: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Najprostszym sposobem wykorzystania nauczonej sieci jest jej odpytywanie, tj. obliczanie wartości wyjść (odpowiedzi) dla zadanych wejść.

Ważnym rezultatem nauczonej sieci mogą być także wartości tzw. współczynników istotności wielkości wejściowych, pozwalające na wykrycie znaczenia poszczególnych parametrów dla modelowanego procesu.

Są różne sposoby obliczania współczynników istotności.

Sztuczne sieci neuronowe: wykorzystanie i analiza

Page 24: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Przewidywanie własności wyrobów na podstawie parametrów procesu technologicznego

Zastąpienie symulacji numerycznej procesów fizycznych uogólnionymi przez sieć neuronową wynikami 'eksperymentów numerycznych'

Opis własności materiałów (równania empiryczne)Projektowanie oparte na doświadczeniach zebranych w

przemyśle, uogólnionych przez sieć neuronowąPrzewidywanie awarii urządzeń na podstawie sygnałów typu

obciążenie siłowe, temperatura itp. Stosowanie sieci jako sterowników w automatyce

Sztuczne sieci neuronowe: ogólne zastosowaniaprzemysłowe

Page 25: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCH

Przewidywanie różnego typu awarii, zwłaszcza przy odlewaniu ciągłym

Sterowanie procesami wytopu w żeliwiaku i piecu łukowymGospodarka energetyczna w odlewni Projektowanie odlewów i układów zasilających dla odlewów Projektowanie odpowietrzeń w rdzennicach Sterowanie procesem przerobu masy formierskiej Przewidywanie własności odlewanych stopówDobór parametrów odlewania ciśnieniowego

Sztuczne sieci neuronowe: zastosowanie w odlewnictwie

Page 26: Zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf · Zadania eksploracji danych: przewidywanie Wszystkie metody i techniki wykorzystywane

XIII EKSPLORACJA DANYCHPorównanie własności i sposobu działania sztucznej sieci neuronowej i komputera von Neumanna

Sieć neuronowa Komputer von Neumannatrenowana (uczona prezentowanymi przykładami) przez zmiany wartości wag synaps, progów i ilości połączeń między neuronami

programowany, działa według napisanych instrukcji wykorzystujących operacje "jeśli - to"

elementy pamięci i obliczeniowe są tymi samymi elementami

elementy pamięci i jednostka obliczeniowa sąrozdzielone

obliczenia prowadzone są równolegle (zarówno dla sygnałów ciągłych jak i dyskretnych) i asynchronicznie

obliczenia prowadzone są synchronicznie (taktowane zegarem), seriami lub w sekwencjach, w postaci cyfrowej

odporna na pojawiające się uszkodzenia (lub fałszywe dane) ze względu na dużą liczbę poprawnych sygnałów podawanych w czasie uczenia

nie toleruje błędów

samoorganizująca się w trakcie uczenia zależny od oprogramowania

informacje przechowywane są w synapsach, a sieć ma zdolność do zmian (korekty) pod wpływem nowych danych

informacje przechowywane są w określonych miejscach (adresowanych komórkach pamięci) i można je tylko zastąpić nowymi danymi

przetwarzanie jest anarchiczne przetwarzanie jest autokratyczne

czas jednego cyklu, od którego zależy prędkości przetwarzania, jest rzędu 10-3

czas jednego cyklu, odpowiadający jednemu krokowi w programie przetworzonemu przez jednostkęcentralną, jest rzędu 10-9