Procesos gaussianos: cómo usar GPML para salida multidimensional


13

¿Hay alguna manera de realizar la regresión de proceso gaussiana en la salida multidimensional (posiblemente correlacionada) usando GPML ?

En el script de demostración solo pude encontrar un ejemplo de 1D.

Una pregunta similar sobre CV que aborda el caso de entrada multidimensional.


Revisé su libro para ver si podía encontrar algo. En el noveno capítulo de este libro (sección 9.1), han mencionado este caso de múltiples salidas. Han mencionado un par de formas de lidiar con esto, uno: usando un proceso de ruido correlacionado y dos: coacción (correlacionado anteriormente).

Todavía no sé cómo puedo incorporar cualquiera de estas ideas en el marco GPML.


Además, ¿hay otras bibliotecas / marcos GP que admitan la salida multidimensional?


"Predicción de datos estructurados" se refiere a la utilización de SVM en el caso de una clase (estimación de densidad de kernel) en Kernels conjuntos entre entrada y salida. Dado que ambas son máquinas kernel, este enfoque debería funcionar. Encontré un artículo mencionando algo similar. datamin.ubbcluj.ro/tr/2011/sogp.pdf mis intentos de ajustar algoritmos de aprendizaje estructurados han sido bastante abismales, por lo que no estoy seguro de cómo se acumula.
Jessica Collins

Respuestas:


7

Creo que Twin Gaussian Processes es exactamente lo que estás buscando. No puedo describir el modelo mejor que el resumen del documento en sí, así que solo voy a copiar y pegar:

Describimos procesos gaussianos gemelos (TGP) 1, un método genérico de predicción estructurada que utiliza procesos previos de Gauss (GP) previos [2] tanto en covariables como en respuestas, ambas multivariadas, y estima los resultados al minimizar la divergencia de Kullback-Leibler entre dos GP modelados como distribuciones normales sobre conjuntos de entrenamiento de índice finito y ejemplos de prueba, enfatizando el objetivo de que entradas similares deberían producir percepciones similares y esto debería mantenerse, en promedio, entre sus distribuciones marginales. TGP captura no solo las interdependencias entre covariables, como en un GP típico, sino también las respuestas entre ellos, por lo que se tienen en cuenta las correlaciones entre las entradas y las salidas. El TGP se ejemplifica, con resultados prometedores, para la reconstrucción de posturas humanas en 3D a partir de secuencias de video monoculares y multicámara en el punto de referencia HumanEva recientemente introducido, donde alcanzamos un error de 5 cm en promedio por marcador 3D para modelos entrenados conjuntamente, utilizando datos de múltiples personas y múltiples actividades. El método es rápido y automático: no requiere la elaboración manual de la pose inicial, los parámetros de calibración de la cámara o la disponibilidad de un modelo de cuerpo en 3D asociado con sujetos humanos utilizados para el entrenamiento o las pruebas.

Los autores han proporcionado generosamente códigos y conjuntos de datos de muestra para comenzar.


Bienvenido al sitio, @caoy. ¿Te importaría proporcionar un poco de información sobre lo que hay en ese enlace? De esa manera, los lectores podrían saber si vale la pena perseguirlos, y significaría que todavía hay algo de valor aquí en caso de futuros enlaces.
gung - Restablece a Monica

@gung, thx, espero que el resumen haga el trabajo.
Yanshuai Cao

@caoy ... ¿Puede explicar la media de distribución predictiva y la varianza de los resultados en los procesos gemelos gaussianos?
Sandipan Karmakar

3

Respuesta breve La regresión para la salida multidimensional es un poco complicada y, en mi nivel actual de conocimiento, no está directamente incorporado en la caja de herramientas GPML.

Respuesta larga Puede dividir su problema de regresión de salida multidimensional en 3 partes diferentes.

  1. Las salidas no están relacionadas entre sí : solo haga una regresión individual de las salidas, como el script de demostración para el caso 1d.
  2. Las salidas están relacionadas pero no conocen la relación entre ellas . Básicamente, le gustaría aprender las relaciones internas entre las salidas. Como el libro menciona, coKriging es una buena manera de comenzar. Existen otros softwares además de GPML que pueden permitirle directamente realizar cokriging, por ejemplo. ooDace
  3. Las salidas están relacionadas y usted conoce la relación entre ellas : realice una co-rigge regular pero puede aplicar restricciones duras entre las salidas ya sea aplicando las restricciones en el optimizador (mientras minimiza la probabilidad marginal de registro) como se dice en Hall & Huang 2001 o aplicar las relaciones en la función anterior como lo dijo Constantinescu y Anitescu 2013 .

Espero que ayude :)


2

Este es un módulo de scikit-learn que me funcionó sorprendentemente bien:

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html

# Instanciate a Gaussian Process model
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
                     random_start=100)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)

1

Estaba buscando procesos gaussianos de múltiples salidas y encontré muchas formas de actuar con ellos, como el método de convolución, el método de modelado de efectos mixtos y el último proceso gaussiano doble (TGP).

Tengo una duda sobre el concepto de procesos gemelos gaussianos (TGP). ¿Alguien me puede ayudar con eso?

En TGP, los autores están descubriendo la salida predicha ( ) minimizando la divergencia KL entre la entrada y la salida, y viceversa. Pero, en general, buscamos la distribución predictiva de la salida, es decir, . Una cosa a destacar aquí es que la varianza predictiva, es decir, , no tiene ningún papel en ella. En el caso de TGP, ¿la salida predicha es la misma que la media de la distribución predictiva de ? P(Y*|y)~(μ,σ2)σ2y Y yy^p(y|y)(μ,σ2)σ2yy^y

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.