Ajuste de hiperparámetros en la regresión del proceso gaussiano

13

KKij=k(xi,xj)=b-1exp(-1

log(y|X,θ)=12yTKy1y12log(det(K))n2log(2π)
KM=lIa,bl
Kij=k(xi,xj)=b1exp(12(xixj)TM(xixj))+a1δij
M=lIa,bl

La derivada parcial de los parámetros wrt de probabilidad marginal logarítmica está dada por los siguientes

log(y|X,θ)dθ=12trace(K1dKdθ)+12(ydKdθK1dKdθy)

Como las entradas de dependen de los parámetros, también lo hacen los derivados y inversa de . Esto significa que, cuando se emplea un optimizador basado en gradiente, la evaluación del gradiente en un punto dado (valor del parámetro) requerirá un nuevo cálculo de la matriz de covarianza. En mi aplicación, esto no es factible porque calcular la matriz de covarianza desde cero y calcular su inverso en cada iteración del ascenso de gradiente es demasiado costoso. Mi pregunta es ¿cuáles son mis opciones para encontrar una combinación bastante buena de estos tres parámetros? y tampoco sé qué parámetro optimizar primero y agradecería cualquier puntero sobre este tema también.KKK

bfaskiplar
fuente
He tenido éxito usando HMC para muestrear hiperparámetros GP para conjuntos de datos de tamaño modesto.
Sycorax dice Reinstate Monica
Hola @Sycorax, ¿podría decirnos cómo utilizó esta técnica para resolver este problema? Tengo el mismo problema que el OP preguntó y he estado pensando en usar MCMC para resolverlo, pero aún no sé cómo hacerlo.
Willian Fuks
Acabo de codificar el GP en Stan. Los hiperparámetros GP fueron declarados como parámetros del modelo e inferidos en consecuencia. Esto generó un conjunto de predicciones para cada iteración de HMC. Gelman ilustra cómo funciona todo esto en BDA3.
Sycorax dice Reinstate Monica

Respuestas:

6

Tiene razón en que necesita un nuevo cálculo de matriz de covarianza en cada iteración del ascenso de gradiente. Entonces, si el cálculo de la matriz no es factible para su configuración, entonces, creo, no puede usar la optimización de probabilidad marginal basada en gradiente.

Mi sugerencia es utilizar métodos sin gradiente para el ajuste de hiperparámetros, como la búsqueda de cuadrícula, la búsqueda aleatoria o la búsqueda basada en la optimización bayesiana . Estos métodos son ampliamente utilizados para la optimización de hiperparámetros de otros algoritmos de aprendizaje automático, por ejemplo, SVM.

Sugiero la búsqueda de cuadrícula para su primer intento. Básicamente, forma una tabla (cuadrícula) de posibles hiperparámetros, prueba cada uno y busca el mejor rendimiento de validación (o la mejor probabilidad marginal).

La búsqueda de cuadrícula produciría un conjunto subóptimo de hiperparámetros, y usted debe especificar la cuadrícula usted mismo (consejo: haga la cuadrícula en una escala logarítmica) pero se necesita mucho menos cálculo. (¡y no necesitas gradiente!)

Si no está familiarizado con la búsqueda de cuadrícula, puede buscar Wikipedia: Optimización de hiperparámetros - Búsqueda de cuadrícula

Sangwoong Yoon
fuente