Uczenie sieci radialnych (RBF)
Budowa sieci radialnej Lokalne odwzorowanie przestrzeni wokół neuronu MLP RBF
Budowa sieci radialnych Zawsze jedna warstwa ukryta
Budowa neuronu Neuron radialny powinien lokalnie (promieniście) odwzorowywać przestrzeń wokół swojego centrum Typowe neurony: Gaussowski Hardy ego Wielomainowy
Budowa neuronu radialnego
Trochę matematyki uczenie sieci radialnej Zależność przyjmując oznaczenie ji =G( x j -t i ) można zapisać jako funkcję liniową: Stąd wektor wag w można wyliczyć jako:
Trochę matematyki W praktyce, zwtkle k << n (liczba centrów k jest znacznie mniejsza od liczby wektorów treningowych n) więc macierz jest prostokątna. Jak obliczyć -1 Macierz pseudoodwrotna - + =( T ) -1 T Wówczas: w = + y rozwiązanie to jest równoważne minimalizacji błędu średniokwadratowego
Trzy fazy uczenia sieci RBF 1. Faza 1 Uczenie jedynie wektora wagowego. 2. Faza 2 Niezależne uczenie wektora wagowego i selekcja centrów funkcji bazowych 3. Faza 3 Nadzorowane i wspólne (jednoczesne) uczenie wektorów wagowych i centrów oraz parametrów funkcji bazowych
Faza 1 Najczęściej stosowane rozwiązanie: w = + y Uwzględniając regularyzację Funkcja kosztu (błąd średnikwadratowy z rtegularyzacją): Czynnik regularyzacyjny Wówczas: w = Gy, przy czym G =( + 1) -1
Faza 2 Niezależne uczenie centrów funkcji radialnych oraz wektorów wagowych Metody wyznaczania położenia funkcji radialnych Losowy wybór centrów funkcji radialnych Wykorzystanie algorytmów grupowania danych Wykorzystanie algorytmu LVQ Wykorzystanie drzew decyzji
Faza 2 Losowy wybór centrów funkcji radialnych Problem regresyjny/klasyfikacyjny Określ liczbę funkcji radialnych k Wylosuj bez zwracania k wektorów zbioru treningowego Użyj tych wektorów jako centrów funkcji radialnej Problem klasyfikacyjny Określ liczbę funkcji radialnych k i dla każdej z klas Wylosuj bez zwracania k i wektorów z przypadków zbioru treningowego należących do i-tej klasy Użyj tych wektorów jako centrów funkcji
Faza 2 Losowy wybór centrów funkcji radialnych 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5
Faza 2 Algorytmy grupowania Problem regresyjny/klasyfikacyjny 1. Dokonaj na całym zbiorze danych procesu grupowania danych. 2. Traktuj centra klasterów jako położenie funkcji radialnych 3. Dla metod grupowania typu GMM, FCM itp. Dokonaj estymacji macierzy kowariancji Problem klasyfikacyjny 1. Dokonaj grupowania danych osobno dla przypadków należących do każdej z klas 2. Traktuj centra klasterów jako położenie funkcji radialnych 3. Dla metod grupowania typu GMM, FCM itp. dokonaj estymacji macierzy kowariancji Naucz wektor wagowy wg zależności z fazy 1
Faza 2 Algorytmy grupowania 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5
Czego nauczył się algorytm 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5
Faza 2 Algorytm LVQ Tylko problemy klasyfikacyjne 1. Przeprowadź uczenie sieci typu LVQ 2. Wydobądź wektory kodujące z sieci LVQ 3. Traktuj wektory kodujące jako centra funkcji radialnych 4. Naucz wektor wag korzystając z fazy 1
Faza 2 Algorytm LVQ 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5
Dobór szerokości funkcji radialnych W typowych przypadkach wówczas jest wspólne dla wszystkich neuronów (zwykle stosowane dla fazy 1 i 2) Sieć można też rozbudować i zdefiniować osobno dla każdego neuronu (np.. Tak by spełnić zasadę pokrywania całej przestrzeni danych z minimalnym progiem) Można też poddać dalszej modyfikacji, tak by w ramach pojedynczego neuronu każdy kierunek miał swoją własną wagę (stosowane np.. Przy metodzie uczenia drzewem) Można też zastosować macierz kowariancji wykorzystując informacje z algorytmów grupowania takich jak FCM, GMM
Faza 2 Algorytm drzew decyzji
Faza 2 Algorytm drzew decyzji Położenie funkcji radialnych
Faza 2 Algorytm drzew decyzji 1. Dokonaj uczenia drzewa decyzji 2. Dla każdego z niezależnych obszarów wyznaczonych przez drzewo wyznacz jego środek i umieść w nim centrum funkcji radialnej 3. Wpisz do tego obszaru funkcję radialną tak by była styczna z jego bokami (dokonaj tego modyfikując odpowiednie wagi odległości) 4. Naucz wektor wag korzystając z fazy 1
Faza 3 Jednoczesne uczenie wektorów wagowych oraz położenia funkcji radialnych 1. Dokonaj uczenia sieci RBF w oparciu o Fazę 2 2. Uzyskane wyniki traktuj jako inicjalizację sieci przed uczeniem gradientowym 3. Ucz gradientowo wg. zależności k a a a w x y d jl j l l a 1 k a x p p x w y d n a i ij a a 2 ij j jb b b a 1 ij b 1 k a x p 2 n a i ij a a x 3 w y d ij j a jb b b a 1 ij b 1 Wagi neuronu. wyj. Położenie centrów Wagi odległości j-tego centrum