Co to jest jądro i co odróżnia je od innych funkcji

13

Wydaje się, że istnieje wiele algorytmów uczenia maszynowego, które opierają się na funkcjach jądra. SVM i NN, żeby wymienić tylko dwa. Więc jaka jest definicja funkcji jądra i jakie są wymagania, aby była ona ważna?

Franck Dernoncourt
źródło
5
Nie powiedziałbym, że NN-y polegają na funkcjach jądra - opierają się na funkcji transferu w celu osiągnięcia nieliniowości, ale to nie to samo, co funkcja jądra
tdc

Odpowiedzi:

11

Dla x, y na S niektóre funkcje K (x, y) można wyrazić jako iloczyn wewnętrzny (zwykle w innej przestrzeni). K jest często nazywane jądrem lub funkcją jądra. Jądro słowa używane jest w matematyce na różne sposoby, ale jest to najczęściej używane w uczeniu maszynowym.

Sztuczka jądra jest sposobem mapowania obserwacji z ogólnego zestawu S do wewnętrznej przestrzeni produktu V (wyposażonej w jego naturalną normę), bez konieczności jawnego obliczania mapowania, w nadziei, że obserwacje uzyskają znaczącą strukturę liniową w V Jest to ważne pod względem wydajności (bardzo szybkie obliczanie produktów punktowych w przestrzeni o bardzo dużych wymiarach) i praktyczności (możemy przekonwertować algorytmy liniowe ML na algorytmy nieliniowe ML).

Aby funkcja K została uznana za prawidłowe jądro, musi spełniać warunki Mercer . W praktyce oznacza to, że musimy zadbać o to, aby macierz jądra (obliczanie iloczynu każdego punktu danych, który posiadasz) zawsze będzie dodatnia na półokreślona. Zapewni to wypukłość funkcji celu treningowego, co jest bardzo ważną właściwością.

carlosdc
źródło
Dzięki @carlosdc, ale obawiam się, że próbujesz nauczyć tego starego psa nowych sztuczek. Wiele z tego jest ponad moją głową. Czytam warunki Mercera, ale ich znaczenie w prawdziwym świecie jest dla mnie zatracone. Zakładam z powyższego, że całka jądra musi być ograniczona do skończonej wartości. Czy to założenie jest prawidłowe?
1
Część, w której cel jest wypukły, jeśli matrycą jądra jest PSD, zależy od celu. Dotyczy to SVM, ale w procesach Gaussa chodzi o to, że macierz jądra jest prawidłową macierzą kowariancji, a zatem odwracalną.
bayerj
2

Z Williams, Christopher KI i Carl Edward Rasmussena. „ Gaussowskie procesy uczenia maszynowego ”. MIT Press 2, no. 3 (2006). Str . 80 .

jądro = funkcja dwóch argumentów odwzorowujących parę danych wejściowych , w .x X RxXxXR

Również kernel = funkcja jądra.

Jądra używane w algorytmach uczenia maszynowego zwykle spełniały więcej właściwości, na przykład były dodatnimi półfinałami.

Franck Dernoncourt
źródło
2

Zamierzam spróbować mniej technicznych wyjaśnień.

Najpierw zacznij od iloczynu kropkowego między dwoma wektorami. To mówi ci, jak „podobne” są wektory. Jeśli wektory reprezentują punkty w zbiorze danych, iloczyn skalarny informuje, czy są one podobne, czy nie.

Ale w niektórych (wielu) przypadkach iloczyn punktowy nie jest najlepszą miarą podobieństwa. Na przykład:

  • Być może punkty, które mają produkty o niskiej kropce, są podobne z innych powodów.
  • Możesz mieć elementy danych, które nie są dobrze reprezentowane jako punkty.

Zamiast używać produktu kropkowego, używasz „jądra”, które jest tylko funkcją, która bierze dwa punkty i daje miarę ich podobieństwa. Nie jestem w 100% pewien, jakie warunki techniczne musi spełniać funkcja, aby technicznie być jądrem, ale taki jest pomysł.

Jedną bardzo fajną rzeczą jest to, że jądro może pomóc w wprowadzeniu wiedzy o domenie do problemu w tym sensie, że można powiedzieć, że dwa punkty są takie same z powodu xyz powodu, który pochodzi z wiedzy o domenie.

okrągły kwadrat
źródło