Funciones de covarianza o núcleos: ¿qué son exactamente?

13

Soy bastante nuevo en el campo de los procesos gaussianos y cómo se están aplicando en el aprendizaje automático. Sigo leyendo y escuchando sobre las funciones de covarianza que son la atracción principal de estos métodos. Entonces, ¿alguien podría explicar de manera intuitiva lo que está sucediendo en estas funciones de covarianza?

De lo contrario, si pudiera señalar un tutorial o documento específico que los explique.

AnarKi
fuente
Capítulo 4. gaussianprocess.org/gpml '
Sycorax dice Reinstate Monica el
Si esto es principalmente un problema de solicitud de referencia, puede agregar la etiqueta "referencias". (La pregunta es bastante amplia, pero si acepta la gente apuntando a lo que debe ir a leer, esto resuelve en gran medida esta cuestión.)
pececillo de plata

Respuestas:

12

En términos sueltos, una función de núcleo o covarianza especifica la relación estadística entre dos puntos en su espacio de entrada; es decir, cuán notablemente un cambio en el valor del Proceso Gaussiano (GP) en correlaciona con un cambio en el GP en . En cierto sentido, puede pensar en como la definición de una similitud entre las entradas (*).k(x,x)x,xxxk(,)

Los núcleos típicos pueden simplemente depender de la distancia euclidiana (o las transformaciones lineales de los mismos) entre puntos, pero la diversión comienza cuando te das cuenta de que puedes hacer mucho, mucho más.

Como dice David Duvenaud:

Los núcleos se pueden definir sobre todo tipo de estructuras de datos: texto, imágenes, matrices e incluso núcleos. Encontrar un núcleo en un nuevo tipo de datos solía ser una manera fácil de obtener un documento NIPS.

Para obtener una descripción general sencilla de los núcleos para GP, recomiendo encarecidamente su Kernel Cookbook y sus referencias.


(*) Como señala @Dikran Marsupial, tenga en cuenta que lo contrario no es cierto; no todas las métricas de similitud son núcleos válidos (ver su respuesta).

lacerbi
fuente
8

Como @lacerbi sugiere que una función del núcleo (o función de covarianza en un entorno de proceso gaussiano) es esencialmente una métrica de similitud, de modo que el valor del núcleo es alto si los dos vectores de entrada se consideran "similares" de acuerdo con las necesidades de la aplicación y más bajo si son diferentes. Sin embargo, no todas las métricas de similitud son funciones válidas del núcleo. Para ser un núcleo válido, la función debe ser interpretable como calcular un producto interno en algún espacio de características transformado, es decir, donde es una función que asigna los vectores de entrada al espacio de características.ϕ ( )K(x,x)=ϕ(x)ϕ(x)ϕ()

Entonces, ¿por qué el núcleo debe ser interpretable como un producto interno en algún espacio de características? La razón es que es mucho más fácil idear límites teóricos en el rendimiento de generalización para modelos lineales (como la regresión logística) que para modelos no lineales (como una red neuronal). La mayoría de los modelos lineales se pueden escribir para que los vectores de entrada solo aparezcan en forma de productos internos. Esto significa que podemos construir un modelo no lineal construyendo un modelo lineal en el espacio de características del núcleo. Esta es una transformación fija de los datos, por lo que todos los límites de rendimiento teórico para el modelo lineal se aplican automáticamente al nuevo modelo no lineal del núcleo *.

Un punto importante que es difícil de comprender al principio es que tendemos a no pensar en un espacio de características que sería bueno para nuestra aplicación particular y luego diseñar un núcleo que dé lugar a ese espacio de características. En general, obtenemos una buena métrica de similitud y luego vemos si es un núcleo (la prueba es sencilla, si alguna matriz de evaluaciones por pares de la función del núcleo en puntos en posición general es positiva definida, entonces es un núcleo válido) .

Por supuesto, si ajusta los parámetros del kernel para optimizar el rendimiento de la generalización, por ejemplo, minimizando el error de validación cruzada, ya no es una transformación fija, sino una que se ha aprendido de los datos y gran parte de la hermosa teoría simplemente ha sido invalidado Entonces, en la práctica, aunque el diseño de los métodos del núcleo tiene mucha teoría tranquilizadora detrás de ellos, los límites en sí mismos generalmente no se aplican a las aplicaciones prácticas, pero aún así es tranquilizador ya que existen principios sólidos que sustentan el modelo.

Dikran Marsupial
fuente
1
"un núcleo (la prueba es sencilla, si alguna matriz de evaluaciones por pares de la función del núcleo es positiva definida, entonces es un núcleo válido)". Creo que debe incluir "en puntos distintos".
Mark L. Stone el