Podręcznik
1. Sieci radialne RBF
1.3. Metody uczenia sieci neuronowych radialnych
Wprowadzone w poprzednim podrozdziale metody doboru wag warstwy wyjściowej sieci radialnej RBF opierały się na założeniu, że parametry samych funkcji bazowych są znane, w związku z czym macierze Greena są określone w sposób numeryczny i zadanie sprowadza się do rozwiązania nadmiarowego układu równań liniowych o postaci (4.7). W rzeczywistych zastosowaniach liczba neuronów ukrytych
i problem uczenia sieci RBF z uwzględnieniem wybranego typu radialnej funkcji bazowej sprowadza się do:
-
ustalenia liczby neuronów gaussowskich
oraz doboru centrów
i parametrów szerokości
funkcji bazowych Gaussa
4.3.1 Proces samoorganizacji w określeniu parametrów funkcji radialnych
Określenie wartości parametrów funkcji radialnych (centra i szerokości
) można uzyskać przy zastosowaniu algorytmu samoorganizacji poprzez współzawodnictwo. Proces samoorganizacji danych uczących poprzez współzawodnictwo dzieli automatycznie przestrzeń na tak zwane wieloboki Voronoia, przedstawiające obszary dominacji określonych centrów odpowiadających poszczególnym funkcjom radialnym. Przykład takiego podziału przestrzeni dwuwymiarowej pokazano na rys. 4.2.

