Strona główna Uczenie Maszynowe Sieć z radialnymi funkcjami bazowymi

🧠 Sieć z radialnymi funkcjami bazowymi

Sprawdź, jak sieci RBF wykorzystują zlokalizowane funkcje Gaussa do przybliżania złożonych granic decyzyjnych.

Uczenie Maszynowe2DZaawansowany60 FPS
rbf-network ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja trenuje sieć funkcji bazowych radialnych (RBF), aby przybliżyć jednowymiarową krzywą docelową. Każda jednostka bazowa to funkcja Gaussa φⁱ(x) = exp(−|x−cⁱ|²/2σ²) wyśrodkowana w punkcie cⁱ znalezionym przez uruchomienie klasteryzacji k-średnich na danych wejściowych treningu. Gdy centra są już ustalone, wagi wyjściowe w są rozwiązywane bezpośrednio metodą najmniejszych kwadratów liniowych (równania normalne Aw = b, rozwiązywane eliminacją Gaussa z niewielkim wyrazem grzbietowym dla stabilności), więc wyjście sieci ŷ = Σ wⁱ·φⁱ(x) jest ważoną sumą wybrzuszeń. Możesz obserwować, jak liczba baz N i ich szerokość σ równoważą niedopasowanie i przeuczenie na zaszumionych danych.

🔬 Co pokazuje

Rozrzut punktów treningowych z wybranego zbioru danych (sinus, zaszumiony sinus, skok lub ćwierkanie), poszczególne ważone bazy Gaussa (kolorowe wybrzuszenia, każda wyśrodkowana na centrum k-średnich) oraz wynikową dopasowaną krzywą ŷ(x), która je sumuje. Statystyki na żywo raportują błąd średniokwadratowy (MSE), R², liczbę centrów oraz zakres dopasowanych wag wyjściowych.

🎮 Jak korzystać

Przeciągnij Basis functions N (2–30), aby dodać lub usunąć jednostki Gaussa, oraz Width σ (0,02–0,5), aby zwęzić lub poszerzyć każde wybrzuszenie. Wybierz zbiór danych z listy rozwijanej, przełącz Show individual bases, aby pokazać lub ukryć kolorowe krzywe składowe, a następnie naciśnij Fit RBF, aby ponownie uruchomić k-średnie i najmniejsze kwadraty, lub New data, aby wygenerować nowe punkty treningowe.

💡 Czy wiesz, że?

Sieci RBF były jednymi z pierwszych praktycznych uniwersalnych aproksymatorów funkcji w uczeniu maszynowym, spopularyzowanymi pod koniec lat 80. Ponieważ centra warstwy ukrytej są znajdowane w sposób nienadzorowany (przez k-średnie), a jedynie wagi wyjściowe są dopasowywane metodą (liniowych) najmniejszych kwadratów, trenowanie sieci RBF jest znacznie tańsze niż propagacja wsteczna przez głęboką sieć neuronową o porównywalnej pojemności.

Najczęściej zadawane pytania

Czym jest sieć funkcji bazowych radialnych?

Sieć RBF to dwuwarstwowy model, który przybliża funkcję jako ważoną sumę funkcji „wybrzuszeń” Gaussa. Każda jednostka ukryta oblicza φⁱ(x) = exp(−|x−cⁱ|²/2σ²), wartość osiągającą szczyt 1, gdy x znajduje się w jej centrum cⁱ, i płynnie zanikającą do 0 w miarę oddalania się. Wyjście sieci to liniowa kombinacja ŷ = Σ wⁱ·φⁱ(x) tych wybrzuszeń, dzięki czemu może reprezentować gładkie krzywe, nakładając na siebie wiele zlokalizowanych funkcji Gaussa.

Jak faktycznie obliczane są centra i wagi?

Symulacja dobiera centra w dwóch etapach, odzwierciedlając klasyczny przepis treningu RBF. Najpierw klasteryzacja k-średnich działa na wartościach x zbioru treningowego przez maksymalnie 50 iteracji, przypisując każdy punkt do najbliższego centrum i uśredniając je na nowo, aż centra się ustabilizują — to ustala, gdzie znajduje się każda funkcja Gaussa. Następnie, przy ustalonych centrach i szerokości, wagi wyjściowe znajdowane są przez rozwiązanie liniowego problemu najmniejszych kwadratów (ΦᵀΦ)w = Φᵀy metodą eliminacji Gaussa, gdzie Φ to macierz aktywacji funkcji bazowych. Niewielki wyraz grzbietowy (1e-6) dodawany jest do przekątnej wyłącznie w celu zachowania stabilności numerycznej.

Co kontrolują suwaki N i σ?

N ustala, ile funkcji bazowych Gaussa (a tym samym centrów k-średnich) wykorzystuje sieć, od 2 do 30. σ kontroluje szerokość każdego wybrzuszenia Gaussa: małe σ czyni każdą funkcję bazową wąską i silnie zlokalizowaną, pozwalając sieci dopasować ostre lokalne szczegóły, ale ryzykując przeuczenie na zaszumionych danych; duże σ czyni wybrzuszenia szerokimi i nakładającymi się, dając gładsze, bardziej uśrednione dopasowanie, które może niedopasować ostrych cech, takich jak funkcja skokowa.

Co mówią mi MSE i R² o dopasowaniu?

Błąd średniokwadratowy (MSE) to średnia kwadratów różnic między rzeczywistą wartością y każdego punktu treningowego a predykcją sieci — im niższy, tym ściślejsze dopasowanie. R² (współczynnik determinacji) porównuje ten błąd resztowy z wariancją samych danych, więc podaje, jaką część zmienności celu wyjaśnia model: wartości bliskie 1 oznaczają, że dopasowana krzywa ściśle śledzi dane, a niskie lub ujemne wartości oznaczają słabe dopasowanie, co zwykle zdarza się, gdy N jest zbyt małe lub σ jest ustawione zbyt duże lub zbyt małe dla wybranego zbioru danych.

Dlaczego k-średnie czasami rozmieszczają centra nierównomiernie?

K-średnie inicjalizuje centra przez losowe próbkowanie punktów z danych treningowych, a następnie iteracyjnie przypisuje każdy punkt do najbliższego centrum i przesuwa każde centrum do średniej przypisanych mu punktów. Ponieważ początkowe centra są losowe, a algorytm gwarantuje jedynie zbieżność do optimum lokalnego, centra mogą skupiać się gęściej tam, gdzie dane treningowe są gęstsze (na przykład w pobliżu szybkich oscylacji zbioru chirp), a rzadziej gdzie indziej — to oczekiwane zachowanie, a nie błąd, i dlatego naciśnięcie „New data” lub ponowne dopasowanie może za każdym razem nieznacznie przesunąć pozycje wybrzuszeń.

Podobne symulacje