zadania eksploracji danych: przewidywaniezo.wip.pw.edu.pl/.../eksploracja_danych_wykl-13.pdf ·...
TRANSCRIPT
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
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ą
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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