Dane zgrupowane wewnątrz klastra są reprezentowane przez punkt centralny, stanowiący średnią ze wszystkich elementów danego klastra. Centrum klastra utożsamione będzie dalej z centrum c odpowiedniej funkcji radialnej. Liczba tych funkcji jest zatem równa liczbie centrów i może być korygowana przez algorytm samoorganizacji.
Proces podziału danych na klastry można przeprowadzić przy użyciu jednej z wersji algorytmu Linde-Buzo-Graya (LBG) zwanego również algorytmem K-uśrednień (ang. K-means). W wersji bezpośredniej (on-line) tego algorytmu aktualizacja centrów następuje po każdej prezentacji wektora ze zbioru danych uczących. W wersji skumulowanej (off-line) centra są aktualizowane jednocześnie po zaprezentowaniu wszystkich składników zbioru uczącego. W obu przypadkach wstępny wybór centrów odbywa się najczęściej losowo przy wykorzystaniu rozkładu równomiernego w zakresie zmienności poszczególnych składowych wektora
.
W wersji bezpośredniej (on-line) po zaprezentowaniu -tego wektora
ze zbioru uczącego selekcjonowane jest centrum
najbliższe w sensie wybranej metryki danemu wektorowi. To centrum podlega aktualizacji zgodnie z algorytmem WTA
![]() |
(4.9) |
w którym jest współczynnikiem uczenia o małej wartości (zwykle
), malejącym w czasie do zera. Pozostałe centra nie ulegają zmianie. Każdy wektor uczący
jest prezentowany wielokrotnie, zwykle w kolejności losowej aż do ustalenia wartości centrów.
Stosowana jest również odmiana algorytmu, w której centrum zwycięskie adaptowane jest według wzoru (4.9), a jeden lub kilka najbliższych mu centrów odpychane w przeciwnym kierunku, przy czym realizacja procesu odpychania odbywa się zgodnie ze wzorem
![]() |
(4.10) |
Taka modyfikacja algorytmu pozwala na rozsunięcie centrów położonych blisko siebie i lepszą penetrację przestrzeni danych (zwykle <
).
W wersji skumulowanej uczenia prezentowane są wszystkie wektory uczące i każdy z nich przyporządkowany odpowiedniemu centrum. Zbiór wektorów przypisanych do jednego centrum tworzy klaster, którego nowe centrum jest średnią poszczególnych wektorów składowych
![]() |
(4.11) |
gdzie oznacza liczbę wektorów
przypisanych w
-tym cyklu do
-tego centrum. Uaktualnianie wartości wszystkich centrów odbywa się równolegle. Proces prezentacji zbioru wektorów
oraz uaktualniania wartości centrów powtarzany jest wielokrotnie aż do ustalenia się wartości centrów.
W praktyce używa się najczęściej algorytmu bezpośredniego ze względu na jego nieco lepszą zbieżność. Oba algorytmy nie gwarantują jednak bezwzględnej zbieżności do rozwiązania optymalnego w sensie globalnym, a jedynie zapewniają optymalność lokalną, uzależnioną od warunków początkowych i parametrów procesu. Przy niefortunnie dobranych warunkach początkowych pewne centra mogą utknąć w regionie, w którym liczba danych uczących jest znikoma lub żadna i proces modyfikacji ich położeń może zostać zahamowany. Pewnym rozwiązaniem tego problemu jest modyfikacja położeń wielu centrów na raz, ze stopniowaniem wartości stałej uczenia dla każdego z nich. Centrum najbliższe aktualnemu wektorowi
modyfikowane jest najbardziej, pozostałe w zależności od ich odległości względem wektora
coraz mniej.
Po ustaleniu położeń centrów dobierane są wartości parametrów , odpowiadających poszczególnym funkcjom bazowym. Parametr
funkcji radialnej decyduje o kształcie funkcji i wielkości pola recepcyjnego, dla którego wartość tej funkcji jest niezerowa (większa od pewnej ustalonej wartości progowej). Dobór
powinien być taki, aby pola recepcyjne wszystkich funkcji radialnych pokrywały cały obszar danych wejściowych, przy czym sąsiednie pola recepcyjne mogą pokrywać się w stopniu nieznacznym. Przy takim doborze wartości
odwzorowanie funkcji realizowane przez sieci radialne będzie stosunkowo gładkie. W najprostszym rozwiązaniu za wartość
odpowiadającą
-tej funkcji radialnej przyjmuje się odległość euklidesową
-tego centrum
od jego najbliższego sąsiada [24,46]. W innym algorytmie z uwzględnieniem szerszego sąsiedztwa, na wartość
wpływa odległość
-tego centrum od jego
najbliższych sąsiadów. Wartość
określa się wtedy ze wzoru
![]() |
(4.12) |
W praktyce wartość mieści się zwykle w zakresie od 3 do 6. W przypadku danych o podobnym charakterze zmian stosuje się często stałą wartość
dla wszystkich neuronów radialnych (dla danych znormalizowanych typowe wartości jest
bliskie jedności).
Wstępny dobór liczby funkcji radialnych (neuronów ukrytych) dla każdego problemu jest sprawą kluczową, decydującą o dokładności odwzorowania. Stosuje się ogólną zasadę, że im większy jest wymiar wektora i liczba danych uczących, tym większa wymagana liczba funkcji radialnych. Często przyjmuje się na wstępie liczbę funkcji radialnych jako pewien ułamek (np. 1/3) liczby wszystkich par uczących
.
4.3.2 Dobór wartości wag warstwy wyjściowej
Prosty jest również problem adaptacji wag neuronów warstwy wyjściowej. Zgodnie z zależnością (4.8) wektor wagowy może być wyznaczony w jednym kroku przez pseudoinwersję macierzy
, czyli
. Dla uproszczenia wzorów przyjęto w dalszych rozważaniach oznaczenie rozszerzonej macierzy Greena
. W praktyce obliczenie pseudoinwersji macierzy
następuje przy zastosowaniu dekompozycji według wartości osobliwych (SVD), według którego
![]() |
(4.13) |
Macierze i
są ortogonalne, o wymiarach odpowiednio
oraz
, podczas gdy
jest macierzą pseudodiagonalną o wymiarach
, zawierającą elementy diagonalne zwane wartościami osobliwymi
. Załóżmy, że jedynie
pierwszych elementów
ma znaczące wartości, a pozostałe są pomijalnie małe. Wtedy można zredukować liczbę kolumn macierzy ortogonalnych
i
do wartości
, pomijając pozostałe. Utworzone w ten sposób zredukowane macierze
i
mają postać
a macierz staje się macierzą w pełni diagonalną (kwadratową). Macierze te aproksymują zależność (4.13) w postaci
![]() |
(4.14) |
Biorąc pod uwagę własności macierzy ortogonalnych () macierz pseudoodwrotna do
określona jest teraz prostą zależnością
![]() |
(4.15) |
w której a wektor wag sieci podlegającej adaptacji określony jest wzorem
![]() |
(4.16) |
Zaletą takiego podejścia jest dobre uwarunkowanie problemu. Dobór wag wyjściowych sieci odbywa się w jednym kroku przy wykorzystaniu jedynie mnożenia odpowiednich macierzy, przy czym część macierzy ( i
) to macierze ortogonalne, z natury dobrze uwarunkowane (współczynnik uwarunkowania równy 1).
Zauważmy, że w uczeniu sieci RBF parametry podlegające adaptacji tworzą dwie niezależnie dobierane grupy: parametry funkcji radialnych adaptowane poprzez grupowanie danych oraz wagi warstwy wyjściowej określane poprzez pseudoinwersję macierzy Greena. Daje to efekt uproszczenia obliczeń i znacznego skrócenia czasu uczenia.