Jestem raczej nowy w dziedzinie procesów gaussowskich i ich zastosowania w uczeniu maszynowym. Czytam i słyszę o funkcjach kowariancji będących główną atrakcją tych metod. Czy ktoś mógłby zatem w intuicyjny sposób wyjaśnić, co dzieje się w tych funkcjach kowariancji?
W przeciwnym razie możesz wskazać konkretny samouczek lub dokument wyjaśniający je.
Odpowiedzi:
Mówiąc luźniej, funkcja jądra lub kowariancji określa zależność statystyczną między dwoma punktami w przestrzeni wejściowej; to znaczy, jak wyraźnie zmiana wartości Procesu Gaussa (GP) przy koreluje ze zmianą GP przy . W pewnym sensie możesz myśleć o jako o podobieństwie między wejściami (*).x , x ′ x x ′ k ( ⋅ , ⋅ )k(x,x′) x,x′ x x′ k(⋅,⋅)
Typowe jądra mogą po prostu zależeć od odległości euklidesowej (lub jej liniowych przekształceń) między punktami, ale zabawa zaczyna się, gdy zdasz sobie sprawę, że możesz zrobić znacznie więcej.
Jak to ujął David Duvenaud:
Dla łatwego przeglądu jąder dla lekarzy ogólnych gorąco polecam jego książkę kucharską jądra i odnośniki do niej.
(*) Jak zauważa @Dikran Torbacz, strzeż się, że rozmowa nie jest prawdziwa; nie wszystkie wskaźniki podobieństwa są poprawnymi jądrami (patrz jego odpowiedź).
źródło
Jak @lacerbi sugeruje, że funkcja jądra (lub funkcja kowariancji w ustawieniu Procesu Gaussa) jest w zasadzie metryką podobieństwa, tak że wartość jądra jest wysoka, jeśli dwa wektory wejściowe są uważane za „podobne” zgodnie z potrzebami aplikacji i niższe, jeśli są odmienne. Jednak nie wszystkie wskaźniki podobieństwa są prawidłowymi funkcjami jądra. Aby być prawidłowym jądrem, funkcja musi być interpretowana jako obliczanie produktu wewnętrznego w pewnej przekształconej przestrzeni cech, tj. gdzie to funkcja mapująca wektory wejściowe w przestrzeń cech.ϕ ( ⋅ )K(x,x′)=ϕ(x)⋅ϕ(x′) ϕ(⋅)
Dlaczego więc jądro musi być interpretowane jako produkt wewnętrzny w pewnej przestrzeni funkcji? Powodem jest to, że o wiele łatwiej jest wyznaczyć teoretyczne granice wydajności uogólnienia dla modeli liniowych (takich jak regresja logistyczna) niż dla modeli nieliniowych (takich jak sieć neuronowa). Większość modeli liniowych można zapisać tak, aby wektory wejściowe pojawiały się tylko w postaci produktów wewnętrznych. Oznacza to, że możemy zbudować model nieliniowy, konstruując model liniowy w przestrzeni cech jądra. Jest to stała transformacja danych, więc wszystkie teoretyczne granice wydajności dla modelu liniowego automatycznie odnoszą się do nowego nieliniowego modelu jądra *.
Ważną kwestią, która na początku jest trudna do zrozumienia, jest to, że zwykle nie myślimy o przestrzeni funkcji, która byłaby dobra dla naszej konkretnej aplikacji, a następnie nie projektujemy jądra, z którego powstaje ta przestrzeń funkcji. Ogólnie rzecz biorąc, opracowujemy dobrą metrykę podobieństwa, a następnie sprawdzamy, czy jest to jądro (test jest prosty, jeśli jakakolwiek macierz parowych ocen funkcji jądra w punktach w pozycji ogólnej jest pozytywnie określona, to jest to prawidłowe jądro) .
źródło