Sztuczne sieci neuronowe
- aplikacje w analizie danych eksperymentalnych
Robert Sulej
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
• typy sieci
- MLP, data clustering, SOM• struktura sieci feed-forward MLP
- neurony, warstwy, funkcje• uczenie sieci „z nauczycielem”
- algorytmy optymalizacji wag• zastosowania sieci MLP
- klasyfikacja, aproksymacja- wymiarowość / statystyka danych uczących / rozmiary sieci - problem wariancji / obciążenia odpowiedzi sieci
- błędy systematyczne - inne ograniczenia
• uczenie bez nauczyciela: sieci SOM (self-organising maps)
Plan prezentacji
Sieci uczone „z nauczycielem”
MLP – multi-layer perceptron
• historycznie bazuje na biologicznych inspiracjach; obecnie dobrze opisana matematycznie
…bez tajemnic, jednak pewne wyczucie możliwości jest konieczne;
• większość aplikacji korzysta z tego modelu;
• możliwe konfiguracje z i bez sprzężenia zwrotnego (recursive i feed-forward);
• dziesiątki algorytmów uczących i implementacji;
RBF – radial basis functions Cascade Correlation
…
Uczenie bez nadzoru
• algorytmy Winner Takes All, Winner Takes Most – klastrowanie danych;
• Self Organizing Maps – geometryczna rekonstrukcja;
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Typy sieci
. . .
wektor wejściowy*:
in = [in1, ..., inK]
in 1
Out ← odpowiedź sieci warstwy ukryte
neuron wyjściowy
sieć feed-forward MLP
neuron
...
x1
x2 x3 xM
fakt()
out w1
w2
w3 wM
w0 . . .
in K
Out = Net(in, W)
odpowiedź sieci – deterministyczna funkcja wektora wejściowego
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Struktura sieci
*opis przypadków przez stałą liczbę zmiennych
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Struktura sieci
x1
x2 out = fakt()
> 0
[w1, w2] w0/||w||
< 0
neuron – funkcje aktywacji
• w sieci z jedną warstwą ukrytą - jeden neuron ukryty wnosi:
- jedną hiperpłaszczyznę do podziału przestrzeni wejść sieci - jedną funkcję bazową do odpowiedź sieci
Uczenie sieci „z nauczycielem”
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Ni
i
i
Out
N 1
1e Tgt ,
E W In
pożądana odpowiedź sieci faktyczna odpowiedź sieci
algorytmy iteracyjne:
• gradientowe – wiele odmian: back-prop, gradienty sprzężone, L-M, …
• stochastyczne – alg. genetyczne, symulowane wyżarzanie
• bayesowskie
- minimalizacja f-cji błędu w przestrzeni wag sieci
w(5)
( w ) Uczenie sieci „z nauczycielem”
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
algorytmy iteracyjne:
• gradientowe
• stochastyczne
• bayesowskie
w(0)
w(1) w(2)
w(3)
w(4)
w1 w2
w3
[ p(w|In) ]
w1 w1 w1
p p p
Aplikacje sieci feed-forward MLP
Out = Net(x, W)
odpowiedź sieci - deterministyczna funkcja zmiennej wejściowej (lub wektora)
• aproksymacja funkcji:
lub Out = Net(x, W)
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
• estymacja parametru:
Out = Net(in = [x
1, …, x
n], W)
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Aplikacje sieci feed-forward MLP
• klasyfikacja:
Li
i k
i
k k
p G p
Out
1
1
sig 1
sig 1
sig
, , g
, , , g
, P
, Net
in
in W
in
rozkłady gęstości prawdopodobieństwa
prawdopodobieństwo a priori
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Aplikacje sieci feed-forward MLP
zadania klasyfikacji:
N
i
Out i
Tgt i
Out Tgt
xy Tgt Out
R N
1
1
zadania estymacji:
wsp. korelacji liniowej:
Tgt
Out
– zmienny próg selekcji
Miary oceny wyników
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
wzrost
Out tło
(odpowiedź docelowa 0.05)
sygnał
(odpowiedź docelowa 0.95)
TP FP TP
FN TP
TP
sprawność [%]
tra fno
ść [%
]
wzrost
• trafność selekcji: • sprawność selekcji:
zadania klasyfikacji:
N
i
Out i
Tgt i
Out Tgt
xy Tgt Out
R N
1
1
zadania estymacji:
wsp. korelacji liniowej:
Tgt
Out
TP - true positive, Nsig(Out > ) FN - false negative, Nsig(Out ≤ ) FP - false positive, Nbkg(Out > )
– zmienny próg selekcji
Miary oceny wyników
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Miary oceny wyników
sprawność [%]
traf ność
[%
] (zadania klasyfikacji)
zbiór uczący ↔ zbiór testowy
błąd systematyczny - oszacowanie
+ - maksimum sygnału wg klasyfikatora o - rzeczywiste maksimum sygnału
A: zmiana progu selekcji () nie wpływa na wartość centralną wyznaczanej wielkości +
A
mały błąd systematycznycecha 1
cecha 2
> 0,5
> 0,8
> 0,9
+ o
B
znaczny błąd systematycznycecha 1
cecha 2
> 0,5 > 0,8
> 0,9
B: wartość centralna zmienia się wraz ze zmianą progu selekcji o
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Miary oceny wyników
COMPASS – selekcja D0
Nauka bez Monte Carlo
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
zbiór uczący – dane rzeczywiste
tło (Out=0.05)
– wrong charge combination – tylko tło kombinatoryczne
„sygnał” (Out=0.95)
– good charge combination - zdarzenia tła + zdarzenia D0 zmienne wejściowe – kinematyka zdarzeń test – rozkład masy niezmienniczej
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Nadmierne dopasowanie do danych uczących
- jak osiągnąć:
• duży rozmiar wektorów wejściowych
• mała liczba wektorów uczących*
• duża liczba neuronów ukrytych
• długa nauka
* w zadaniu klasyfikacji – wystarczy w jednej z klas przypadków
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Nadmierne dopasowanie do danych uczących
te same rozkłady, różna statystyka
Rxy = 0,459 Rxy = 0,165 Rxy = 0,0009
odpow iedź si eci
zmienne wejściowe
Selekcja zmiennych
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Reprezentacja danych
• usunięcie nietypowych przypadków, normalizacja
• usunięcie symetrii
• wyrównanie rozkładów
• analiza składowych niezależnych
optymalizacja wag
• algorytm gradientów sprzężonych
• algorytm quick-prop
• dowolny inny algorytm
Inicjalizacja
(sieć o niewielkiej strukturze początkowej)
Inicjalizacja
(sieć o niewielkiej strukturze początkowej)
Rozbudowa struktury
(wstępny trening neuronów-kandydatów) akceptacja neuronu brak modyfikacji
Rozbudowa struktury
(wstępny trening neuronów-kandydatów) akceptacja neuronu brak modyfikacji
optymalizacja wag
Redukcja struktury Redukcja struktury
optymalizacja wag
stabilizacja?
Koniec Koniec
Redukcja struktury
• łączenie par neuronów:
• usuwanie neuronów o stałej odpowiedzi:
• usuwanie neuronów o nieistotnych wagach wejściowych:
* działanie sieci nie zostaje zaburzone *
AB B
A N i
B i A i
B A
AB t
o N o
2 2 1
2
2 2
2
1
r c
o
d N
N i j j
j out i
out
,1
1
1 w
w
Przebieg błędu sieci w funkcji iteracji trening neuronów- kandydatów
N T
Optymalizacja struktury
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Optymalizacja struktury
Redukcja struktury
AB B
A N i
B i A i
B A
AB t
o
N o
2 2
1
2
2 2
2
1
c
r
o
d N
N i j j
j out i
out
,1
1
1 w
w
• łączenie par neuronów:
• usuwanie neuronów o nieistotnych wagach wejściowych:
• usuwanie neuronów o stałej odpowiedzi:
∙ ∙
∙ ∙
∙
∙
∙ ∙
∙ ∙ ∙
° °
°
°
° °
°
x1 x2
l1 l2
∙ ∙
∙ ∙
∙
∙
∙ ∙
∙
∙ ∙
° °
°
°
°
°
°
x1
°
x2
l2
l1
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Optymalizacja struktury
przykładowe zadanie
13-8, dynamiczna struktura 17-7, statyczna struktura 20-10, statyczna struktura zbiór uczący
w(t) = x – wwinner(t)
w
n(t+1) = w
n(t) + (t) f
s(n – winner) w (t)
dla n ϵ < 1; N >:
x = X<rnd>
X = [x
1,…,x
M] - zbiór wektorów (np. współrzędne hitów)
W = [w1,…,wN] - wektory wag neuronów
dla m ϵ < 1; M >:
N > M
dla t ϵ < 1; max_iter >:
x
x
x
x
x x
x
x
x
współczynnik szybkości nauki
„funkcja sąsiedztwa”
Nauka „bez nauczyciela”: Self-Organizing Maps
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych
Self-Organizing Maps
– dane– – 1-wymiarowa sieć SOM
Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009
Dziękuję za uwagę
0L:
1M:
1E:
fPow4(out) = (tgt – out)4 fMSE(out) = (tgt – out)2
CC (sygnał) tło
Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych