NADZĘDZIE SZTUCZNEJ INTELIGENCJI Lekcja 4: Uczenie sieci neuronowych
CEL: Znaleźć układ wag, aby zminimalizować funkcję błędu
I. Uczenie perceptronu
1. Reguła perceptronowa (dla dyskretnych neuronów)
Wnew = WM+rj(d-y)X
b„ew =boUi+ r] (d-y)
gdzie: Wnew: nowy wektor wag x\
W0id : wektor wag w poprzednim kroku uczenia
bmw : nowa wartość odchylenia Xl
b0id : wartość odchylenia w poprzednim kroku uczenia
ti : współczynnik uczenia (wsp. korekcji)
d : żądana odpowiedź
y : otrzymana odpowiedź
X : wektor wejściowy *n
2. Reguła DELTA (dla ciągłych neuronów )
Wnew = WoUi+ T] (d-y) f (net)X bnew =bM+Tj (d-y) f (net)
Pochodne niektórych funkcji aktywacji
a) Funkcja liniowa J(x) =x —>/’(x) = 1
b) Funkcja sigmoidalna unipolarna
/w -1—-z# -* m - M-t) [i -x*)i
l + e
c) Funkcja sigmoidalna bipolarna
d) Funkcja tangens hiperboliczny
e+e
3. Algorytm uczenia
Wejście: Ciąg treningowy {(Xh d\), (X2, d2),(Xp, dp)} Wyjście: Wektor wag W, wartość odchylenia b
Krok 1: Wylosuj początkowy wektor wag W i początkowe odchylenie b Krok 2: Dla każdego wektora uczącego X
2.1 Wyznaczy: y=J[WX+ b)
2.2 Uaktualizuj wagi
Wnew = Wold +T].(d- y)X (gdy neuron jest dyskretny)
bneyy =boUJ+ TJ (d - y)
Wnew = WM + T].(d - y).f(net) X (gdy neuron jest ciągły) bnew = b0id + tj (d- y).f{net)
Krok 3: Jeśli wagi pozostały bez zmian lub E<Emm to stop, wpp. powrót do Krok 2