Jądro jest sposobem na obliczenie iloczynu kropkowego dwóch wektorów i w pewnej (prawdopodobnie bardzo wysoko wymiarowej) przestrzeni cech, dlatego funkcje jądra są czasem nazywane „uogólnionym produktem kropkowym”.yxy
Załóżmy, że mamy mapowanie które przenosi nasze wektory w do przestrzeni funkcji . Zatem iloczynem kropkowym i w tej przestrzeni jest . Jądro jest funkcją która odpowiada temu iloczynowi, tj. .R n R m x y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )φ:Rn→RmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)
Dlaczego to jest przydatne? Jądra umożliwiają obliczanie produktów punktowych w pewnym obszarze funkcji, nawet nie wiedząc, co to jest przestrzeń i co to jest .φ
Na przykład rozważmy proste wielomianowe jądro z . To nie wydaje się odpowiadać żadnej funkcji mapowania , to tylko funkcja, która zwraca liczbę rzeczywistą. Zakładając, że i , to wyrażenie:x , y ∈ R 2 φ x = ( x 1 , x 2 ) y = ( y 1 , y 2 )k(x,y)=(1+xTy)2x,y∈R2φx=(x1,x2)y=(y1,y2)
k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x21y21+x22y22+2x1y1+2x2y2+2x1x2y1y2
Zauważ, że to nic innego jak iloczyn kropkowy między dwoma wektorami i i . Zatem jądro oblicza iloczyn iloczynu w Przestrzeń 6-wymiarowa bez wyraźnego odwiedzania tej przestrzeni.(1,y 2 1 ,y 2 2 , √(1,x21,x22,2–√x1,2–√x2,2–√x1x2)cp(x)=φ(x1,x2)=(1,x 2 1 ,x 2 2 , √(1,y21,y22,2–√y1,2–√y2,2–√y1y2)k(x,y)=(1+ x Ty)2=φ(x)Tφ(y)φ(x)=φ(x1,x2)=(1,x21,x22,2–√x1,2–√x2,2–√x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)
Innym przykładem jest jądro gaussowskie . Jeśli Taylor rozszerzy tę funkcję, zobaczymy, że odpowiada ona nieskończenie wymiarowej kodomenie .k(x,y)=exp(−γ∥x−y∥2)φ
Na koniec poleciłbym internetowy kurs „Uczenie się z danych” profesora Yasera Abu-Mostafy jako dobre wprowadzenie do metod opartych na jądrze. W szczególności wykłady „Obsługują maszyny wektorowe” , „Metody jądra” i „Funkcje radialnej podstawy” dotyczą jąder.