9. Sieć neuronowa radialna

Transkrypt

9. Sieć neuronowa radialna
9. Sieć neuronowa radialna
Dzisiejsze zadanie będzie polegało na przedstawieniu sieci neuronowej radialnej.
Sieci radialne stanowią naturalne uzupełnienie sieci sigmoidalnych. Neuron sigmoidalny dokonywał podziału przestrzeni na dwie części. Podział odbywał się wzdłuż
prostej, a realizowane przez ten neuron zadanie nazywaliśmy liniowoseparowalnym.
Neuron radialny reprezentuje hipersferę, dokonując podziału kołowego wokół punktu centralnego (Rys. 1) Sieć radialna to sieć skierowana do przodu (Rys. 2). Zawiera
Rysunek 1: Podział płaszczyzny
wektor wejściowy [x1 , ..., xN ] oraz dwie warstwy. Pierwsza z nich składa się z K
neuronów radialnych, zaś druga z jednego neuronu działającego tak jak w sieci jednokierunkowej z liniową funkcją aktywacji. Wagi przypisane są jedynie do połączeń
warstwy drugiej. Brak wag warstwy pierwszej wynika ze sposobu działania neuronu
radialnego. Neuron radialny to neuron, którego funkcją aktywacji jest funkcja radialna. Funkcja ta przyjmuje jako argument wektor i nie działa na zasadzie sumatora
jak to miało miejsce w sieciach jednokierunkowych. Przykładami funkcji radialnych
są:
r2
• ϕ(r) = e(− 2δ2 )
• ϕ(r) =
• ϕ(r) =
√ 1
r 2 +δ 2
√
r2 + δ 2
• ϕ(r) = r,
gdzie: r =k x − c k, δ > 0.
c ∈ RN jest punktem centralnym neuronu radialnego, δ jest parametrem zaś
k . k jest odległością wektora wejściowego ( x ∈ RN ) od centrum (c). Najczęściej
stosowaną miarą odoległości jest norma euklidesowa.
1
Rysunek 2: Ogólny model sieci radialnej
Przykład
Spróbujmy rozwiązać zadanie klasyfikacyjne przedstawione na rysunku 3. Chcemy
dokonać takiego podziału płaszczyzny, aby punkty oznaczone kolorem żółtym należały do jednego obszaru, zaś kolorem niebieskim do drugiego. Wykorzystamy sieć
radialną. Będzie to sieć z rysunku 2, dla której N = 2, K = 1, funkcja radialna:
ϕ(r) = r oraz wartości wag: w0 = promień koła, w1 = 1.
Rysunek 3: Zadanie klasyfikacyjne
Metoda doboru parametrów sieci
Sieć radialna jest wykorzystywana jako klasyfikator. Klasyfikacja odbywa się w ww.
sposób. W przykładzie przedstawiono wartości parametrów, dla których sieć rozwiąże postawiony problem. Ogólnie, sieć radialna działa na zasadzie wielowymiarowej
interpolacji, której zadaniem jest odwzorowanie p różnych wektorów wejściowych xi
(i = 1, ..., p) z przestrzeni wejściowej N − wymiarowej w zbiór p liczb rzeczywistych
2
di (i = 1, ..., p), czyli określenie takiej funkcji F (x), dla której spełnione są warunki:
F (xi ) = di
dla i = 1, ..., p, gdzie
F (x) =
p
X
wi ϕ(k x − xi k)
i=1
Jeżeli ustalimy K = p, wówczas zadanie będzie rozwiązywalne 1 . Jest to jednak
za duża liczna neuronów i należy ją ograniczyć. Metodą, którą można tu zastosować
jest podział zbioru uczącego na grupy. Podział ten może być realizowany przy pomocy sieci samoorganizującej. Wówczas otrzymamy tyle grup ile sieć wygenerowała
neuronów winner’ów. Liczbę neuronów radialnych określimy jako liczbę winner’ów.
Należy jeszcze określić pozostałe parametry dla każdej z funkcji aktywacji. Dla każdej grupy w wyniku procesu uczenia został przypisany wektor wag - jest to wektor
wag odpowiadający winner’owi. Jako centrum przyjmiemy wektor wag odpowiedniego winner’a. Parametr δ będzie odległością centrum od najbliższego sąsiada w danej
grupie. Określenie innych parametrów dla każdego neuronu radialnego powoduje, że
każdy z neuronów tej samej warstwy ma inną funkcję aktywacji.
Wartości wag warstwy wyjściowej ustala się w wyniku procesu uczenia. Na początku przypisuje się im wartość losową, a następnie modyfikuje metodą propagacji
wstecznej. Funkcja błędu, którą minimalizujemy, wyraża się wzorem:
K
1X
E = [ wi ϕ(x) − d]2 .
2 i=0
Zadanie
Zadanie będzie polegało na zaimplementowaniu problemu przedstawionego na rysunku 3 siecią radialną. Ma to być sieć składająca się z dwóch wejść, jednego neuronu
radialnego oraz losowych wag. Chodzi tu o wizualizacją działania sieci radialnej (podobną do projektu 2). Proszę wykorzystać wszystkie omówione funkcje aktywacji.
Dodatkowo należy rozstrzygnąć, czy problem klasyfikacji przedstawiony na rysunku
4 można zrealizować przez sieć jednokierunkową. Jeśli tak, należy zaimplementować
taką sieć.
Rysunek 4: Zadanie klasyfikacyjne
1
Patrz S. Osowski ”Sieci neuronowe w ujęciu algorytmicznym”, WNT 1996, str.162
3