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