Programowanie sieciowe Laboratorium 4 Zadanie regresji za pomocą sieci typu RBF
Plan 1. Dane ze wskaźnikami giełdowymi 2. Sieć neuronowa RBF z centrami funkcji radialnych na wszystkich danych 3. Sieć neuronowa RBF z mniejszą liczbą centrów (uzyskanych algorytmem k-means). http://www.rueckstiess.net/research/snippets/sho w/72d2363e https://www.hackerearth.com/blog/uncategorized/r adial-basis-function-network/
Dane ze wskaźnikami giełdowymi https://www.kaggle.com/camnugent/sandp500
Trening sieci typu RBF za pomocą pseudoinwersji 1. Wyznaczenie centrów i parametrów funkcji radialnych 2. Obliczenie wag http://www.rueckstiess.net/research/snippets/show/72d2363e
Budowa zbioru danych Kodowanie danych xi = [yi, yi+1, yi+2,... ,yi+k] yi =yn(i)+k+1 i=1,..,N-(k+1) Model sieci neuronowej z radialnymi funkcjami aktywacji w warstwie ukrytej Funkcja Gaussa jako funkcja RBF i funkcja liniowa na wyjściu
Przegląd zupełny przestrzeni hiper-parametrów Liczba centrów wyznaczanych algorytmem k- means Wartość promienia funkcji radialnej
Sposób budowy regresora 1. Robimy skanowanie skanowanie przestrzeni parametru funkcji radialnej użytej w sieci, oraz liczby użytych centrów 1.0 Dla ustalonej liczby centrów wyznaczamy ich położenie za pomocą algorytmu k-means. 1.1 Dla każdego zestawu parametrów tzn liczby centrów oraz parametru funkcji radialnej trenujemy sieć za pomocą procedury podanej na poprzednim slajdzie i sprawdzamy jego działanie na zbiorze walidacyjnym. 2. Pętla, w której dzielimy zbiór danych treningowych na część treningową i testową w stosunku 90% dane treningowe, 10% dane testowe za pomocą polecenia https://scikit- learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html Pętla ma wykonać 100 iteracji – ma więc wygenerować 100 różnych podziałów zbioru treningowego. 2. Dla każdego podziału i dla aktualnego modelu zbieramy wartość funkcji celu oraz błąd na zbiorze walidacyjnym. 3. Rozwiązaniem jest ten regresor, który ma najmniejszy średni błąd na zbiorze walidacyjnym.