224
w której Z(k - 1) jest prostokątni} macierzą występującą z lewej strony równania (10.14). d jest wektorem /.łożonym z p zadanych wartości cl, a W/ oznacza wektor wag zdefiniowany w postaci W. - \al,bitcitdsyel,fl]T. Wzór (10.15) jest formułą uogólnioną obowiązującą dla każdej warstwy sieci (A = 1, 2, ... ) przy założeniu, że macierz Z(0) odpowiada macierzy utworzonej ze składowych wektora wejściowego X. Rozwiązanie problemu minimalizacji funkcji energetycznej (10.13), równoważne rozwiązaniu układu równań liniowych (10.14), zapisać można również w postaci
W - Z *(A - l)d, (10.16)
w której Z'(A-l) oznacza pseudoinwersję macierzy Z. Należy podkreślić, że rozwiązanie (10.16) nie jest rozwiązaniem dokładnym układu równań (10.14) a jedynie rozwiązaniem minimalizującym funkcję energetyczną (10.13). Przy wątpliwościach co do liczby próbek uczących p można zwiększyć tę liczbę próbek i sprawdzić czy otrzymane rozwiązanie zmieniło się w sposób istotny. Jeśli nie, to znaczy, że liczba próbek była wystarczająca. W przeciwnym wypadku należy zwiększyć tę liczbę i przeprowadzić ponownie procedurę rozwiązania.
Po otrzymaniu właściwego rozwiązania, określającego wagi każdego neuronu w danej warstwie, należy przystąpić do minimalizacji liczby neuronów' w warstwie. W tym celu podajemy zbiór t próbek testujących X, różniących się od próbek, na kióryeh poprowadziliśmy uczenie sieci i oceniamy błąd średniokwadrałowy sieci dla (ego zbioru. Przyjmując oznaczenie ogólne jednego r-tego wiersza macierzy próbek sygnałów wejściowych dla warstwy A-tej w postaci 7jr(k 1), można zdefiniować sumaryczny błąd średniok wad ratowy /-tego neuronu w warstwie A-tej w postaci
*• r-1
Wartość lego błędu będzie znacznie zmieniała się dla poszczególnych neuronów w warstwie. Eliminujemy z warstwy te neurony, dla których błąd przekracza pewna wartość dopuszczalną e0. Wszystkie pozostałe neurony, dla których C/(fc) ^ e0, jako najlepiej odtwarzające wartości zadane d pozostają w warstwie, a ich odpowiedzi na przyłożone próbki uczące X stanowią wymuszenia dla następującej po nich warstwy. W ten sposób z Mk neuronów w warstwie A'-tej pozostaje jedynie K neuronów, przy czym K <, Mk. Ten ciągły proces redukcji liczby neuronów w warstwie towarzyszy procesowi uczenia sieci i jest stałym fragmentem algorytmu.
Proces dodawania kolejnych warstw sieci zachodzi aż do spełnienia kryterium zatrzymania algorytmu. Kryterium to określa się na bazie błędu średniokwadratowe-go (10.17), odpowiadającego najlepiej wytrenownnemu neuronowi w warstwie. Oznaczmy wartość tego błędu w warstwie A-tej przez emin(A). W miarę dodawania