ściąga (2)

Sieć jednowarstwowa jednokierunkowa

Sygnały na wyjściu pojedynczej warstwy można wyznaczyć zgodnie z zależnością:


Y = f(WTX+θ)

Gdzie:

Y – wektor kolumnowy wartości wyjść Y = (y1,  y2,  …, yk)T, k – liczba wyjść warstwy

X – wektor kolumnowy wejść, X=(x,  x,  …, xn)T, n – liczba wejść

Θ – wektor kolumnowy przesunięć funkcji aktywacji (tzw. Bias), k-elementów

f – funkcja aktywacji, W – macierz wag o strukturze W = [W1, W2, …, Wk], k – liczba neuronów w warstwie; Wi – wektor kolumnowy wartości wag i-tego neuronu. Wi – (wi1, wi2, …, wij, … win)T, n – liczba wag neuronu.

Algorytm uczenia.

Ciąg uczący: U=(<X1, Z1>, <X2, Z2, …<XL, ZL>); <X, Z> - para ucząca; X-wektor wejściowy, Z – wektor wartości oczekiwanych na wyjściu.

Uczenie polega na zmianie wartości wag macierzy W.

Algorytm dla sieci z liniową funkcja aktywacji (algorytm delta).

$\delta = \sum_{j}^{}\delta_{j}$ - sumaryczny błąd na wyjściach, gdzie $\delta_{j} = \frac{\left( z_{j} - y_{j} \right)^{2}}{2}$

Problem uczenia można określić jako problem minimalizacji błędu, do którego można wykorzystać gradientową metodę największego spadku. Zgodnie z tą metodą w każdym kolejnym kroku iteracji wartości wag zmienia się o pewną wartość:

wijnowe = wijstare + wij, gdzie: $w_{\text{ij}} = - \eta\frac{\text{σδ}}{\sigma w_{\text{ij}}}$

Zmodyfikowana wartość wagi: wijnowe = wijstare + η(zj − yj)xi

Dla nieliniowych funkcji aktywacji, wymagane jest by były różniczkowalne:

$w_{\text{ij}}^{\text{nowe}} = w_{\text{ij}}^{\text{stare}} + \eta(z_{j} - y_{j}){\frac{\sigma y_{j}}{\sigma\text{net}_{j}}x}_{i}$, net – sumaryczne pobudzenie neuronu.

Uczenie perceptronu wielowarstwowego:

Algorytm zmiany wartości wag jest analogiczny jak dla perceptronu prostego.

Algorytm wstecznej propagacji błędów:

  1. Na wejście wprowadzić pierwszy wektor wejściowy X

  2. Wyznaczyć wartość wektora wyjściowego sieci

  3. Dla każdego neuronu warstwy wyjściowej wyznaczyć błąd: δMj = zj − yj

  4. Wyznaczyć wartość poprawki dla każdej z wag warstwy M-tej (wyjściowej): wijnowe = wijstare +  ηδMj(1 − yj)xiyj

  5. Wyznaczyć wartość błędów dla neuronów warstwy M-1, korzystając z zależności:

$\delta_{M - 1\ k} = \sum_{j}^{}{w_{\text{ij}}\delta_{\text{Mj}}}$

  1. Wyznaczyć wartość poprawki dla każdej z wag warstwy M-1:


wijnowe = wijstare +  ηδM − 1 j(1 − yj)xiyj

  1. Przejść do warstwy M-2 i powtarzać czynności 5 i 6 do momentu wprowadzenia modyfikacji dla wszystkich wag sieci.

  2. Z ciągu uczącego pobrać kolejny wektor X i przejść do czynności 2.

Czynności 1-8 wykonać dla całego ciągu uczącego. Warunkiem zakończenia jest 100% poprawności rozpoznawania.


Wyszukiwarka

Podobne podstrony:
1 sciaga ppt
metro sciaga id 296943 Nieznany
ŚCIĄGA HYDROLOGIA
AM2(sciaga) kolos1 id 58845 Nieznany
Narodziny nowożytnego świata ściąga
finanse sciaga
Jak ściągać na maturze
Ściaga Jackowski
Aparatura sciaga mini
OKB SCIAGA id 334551 Nieznany
Przedstaw dylematy moralne władcy i władzy w literaturze wybranych epok Sciaga pl
fizyczna sciąga(1)
Finanse mala sciaga
Podział węży tłocznych ze względu na średnicę ściąga
OLIMPIADA BHP ŚCIĄGAWKA
Opracowanie Sciaga MC OMEN
Finanse Sciaga3 (str 7) id 171404
ściąga 2

więcej podobnych podstron