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?
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?
Odpowiedzi:
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ą.
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 R
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.
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:
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.