Używam funkcji jądra RBF do implementacji jednego algorytmu uczenia maszynowego opartego na jądrze (KLPP), otrzymanej macierzy jądra jest bardzo źle uwarunkowany. Liczba stanów L2-norm wynosi 10 ^ {17} -10 ^ {64}
Czy jest jakiś sposób, aby uczynić go dobrze uwarunkowanym? Myślę, że parametr musi zostać dostrojony, ale nie wiem dokładnie.
Dzięki!
Odpowiedzi:
Zmniejszenie szerokości jądraσm zwykle zmniejsza liczbę warunków.
Jednak macierze jądra mogą stać się liczbą pojedynczą lub zbliżoną do liczby pojedynczej dla dowolnej funkcji bazowej lub rozkładu punktowego, pod warunkiem, że funkcje podstawowe nakładają się. Powód tego jest w rzeczywistości dość prosty:
Teraz wyobraź sobie, że wybierasz dwa punkty i i powoli obracasz je, aby zamieniały się miejscami. W tym czasie wyznacznik zmieni znak, stając się zerem w pewnym punkcie pomiędzy. W tym momencie jest z definicji liczbą pojedynczą.xi xj K K
źródło
Kilka sugestii:
Wybierz średni dystans | losowe - najbliższe . (Niedrogie przybliżenie punktów równomiernie rozmieszczonych w sześcianie jednostkowym w , wynosi 0,5 / .) Chcemy być duży dla pobliżu , mały dla szumu tła; narysuj to dla kilku losowych .σ∼ x xi N Rd,d 2..5 N1/d
ϕ(|x−xi|) xi x x
Przesuń od 0, , lub mniej więcej; to znaczy, ureguluj.K K→K+λI λ∼10−6
Spójrz na wagi z rozwiązywania . Jeśli niektóre nadal są ogromne (niezależnie od liczby warunków), to raczej potwierdza Boyda (poniżej), że Gaussowski RBF jest zasadniczo słaby.(K+λI)w=f
(Jedną alternatywą dla RBF jest ważenie w odwrotnej odległości, IDW. Ma tę zaletę, że automatyczne skalowanie, to samo dla najbliższych odległości 1 2 3 jak dla 100 200 300 Również znajduję wyraźny wybór użytkownika , liczba bliskich sąsiadów do rozważenia, jaśniejsze niż wyszukiwanie siatki w .)… … Nnear σ,λ
John P. Boyd, Bezużyteczność szybkiej transformaty Gaussa do sumowania szeregów funkcji radialnej podstawy Gaussa , mówi
Mam nadzieję że to pomoże; podziel się swoim doświadczeniem.
źródło