El núcleo es una forma de calcular el producto escalar de dos vectores e y en algún espacio de características (posiblemente de muy alta dimensión), por lo que las funciones del núcleo a veces se denominan "producto escalar generalizado".xy
Supongamos que tenemos un mapeo que trae nuestros vectores en R n a algún espacio de características. Entonces, el producto escalar deyen este espacio es. Un núcleo es una funciónque corresponde a este producto escalar, es decir,.φ:Rn→RmRnx y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )Rmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)
¿Por qué es útil esto? Los núcleos dan una manera de calcular productos de puntos en algún espacio de características sin siquiera saber qué es este espacio y qué es .φ
Por ejemplo, considere un núcleo polinomial simple con . Esto no parece corresponder a ninguna función de mapeo , es solo una función que devuelve un número real. Suponiendo que y , esta expresión: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
Tenga en cuenta que esto no es más que un producto de punto entre dos vectores y y . Entonces el kernel calcula un producto de puntos en Espacio de 6 dimensiones sin visitar explícitamente este espacio.(1,y 2 1 ,y 2 2 , √(1,x21,x22,2–√x1,2–√x2,2–√x1x2)φ(x)=φ(x1,x2)=(1,x(1,y21,y22,2–√y1,2–√y2,2–√y1y2)k(x,y)=(1+ x Tφ(x)=φ(x1,x2)=(1,x21,x22,2–√x1,2–√x2,2–√x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)
Otro ejemplo es el kernel gaussiano . Si expandimos Taylor esta función, veremos que corresponde a un codominio de dimensiones infinitas de .k(x,y)=exp(−γ∥x−y∥2)φ
Finalmente, recomendaría un curso en línea "Aprendiendo de los datos" del profesor Yaser Abu-Mostafa como una buena introducción a los métodos basados en el núcleo. Específicamente, las conferencias "Máquinas de vectores de soporte" , "Métodos del núcleo" y "Funciones de base radial" tratan sobre los núcleos.