Nie obrażaj więc mojej inteligencji poprzez czynione na pokaz zaniżanie własnej.
Sieci RBF
Wstęp Sieci RBF są przykładem sieci neuronowych typu Feed Forward, czyli sieci jednokierunkowych. Cechą charakterystyczną sieci RBF jest to iż składaja się one zawsze z dwóch warstw – warstwy neuronów radialnych oraz warstwy neuronów wyjściowych. Wykonane zadania Do stworzenia sieci RBF wykorzystuje program MatLab. 1. Na początku tworzę wektory uczące (punkty interpolacji) dla dowolnej funkcji nieliniowej (w moim przypadku wybrałem funkcje: y = sin(x)*cos(x)+13*sin(1-x)). Wektor składa się z 50 punktów. Następnie obliczam wartości funkcji dla tych punktów. Wykorzystuję do tego pętle „for”. 2. Następnym krokiem jest stworzenie sieci RBF za pomocą polecenia „newrbe”. Polecenie tworzy sieć typu RBF, z ilością neuronów równą ilości próbek. Funkcja ta przyjmuje 3 argumenty – pierwszym jest wektor uczący, drugim wektor wartości funkcji dla danych uczących a trzeci oznacza szerokość sieci RBF. 3. Kolejnym działaniem jest stworzenie wektora gęstszych punktów od pierwszego wektora uczącego. Wektor będzie składał się z 200 punktów i posłuży nam do symulacji. 4. Przedostatnim krokiem będzie wykorzystanie poprzedniego wektora punktów do symulacji wykorzystującej wcześniej utworzoną sieć RBF. W tym celu wykorzystujemy funkcję „sim”. 5. Ostatnim działaniem było narysowanie wykresów wartości funkcji dla początkowych punktów uczących i wartości funkcji otrzymanych z symulacji dla większej liczby punktów. Do uzyskania wykresów wykorzystałem bibliotekę „plottools”. Poniżej przedstawiam rezultaty. Wykres punktów uczących: Przybliżenie na ekstremum lokalne: Wykres gęstszych punktów: Przybliżenie na ekstremum lokalne: Porównanie obu wykresów w ekstremum lokalnym: Wnioski do wykresu Jak możemy zauważyć na przybliżonych wykresach lepsze efekty otrzymujemy wykorzystując większą liczbę punktów uczących w sieci RBF. |
Menu
|