Zrozumienie parametrów funkcji podstawy Gaussa do zastosowania w regresji liniowej

12

Chciałbym zastosować funkcję bazową Gaussa do implementacji regresji liniowej. Niestety trudno mi zrozumieć kilka parametrów funkcji podstawowej. W szczególności i .μσ

Mój zestaw danych to macierz 10 000 x 31. 10 000 próbek i 31 funkcji. Przeczytałem, że „Każda funkcja podstawowa przekształca wektor wejściowy x w wartość skalarną”. Zakładam więc, że x to 1 próbka, a więc wektor 1 x 31. Stąd jestem zdezorientowany. Czym dokładnie jest parametr ? Czytałem, że to rządzi lokalizacjami podstawowych funkcji. Czy to nie oznacza czegoś? Wyrzucają mnie także indeks dolny j ( i ), co sprawia, że ​​myślę o j-tym wierszu. Ale to nie wydaje się mieć sensu. Czy jest wektorem? Terazμjμϕμjσ„rządzi skalą przestrzenną”. Co to dokładnie jest? Widziałem niektóre implementacje, które próbują dla tego parametru wartości .1, .5, 2.5. Jak obliczane są te wartości? Robiłem badania i szukałem przykładów do nauki, ale jak dotąd nie byłem w stanie ich znaleźć. Każda pomoc lub kierunek są mile widziane! Dziękuję Ci.

użytkownik2743
źródło

Odpowiedzi:

11

Ponieważ jesteś zdezorientowany, pozwól mi zacząć od przedstawienia problemu i zadawania pytań jeden po drugim. Masz próbkę o wielkości 10.000 i każda próbka jest opisana przez wektor cech . Jeśli chcesz przeprowadzić regresję za pomocą radialnych funkcji bazowych Gaussa, to szukasz funkcji w postaci gdzie są podstawowymi funkcjami. W szczególności musisz znaleźć wagi , aby dla danych parametrów i zminimalizować błąd między a odpowiednią prognozą =xR31

f(x)=jwjgj(x;μj,σj),j=1..m
gimwjμjσjyy^f(x^) - zazwyczaj zminimalizujesz błąd najmniejszych kwadratów.

Czym dokładnie jest parametr J indeksu dolnego Mu?

Musisz znaleźć podstawowe funkcje . (Trzeba jeszcze ustalić liczbę ) Każda funkcja podstawą będzie miał i (także nieznane). dolny wynosi od do .mgjmμjσjj1m

Czy jest wektorem?μj

Tak, jest to punkt . Innymi słowy, jest to punkt gdzieś w przestrzeni cech i A musi być określony dla każdego z funkcji bazowych.R31μm

Czytałem, że to rządzi lokalizacjami podstawowych funkcji. Czy to nie oznacza czegoś?

Podstawowa funkcja jest wyśrodkowana na . Musisz zdecydować, gdzie są te lokalizacje. Więc nie, niekoniecznie jest to środek czegokolwiek (ale poniżej znajdziesz sposoby na określenie tego)jthμj

Teraz sigma, która „rządzi skalą przestrzenną”. Co to dokładnie jest?

σ jest łatwiejsza do zrozumienia, jeśli przejdziemy do samych podstawowych funkcji.

Pomaga myśleć o radialnych funkcjach podstawy Gaussa w niższych dimensonach, np. Mathbb lub . W Gaussowską radialną funkcją bazową jest po prostu dobrze znana krzywa dzwonowa. Dzwon może oczywiście być wąski lub szeroki. Szerokość jest określana przez - im większa tym węższy kształt dzwonu. Innymi słowy, skaluje szerokość kształtu dzwonu. Więc dla = 1 nie mamy skalowania. W przypadku dużego mamy znaczne skalowanie.R1R2R1σσσσσ

Możesz zapytać, jaki jest tego cel. Jeśli pomyślisz o dzwonku pokrywającym pewną część przestrzeni (linia w ) - wąski dzwonek zakrywa tylko niewielką część linii *. Punkty pobliżu środka dzwonu będą miały większą wartość . Punkty daleko od centrum będą miały mniejszą wartość . Skalowanie powoduje przesuwanie punktów dalej od środka - gdy dzwonek zwęża się, punkty będą znajdować się dalej od środka - zmniejszając wartośćR1xgj(x)gj(x)gj(x)

Każda funkcja podstawowa przekształca wektor wejściowy x w wartość skalarną

Tak, oceniasz funkcje podstawowe w pewnym momencie .xR31

exp(xμj222σj2)

W rezultacie otrzymujesz skalar. Wynik skalarny zależy od odległości punktu od centrum podanej przezi skalar .xμjxμjσj

Widziałem niektóre implementacje, które próbują dla tego parametru wartości .1, .5, 2.5. Jak obliczane są te wartości?

