Kernel ist eine Methode zur Berechnung des Skalarprodukts zweier Vektoren und in einem (möglicherweise sehr hochdimensionalen) Merkmalsraum, weshalb Kernelfunktionen manchmal als "generalisiertes Skalarprodukt" bezeichnet werden.yxy
Angenommen, wir haben eine Zuordnung von , die unsere Vektoren in zu einem Merkmalsraum bringt . Dann ist das Skalarprodukt von und in diesem Raum . Ein Kernel ist eine Funktion , die diesem Skalarprodukt entspricht, dh .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)
Warum ist das nützlich? Kernel bieten die Möglichkeit, Punktprodukte in einem bestimmten Funktionsbereich zu berechnen, ohne zu wissen, was dieser Bereich ist und was .φ
Betrachten Sie beispielsweise einen einfachen Polynomkern mit . Dies scheint keiner Zuordnungsfunktion zu entsprechen , es ist nur eine Funktion, die eine reelle Zahl zurückgibt. Angenommen, und , erweitern wir diesen Ausdruck: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
Beachten Sie, dass dies nichts anderes ist als ein Punktprodukt zwischen zwei Vektoren und und . Der Kernel berechnet also ein Skalarprodukt in 6-dimensionaler Raum, ohne diesen Raum explizit zu besuchen.(1,x21,x22,2–√x1,2–√x2,2–√x1x2)(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)
Ein anderes Beispiel ist der Gaußsche Kernel . Wenn wir diese Funktion nach Taylor erweitern, werden wir sehen, dass sie einer unendlich dimensionalen Codomäne von .k(x,y)=exp(−γ∥x−y∥2)φ
Abschließend würde ich einen Online-Kurs "Learning from Data" von Professor Yaser Abu-Mostafa empfehlen, um eine gute Einführung in kernelbasierte Methoden zu erhalten. In den Vorlesungen "Support Vector Machines" , "Kernel Methods" und "Radial Basis Functions" geht es insbesondere um Kernel.