🧮 Computational Mathematics

Inicio · Parte 14 — Matemática de Machine Learning

290 — Kernel trick

ml-avanzado clase 10 de 20 4 horas demostración kernel_trick

El kernel calcula el producto escalar en el espacio expandido sin construirlo nunca.

Fórmulas

K(a,b) = φ(a)ᵀφ(b)
kernel polinómico: K(a,b) = (aᵀb + c)^d
kernel RBF: K(a,b) = exp(−γ‖a−b‖²)

Desarrollo

Cuando los datos no son linealmente separables, una salida es transformarlos a un espacio de mayor dimensión donde sí lo sean. El problema es que ese espacio crece muy rápido: un polinomio de grado 3 sobre 100 características genera del orden de 170 000 términos, y calcularlos explícitamente es inviable.

El kernel trick observa que muchos algoritmos —SVM, PCA, regresión ridge— solo usan los datos a través de productos escalares. Si existe una función K(a,b) que devuelve directamente el producto escalar en el espacio expandido, nunca hace falta construir ese espacio. Se sustituyen los productos escalares por llamadas al kernel y todo funciona.

El ejemplo mínimo lo hace evidente: para el kernel polinómico de grado 2, calcular (aᵀb)² cuesta una multiplicación y una potencia, mientras que expandir a φ y hacer el producto en el espacio expandido cuesta bastante más y da exactamente el mismo número.

El caso extremo es el kernel RBF, que corresponde a un espacio de características de dimensión infinita y aun así se evalúa con una exponencial. El teorema de Mercer caracteriza qué funciones son kernels válidos: aquellas cuya matriz de Gram es siempre semidefinida positiva. Toda la maquinaria de los procesos gaussianos se apoya en esta misma idea.

Ejemplo trabajado

Kernel polinómico de grado 2 frente al espacio expandido.

a = (1, 2)       b = (3, 4)

Expansión explícita:
  φ(x) = (x₁², √2·x₁x₂, x₂²)
  φ(a) = (1,0 ; 2,828427 ; 4,0)
  φ(b) = (9,0 ; 16,970563 ; 16,0)

producto en el espacio expandido:
  1·9 + 2,828427·16,970563 + 4·16 = 121,0

Kernel directo:
  (aᵀb)² = (1·3 + 2·4)² = 11² = 121,0

Coinciden                                            ✓

Con d = 3 y 100 características, la expansión tendría
unos 170 000 términos; el kernel sigue costando lo mismo.

Qué calcula el laboratorio

El kernel calcula el producto punto sin construir el espacio.

python classes/part-14-matematica-de-machine-learning/290-kernel-trick/lab.py
compmath run 290

Salidas del laboratorio (11)

Muestra de la ejecución real

{
  "a": [
    1.0,
    2.0
  ],
  "b": [
    3.0,
    4.0
  ],
  "phi(a)": [
    1.0,
    2.828427,
    4.0
  ],
  "producto_en_el_espacio_expandido": 121.0,
  "kernel_polinomico_(aᵀb)²": 121.0,
  "coinciden": true
}

Errores comunes

Dónde se usa

SVM no lineales, procesos gaussianos, PCA con kernel, métodos espectrales y análisis de similitud entre estructuras complejas.

Idea rectora de la parte

El leakage produce métricas excelentes y modelos inútiles.

Error a evitar

No estandarizar antes de aplicar regularización o k-NN.

Conexión con IA

Estos algoritmos siguen siendo la línea base honesta contra la que se debe comparar cualquier modelo profundo.

Bibliografía de la clase

Archivos de la clase