35
Rozdział 3. Liniowe sieci neuronowe
albo prościej
„<>> = —_— v ||XO)||2
gdzie A jest pewną ustaloną stalą (zwykle 0,1 < A < 1). W praktyce jednak najczęściej rezygnuje się z tych subtelności i arbitralnie przyjmuje się pewną ustaloną wartość »/, niezależną od numeru kroku j. Pamiętać tylko trzeba, że wybór zbyt wielkiego kroku A w grozi tym, że „przeskoczymy” właściwe rozwiązanie i proces uczenia nie będzie zbieżny, natomiast zbyt małe t/ prowadzi do bardzo wolnego (nieefektywnego) procesu uczenia. Zwyczajowo przyjmuje się 7} = 0,6 i obserwując proces uczenia sieci, ustala się, czy wartość ta może być utrzymana przez czas dłuższy, czy też powinna być zmniejszona.
Powróćmy jednak do analizy procesu uczenia jako gradientowej minimalizacji funkcji kryterialnej (funkcji błędu). Rozpisując wzór gradientowego uczenia dla kroku j, otrzymujemy:
<hi>i
w'/'=a =- r/
Uwzględniając fakt, że Q zależne jest od y, a dopiero y jest funkcją wektora wag W, możemy zapisać wzór, odpowiadający pochodnej funkcji złożonej:
0Q(j) _ i)QV> ih/>> r)w{ drfi J dwf
Na podstawie zależności — j/*>)2 natychmiast można ustalić, że natomiast liniowa funkcja wiążąca sygnał wyjściowy j/^ z wektorem wagWW powoduje, że oczy wście
ty*' AJ) dwi *
Zbierając wszystkie przedstawione wyniki razem, uzyskuje się potrzebną formule uczenia neuronu typu ADALINE:
co potwierdza jej poprawność. Ponieważ funkcja jakości Q jest unimodalna (jest to pa-raboloida eliptyczna z jednym tylko dobrze określonym minimum) — proces uczenia jest zbieżny i pozwala wyznaczyć potrzebny wektor wag W*, zapewniający dokładną realizację przez neuron wymaganej funkcji y = /(X), jeśli jest to funkcja liniowa lub gwarantujący optymalną (w sensie minimum błędu średniokwadratowego) aproksymację tej funkcji, jeśli jest ona nieliniowa.
W sposób analogiczny do wyżej opisanego algorytmu uczenia pojedynczego neuronu można uczyć także całą sieć elementów liniowych.