Jest to oczywiście jeden z interesujących i trudnych aspektów stosowania radialnych funkcji bazowych Gaussa. podczas przeszukiwania sieci znajdziesz wiele sugestii dotyczących sposobu określania tych parametrów. W bardzo prosty sposób przedstawię jedną możliwość opartą na grupowaniu. Możesz znaleźć tę i kilka innych sugestii online.

Zacznij od grupowania 10000 próbek (możesz najpierw użyć PCA do zmniejszenia wymiarów, a następnie grupowania k-Means). Możesz pozwolić, aby była liczbą znalezionych klastrów (zwykle stosując weryfikację krzyżową w celu ustalenia najlepszego ). Teraz utwórz radialną funkcję podstawową dla każdego skupienia. Dla każdej radialnej funkcji bazowej niech będzie środkiem (np. Średnią, centroidem itp.) Klastra. Niech odzwierciedla szerokość klastra (np. Promień ...) Teraz przejdź do regresji (ten prosty opis to tylko przegląd - wymaga dużo pracy na każdym kroku!)mmgjμjσj

* Oczywiście, krzywa dzwonowa jest zdefiniowana od - do więc będzie miała wartość wszędzie na linii. Jednak wartości daleko od centrum są znikome

martino
źródło
Niezła odpowiedź! Jednak szukając , nie kończymy z obsługą regresji maszyny wektorowej (z jądrem gaussa)? μ
O_Devinyak
@ O_Devinyak- Wiele metod ekspansji podstaw będzie wymagać pewnego rodzaju oszacowania parametrów. Istnieje wiele sposobów na znalezienie więc nie sądzę, że to koniecznie oznacza, że ​​redukujemy problem do SVR. Szczerze mówiąc, nie jestem ekspertem od SVR, ale funkcja straty, która jest zminimalizowana, jest z pewnością inna i jestem pewien, że wiele funkcji jest ignorowanych - to jest sposób na wektor wsparcia. W przypadku funkcji podstawowych używamy wszystkich funkcji do oceny, ale na szczęście kompaktowa obsługa oznacza, że ​​wiele funkcji podstawowych zwraca wartości pomijalne lub zerowe. W każdym razie byłoby to dobre pytanie na tym forumμ
martino
Dlaczego potrzebujemy skali zamiast macierzy kowariancji, która sprawiłaby, że funkcja podstawowa wyglądałaby jak wykładnicza część wielowymiarowego Gaussa? σj
stackunderflow
1

Pozwól, że spróbuję podać proste wyjaśnienie. W takim zapisie może być numerem wiersza, ale może być także numerem cechy. Jeśli napiszemy wówczas oznacza numer funkcji, to wektor kolumnowy, to skalar, a to kolumna -wektor. Jeśli napiszemy to oznacza numer wiersza, to skalar, to wektor kolumny, a to wektor wiersza. Notacja, w której oznacza wiersz, a oznacza kolumnę, jest bardziej powszechna, więc użyjmy pierwszego wariantu.jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)jyjβϕj(x)ij

Wprowadzając funkcję Gaussa do regresji liniowej, (skalar) zależy teraz nie od wartości liczbowych cech (wektor), ale od odległości między a środkiem wszystkich innych punktów . W ten sposób nie zależy od tego, czy -ta wartość cechy tej obserwacji jest wysoka czy mała, ale zależy od tego, czy ta wartość cechy jest bliska, czy daleka od średniej dla tej cechy . Więc nie jest parametrem, ponieważ nie można go dostroić. Jest to tylko właściwość zestawu danych. Parametryixixiμiyijijjμijμjσ2jest wartością skalarną, kontroluje gładkość i można ją dostroić. Jeśli jest mały, małe zmiany odległości będą miały duży wpływ (pamiętaj o stromych gaussach: wszystkie punkty znajdujące się już w niewielkiej odległości od centrum mają małe wartości ). Jeśli jest duży, niewielkie zmiany odległości będą miały niewielki wpływ (pamiętaj o płaskiej gaussowskiej: spadek wraz ze wzrostem odległości od centrum jest powolny). Należy poszukać optymalnej wartości (zwykle znajduje się ona przy weryfikacji krzyżowej).yyσ2

O_Devinyak
źródło
0

Funkcje podstawy Gaussa w ustawieniach wielowymiarowych mają centra wielowymiarowe. Zakładając, że twój , a następnie . Gaussian musi być wielowymiarowy, tj. gdzie to macierz kowariancji. Indeks nie jest składową wektora, jest tylko tym wektorem. Podobnie jest tą macierzą.xR31μjR31e(xμj)Σj1(xμj)ΣjR31×31jjΣjj

Karel Macek
źródło