SiecRBF.pdf

(1133 KB) Pobierz
1
1. Sztuczne sieci neuronowe o radialnych funkcjach
bazowych (RBF)
Sieci neuronowe wielowarstwowe, pełnią z punktu widzenia matematycznego, rolę
aproksymatorów funkcji wieku zmiennych, odwzorowując zbiór zmiennych wejściowych
X R N w zbiór zmiennych wyjściowych Y R M [3,4].
Odmienną koncepcją w podejściu do sztucznych sieci neuronowych było
zastosowanie nieliniowego przekształcenia przestrzeni danych wejściowych przez
wprowadzenie warstwy neuronów ukrytych realizujących funkcję zmieniającą się radianie
wokół wybranego centrum C . Funkcje takie, oznaczane ogólnie w postaci ϕ ( X-C ), gdzie
. oznacza operator normy, będą nazwane radialnymi funkcjami bazowymi. Neuron
radialny stanowi naturalne uzupełnienie neuronu sigmoidalnego, umożliwiające w przypadku
wystąpienia symetrii kołowej danych wydatne zmniejszenie liczby neuronów potrzebnych do
realizacji zadania klasyfikacyjnego. Co więcej, wobec różnej funkcji, jaką pełnią neurony, w
sieciach radialnych nie występuje potrzeba stosowania wielu warstw ukrytych [1]. Przy
oznaczeniu przez ϕ (x ) wektora funkcji radialnych w N-wymiarowej przestrzeni wejściowej,
podział tej przestrzeni na dwie klasy jest nieliniowo separowalny, jeśli istnieje taki wektor w ,
że:
w T ϕ ( x )≥0.5 dla X A
w T ϕ ( x )<0.5 dla X B
gdzie A i B reprezentują dwie klasy przestrzeni, a równanie w T ϕ ( x )=0 .5 reprezentuje granicę
między nimi (rysunek 1.1) .
a) b)
Rysunek 1.1 Ilustracja podziału przestrzeni danych wejściowych (a-neuron o
sigmoidalnej funkcji przejścia b-radialna funkcja bazowa).
1.1 Podstawowe równania dla sieci RBF
Sieć neuronowa typu radialnego działa na zasadzie wielowymiarowej interpolacji,
której zadaniem jest odwzorowanie P różnych wektorów wejściowych x i ( i =1,2,..., P ) z
przestrzeni wejściowej N - wymiarowej w zbiór P liczb rzeczywistych d i ( i =1,2,..., P ), czyli
określenie takiej funkcji F(x) , dla której są spełnione warunki interpolacji:
xF =
()
i
d
i
(1)
przy wyborze funkcji F(x) postaci:
() ( )
=
P
F
x
=
W
i
ϕ
x
c
i
(2)
i
1
Wybór rodzaju normy może być dowolny, choć w praktyce stosuje się zwykle normę
euklidesową. Wartości wektorów c i ( i = 1,2,..., P ) stanowią centra funkcji radialnych. Przy
założeniu P punktów interpolacyjnych równanie (1) można zapisać w postaci:
5157051.004.png 5157051.005.png 5157051.006.png
ϕ
11
ϕ
12
...
ϕ
1
P
w
1
d
1
ϕ
ϕ
...
ϕ
w
d
21
22
2
P
2
=
2
(3)
...
...
...
...
...
...
ϕ
ϕ
...
ϕ
w
d
P
P
2
PP
P
P
przy czym ϕ ji= ϕ ( ∥x j -c i ) dotyczy funkcji radialnej w centrum c i . Oznaczając macierz o
elementach ϕ ji jako Φ oraz przyjmując oznaczenia wektorów W =[w 1 ,w 2 ,..,w P ] T ,
d =[d 1 ,d 2 ,...,d P ] T , równanie (3) może być zapisane w postaci macierzowej
Φ
W =
d
(4)
Wykazano, że dla zbioru funkcji radialnych, przy założeniu x 1 x 2 ... x P ,
kwadratowa macierz interpolacji Φ jest nieosobliwa, a przy tym dodatnio półokreślona.
Istnieje zatem rozwiązanie równania (4) w postaci:
W
=
Φ
−1
d
(5)
umożliwiające określenie wektora wag W neuronu wyjściowego sieci.
Zastosowanie dużej liczby funkcji bazowych (liczba funkcji bazowych jest równa
liczbie danych uczących) może spowodować, że sieć będzie modelowała zakłócenia i
nieregularności występujące w danych uczących. Aby załagodzić ten efekt można
wprowadzić tak zwany składnik regularyzujący do równania na funkcję kosztu modelu:
1
=
P
[ ]
()
1
2
E
=
F
x
d
2
+
λ
PF
2
i
i
2
(6)
i
1
gdzie składnik || PF || 2 jest operatorem różniczkowania, ze współczynnikiem λ, który zwiększa
swą wartość gdy funkcja F jest coraz mniej gładka; jest to pewnego rodzaju element „kary” w
równaniu na błąd sieci [1].
Innym sposobem zmniejszenia wpływu zakłóceń oraz nieregularności w danych
uczących może być zastosowanie mniejszej liczby funkcji bazowych w strukturze sieci.
1
5157051.007.png
Zmniejszenie liczby funkcji bazowych spowoduje, że rozwiązanie problemu realizowanego
przez sieć będzie poszukiwane w przestrzeni o mniejszej liczbie wymiarów; sieć będzie
aproksymowała dokładne rozwiązanie problemu. Zmniejszając liczbę funkcji bazowych do K
równanie 6 można przedstawić w postaci:
() ( )
=
K
F
*
x
=
w
ϕ
x
c
(7)
i
i
i
1
gdzie K<P, a c i (i=1,2,...,K) jest zbiorem centrów, które należy wyznaczyć. W szczególnym
przypadku przy założeniu K=P otrzymuje się rozwiązanie dokładne. Powyższe równanie
możemy przedstawić w postaci schematu (rysunek 1.2).
x 1
ϕ 1
x
x 2
ϕ 2
W
Σ
y
x N
ϕ K
Rysunek 1.2 Architektura sieci RBF.
Na podstawie równania 6 można zbudować funkcję kosztu dla sieci o mniejszej liczbie
funkcji bazowych:
1
P
K
( )
2
1
= ∑∑
= =
2
E
*
w
ϕ
x
c
d
+
λ
PF
*
(8)
2
j
i
j
i
2
1
j
1
oznaczając: d =[d 1 ,d 2 ,...,d P ] T
W =[w 1 , w 2 ,..., w K ] T
i
5157051.001.png 5157051.002.png
ϕ
( ) ( ) ( )
( ) ( ) ( )
x
1
;
c
1
ϕ
x
1
;
c
2
...
ϕ
x
1
;
c
K
( ) ( ) ( )
ϕ
x
;
c
ϕ
x
;
c
...
ϕ
x
;
c
( ) ( )
Φ
=
2
1
2
2
2
K
ϕ ;
c
= ϕ
x
c
...
...
...
...
i
j
i
j
ϕ
x
;
c
ϕ
x
;
c
...
ϕ
x
;
c
P
1
P
2
P
K
oraz stosując czynnik stabilizujący w postaci [3]:
PF
*
2
=
W
T
Φ
W
0
gdzie:
ϕ
( ) ( ) ( )
( ) ( ) ( )
c
1
;
c
1
ϕ
c
1
;
c
2
...
ϕ
c
1
;
c
K
( ) ( ) ( )
ϕ
c
;
c
ϕ
c
;
c
...
ϕ
c
;
c
( ) ( )
Φ
=
2
1
2
2
2
K
ϕ ;
c
c
= ϕ
c
c
0
...
...
...
...
i
j
i
j
ϕ
c
;
c
ϕ
c
;
c
...
ϕ
c
;
c
K
1
K
2
K
K
Równanie (8) możemy przedstawić w postaci:
E
*
=
1
Φ
W
d
2
+
1
λ
W
T
Φ
W
(9)
2
2
0
Rozwiązanie równania (13) zostało przedstawione poniżej:
E
*
=
1
( ) ( )
Φ
W
T
Φ
W
Φ
W
T
d
1
d
T
d
+
1
λ
W
T
Φ
W
2
2
2
0
()
E
*
=
Φ
T
Φ
W
Φ
T
d
+
λ
Φ
W
W
0
aby funkcja kosztu przyjęła wartość minimalną musi być spełniony warunek:
() 0
E
* =
W
więc:
0
=
Φ
T
Φ
W
Φ
T
d
+
λ
Φ
W
0
(
) d
Φ
T
Φ
+
λ
Φ
W
=
Φ
T
0
W efekcie problem optymalizacyjny sprowadza się do rozwiązania układu równań liniowych
względem W :
(
Φ
T
Φ
+
λ
Φ
) d
W
=
Φ
T
(10)
0
x
5157051.003.png
Zgłoś jeśli naruszono regulamin