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