Sztuczna Inteligencja w identyfikacji i sterowaniu

Transkrypt

Sztuczna Inteligencja w identyfikacji i sterowaniu
PWSZ Głogów
Sztuczna Inteligencja w identyfikacji i sterowaniu
Laboratorium
Sieci RBF
Wiadomości wstępne
Sieci radialne RBF (ang. Radial Basis Functions) działają na zasadzie interpolacji wielowymiarowej, której zadaniem jest odwzorowanie różnych wektorów wejściowych u w
zbiór oczekiwanych liczb rzeczywistych na wyjściu y. Z powyższych założeń wynika, że
RBF wymagają zawyczaj użycia większej liczby neuronów niż sieci jednokierunkowe o
sigmoidalnej funkcji aktywacji. Pomimo to, uczenie ich trwa o wiele szybciej niż w przypadku sieci perceptronowych. Sieci RBF składają się z dwóch warstw: ukrytej warstwy z
neuronami o radialnych funkcjach aktywacji i warstwy wyjściowej zawierającej neurony
liniowe.
Model neuronu
w1 w2 wP 1
b
+
n
n1
_ w-u
P
u1
u2
..
.
y
uP
gdzie u = [u1 , u2 , . . . , uP ] – wektor wejściowy, P – liczba wejść, W – macierz współczynników wagowych (centra), b – bias (rozpiętość) , y – wyjście, k · k – norma Euklidesowa.
Najczęściej stosowanymi funkcjami aktywacji w takich modelach neuronów są funkcje
gausowskie postaci y = exp(−x2 ) .
Struktura sieci Sieć zbudowana jest z dwóch warstw przetwarzających. Warstwa ukryta
posiada neurony z nieliniowymi funkcjami aktywacji opisanym w paragrafie poprzednim,
natomiast warstwa wyjściowa zawiera neurony liniowe.
j1
{1}
q11
u1
j2 q21
.
.
.
uP
y1
y2
.
.
.
qn2
jn
Uczenie sieci
Algorytm uczenia sieci radialnej składa się z dwóch faz. W fazie pierwszej dobiera się położenia oraz kształt funkcji bazowych, najczęściej metodami heurystycznymi. Faza druga
polega na doborze macierzy wag Θ. Biorąc pod uwagę fakt, że wyjście sieci jest liniową
zależnością względem współczynników macierzy Θ, do tego celu może być zastosowana
dobrze znana Metoda Najmniejszych Kwadratów.
Zadania
1. Zapoznać się z m-plikami przybornika NNET dotyczącymi sieci jednokierunkowych
wielowarstwowych:
radbas – radialna funkcja bazowa
tribas – trójkątna funkcja bazowa
newrb – tworzenie radialnej sieci bazowej
newrbe – tworzenie ”dokładnej” radialnej sieci bazowej
2. Zastosować sieć radialną do aproksymacji punktów na płaszczyźnie opisanych następującymi zbiorami: X = [−1.0, −0.9, −0.8, −0.7, −0.6, −0.5, −0.4, −0.3, −0.2, −0.1,
0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
Y = [−.9602, −.5770, −.0729, .3771,
.6405, .6600, .4609, .1336, −.2013, −.4344, −.5000, −.3930, −.1647, .0988, .3072,
.3960, .3449, .1816, −.0312, −.2189, −.3201]. Ile neuronów jest potrzebnych, aby uzyskać satysfakcjonujące efekty aproksymujące?
3. Rozwiązać zadanie aproksymacji funkcji z = x2 + y 2 przy pomocy sieci radialnej.
Stworzyć dwa zbiory punktów: uczący i testujący. Dla zbioru uczącego przeprowadzić
uczenie parametrów sieci, natomiast dla zbioru testującego przeprowadzić analizę
właściwości uogólniających. Porównać wyniki aproksymacji z uzyskanymi dla sieci
jednokierunkowej.
4. Jaka jest różnica pomiędzy projektowaniem sieci RBF za pomocą funkcji newrb, a
funkcją newrbe.
5. Napisać skrypt realizujący uczenie sieci RBF w następujący sposób: rozpiętości i
centra funkcji bazowych dopasować losowo, wagi wyjściowe dostroić za pomocą reguły delty.
2