Podręcznik
1. Sieci radialne RBF
1.4. Metody doboru liczby funkcji bazowych
Dobór liczby funkcji bazowych, utożsamianych z liczbą neuronów ukrytych, jest podstawowym problemem przy właściwym rozwiązaniu problemu aproksymacji. Podobnie jak w sieciach sigmoidalnych, zbyt mała liczba neuronów nie pozwala dostatecznie zredukować błędu dopasowania na zbiorze danych uczących, natomiast zbyt duża ich liczba powoduje wzrost błędu generalizacji na zbiorze testującym. Dobór właściwej liczby neuronów jest uzależniony od wielu czynników, w tym wymiarowości problemu, liczby danych uczących, a przede wszystkim kształtu aproksymowanej funkcji w przestrzeni wielowymiarowej. Zwykle liczba funkcji bazowych stanowi jedynie pewien ułamek liczby danych uczących
, przy czym aktualna wartość tego ułamka jest uzależniona od wymiaru wektora
oraz od stopnia zróżnicowania wartości zadanych
, odpowiadających wektorom wejściowym
dla
.
4.4.1 Metody heurystyczne
Wobec niemożności określenia a priori dokładnej liczby neuronów ukrytych stosuje się metody adaptacyjne, które pozwalają na ich dodanie lub usunięcie w trakcie procesu uczenia. Powstało wiele metod heurystycznych umożliwiających takie operacje [24]. Zwykle uczenie sieci zaczyna się od pewnej wstępnie założonej liczby neuronów, a następnie kontroluje się zarówno stopień redukcji błędu średniokwadratowego, jak i zmiany wartości adaptowanych parametrów sieci. Najprostszym podejściem jest kolejne zwiększanie liczby neuronów ukrytych, jeśli aktualny błąd uczenia jest zbyt duży. Z kolei jeśli już wstępna wartość błędu jest zadowalająca należy podjąć próbę kolejnego zmniejszania liczby neuronów ukrytych aż do wartości skrajnej przy której dochodzi się do progu akceptowalności błędu.
W bardziej zaawansowanej technice procedura może być bardziej zaawansowana i uzależniona od średniej zmiany wartości wag po określonej liczbie cykli uczących. Jeśli jest zbyt mała dodaje się dwie nowe funkcje bazowe (2 neurony) o centrach odpowiadających odpowiednio największej i najmniejszej wartości błędu dopasowania (dwie skrajne wartości błędu dopasowania), kontynuując uczenie tak rozbudowanej struktury. Jednocześnie kontroluje się absolutne wartości wag
poszczególnych neuronów. Jeśli są one mniejsze od założonego na wstępie progu, neurony im odpowiadające podlegają usunięciu. Zarówno dodawanie neuronów, jak i usuwanie odbywa się po określonej liczbie cykli uczących i trwa przez cały czas uczenia, aż do uzyskania odpowiedniej dokładności odwzorowania.
Inne podejście w sterowaniu liczbą neuronów ukrytych zaproponował J. Platt. Jest to metoda łącząca w sobie jednocześnie uczenie samoorganizujące i z nadzorem. Po każdej prezentacji kolejnego wzorca uczącego określana jest odległość euklidesowa między nim a najbliższym centrum istniejącej już funkcji radialnej. Jeśli ta odległość jest większa od założonego progu , tworzone jest nowe centrum funkcji radialnej (dodawany neuron) w punkcie odpowiadającym prezentowanemu wektorowi
, po czym sieć podlega standardowemu douczeniu z wykorzystaniem metod gradientowych (uczenie z nadzorem). Proces dodawania neuronów zachodzi aż do uzyskania określonej wartości błędu odwzorowania. Ważnym problemem w tej metodzie jest dobór wartości progu
, decydującej o rozbudowie struktury sieci. Zwykle wartość ta zmienia się wykładniczo z czasem (liczbą iteracji) od wartości maksymalnej na początku procesu do wartości minimalnej na końcu.
4.4.2 Metoda ortogonalizacji Grama-Schmidta
Skuteczną metodą kontroli liczby neuronów ukrytych pozostaje zastosowanie specjalnej techniki uczenia sieci opartej na metodzie ortogonalizacji najmniejszych kwadratów (ang. Orthogonal Least Squares - OLS) i korzystającej z klasycznego algorytmu ortogonalizacji Grama-Schmidta [6,46]. Metoda ta ma wbudowany algorytm określania optymalnej liczby funkcji radialnych w trakcie procesu uczenia.
Punktem wyjścia jest przedstawienie problemu uczenia jako liniowego dopasowania wektora wag sieci , minimalizującego wartość wektora błędu
, czyli
![]() |
(4.17) |
W równaniu tym jest macierzą Greena a
wektorem wartości zadanych,
o zerowej wartości średniej. Na wstępie przyjmuje się liczbę funkcji radialnych
i centrach
. Iloczyn
podniesiony do kwadratu reprezentuje część pożądaną energii związaną z wartościami sygnałów zadanych wektorem
. Wartość tej energii podlega optymalizacji w procesie uczenia dążąc do wartości energii zdefiniowanej wektorem
(suma kwadratów składników
wektora
). Wprowadzając oznaczenia
dla kolumn macierzy
można ją przedstawić w postaci
, w której wektory
są powiązane z funkcjami bazowymi Gaussa. Metoda ortogonalizacji najmniejszych kwadratów polega na transformacji wektorów
w zbiór bazowych wektorów ortogonalnych, umożliwiających ocenę indywidualnego wkładu każdego z nich w ogólną wartość energii reprezentowanej przez
i eliminację pewnej ich liczby (których znaczenie dla procesu jest minimalne) z
do
, przy czym
.
W procesie uczenia macierz o wymiarze
ulega rozkładowi na iloczyn macierzy
(o wymiarze
złożonej z ortogonalnych wektorów kolumnowych
,
oraz kwadratowej macierzy górnotrójkątnej
stopnia
o jednostkowych wartościach na diagonali
![]() |
(4.18) |
W równaniu tym
![]() |
(4.19) |
przy czym macierz ortogonalna spełnia zależność
![]() |
(4.20) |
w której jest macierzą diagonalną o elementach diagonalnych
. Rozwiązanie zadania minimalizacji (4.17) sprowadza się do rozwiązania równania liniowego
![]() |
(4.21) |
Po wprowadzeniu wektora pomocniczego b
![]() |
(4.22) |
równanie (4.21) upraszcza się do postaci
![]() |
(4.23) |
Jest to układ równań z
niewiadomymi. Rozwiązanie tego równania (wektor
) przyjmuje postać
![]() |
(4.24) |
Biorąc pod uwagę diagonalny charakter macierzy można podać jawny wzór opisujący poszczególne składniki wektora
![]() |
(4.25) |
Po określeniu wektora można wyznaczyć również wektor poszukiwanych wag
![]() |
(4.26) |
Przy trójkątnej postaci macierzy rozwiązanie równania (4.26) względem wektora
nie sprawia trudności natury obliczeniowej. Ortogonalizacja macierzy
opisana zależnością (4.18) może być dokonana różnymi metodami, z których najefektywniejszy jest algorytm ortogonalizacji Grama-Schmidta [6]. W metodzie tej generacja macierzy
następuje kolumna po kolumnie z jednoczesnym tworzeniem kolejnych kolumn ortogonalnej macierzy
. W kroku k-tym tworzy się kolumnę
ortogonalną do wszystkich
kolumn utworzonych wcześniej. Procedurę powtarza się dla kolejnych wartości
.
Ważną zaletą metody ortogonalizacji w tym zastosowaniu jest również możliwość selekcji wektorów pod względem ich ważności w odwzorowaniu danych uczących. Przy założonej na wstępie liczbie
funkcji radialnych zadanie polega na takim ustawieniu kolejnych wektorów
, aby wyselekcjonować pierwsze
najbardziej znaczące pod względem energetycznym, przy czym zwykle
.
Uwzględnienie w dalszych obliczeniach tylko funkcji radialnych odpowiada redukcji liczby neuronów ukrytych z wartości wstępnej
do wartości
. Biorąc pod uwagę energię związaną z sygnałami opisanymi wektorem
i uwzględniając zależność (4.25) otrzymuje
![]() |
(4.27) |
Jeśli przyjmie się, że reprezentuje wektor zadany o zerowej wartości średniej, składnik
może być zinterpretowany jako średni wkład
-tej funkcji bazowej w odwzorowanie funkcji zadanej wektorem
. Względny udział tego składnika w ogólnym bilansie energii wyraża się zatem wzorem
![]() |
(4.28) |
Wyznaczenie wartości odpowiadających poszczególnym funkcjom bazowym umożliwia określenie ich wkładu w odwzorowanie funkcyjne danych uczących, co ułatwia podjęcie decyzji o redukcji tych, których wpływ jest najmniejszy. Po wyselekcjonowaniu określonej liczby najbardziej znaczących funkcji radialnych proces ortogonalizacji przeprowadza się powtórnie, określając nowe rozwiązanie i selekcjonując następne, najbardziej znaczące funkcje radialne. Przy założeniu wartości startowej
po kilku cyklach ortogonalizacji Grama-Schmidta można wyselekcjonować pożądaną liczbę
najbardziej znaczących funkcji bazowych, eliminując pozostałe. Procedurę określania najbardziej znaczących w odwzorowaniu funkcji radialnych kończy się z chwilą spełnienia warunku
![]() |
(4.29) |
gdzie jest przyjętą z góry wartością tolerancji.
W wyniku przeprowadzonej procedury zachowanych zostaje jedynie najbardziej znaczących funkcji radialnych położonych w centrach określonych poprzez wybrane przez algorytm dane uczące
. Jednocześnie w wyniku działania algorytmu określone są poszczególne składowe
wektora
, na podstawie których z zależności (4.26) otrzymuje się wartości wag
warstwy wyjściowej sieci.
Tolerancja decydująca o zakończeniu procesu uczenia jest ważnym czynnikiem, od którego zależy z jednej strony dokładność odwzorowania danych uczących, a z drugiej - stopień złożoności sieci neuronowej. W wielu przypadkach jej wartość może być oszacowana na podstawie rozkładu statystycznego danych uczących oraz aktualnych postępów w uczeniu. W praktyce przeprowadza się zwykle wiele procesów uczenia sieci RBF przy różnych wartościach
, zachowując jedynie tę, która zapewnia najlepsze działanie sieci na danych weryfikujących (część danych uczących nie biorąca udziału w uczeniu).