Gradiente de log-verosimilitud gaussiana multivariante

8

Estoy tratando de encontrar la estimación MAP para un modelo por gradiente de descenso. Mi anterior es gaussiano multivariante con una matriz de covarianza conocida.

A nivel conceptual, creo que sé cómo hacer esto, pero esperaba ayuda con los detalles. En particular, si hay una manera más fácil de abordar el problema, entonces sería especialmente útil.

Esto es lo que creo que debo hacer:

  • Para cada dimensión, encuentre la distribución condicional, dada mi posición actual en las otras dimensiones.
  • Esto me da un Gaussiano univariado local en cada dimensión, con la media correcta y la desviación estándar.
  • Creo que el gradiente debería ser un vector de derivadas para cada una de estas distribuciones univariadas.

Mi pregunta tiene dos partes:

  1. ¿Es este el mejor enfoque o hay una manera más fácil?
  2. Suponiendo que necesito ir por esta ruta, ¿cuál es la mejor manera de encontrar estas distribuciones condicionales?
David J. Harris
fuente
¿Hay alguna razón por la que quieras hacer esto con el gradiente de descenso? Encontrar el MAP de un MVN con algunos sonidos anteriores es un problema bastante bien estudiado. Dado que el MVN se autoconjuga, incluso debería ser posible un enfoque completamente bayesiano.
bayerj
@bayerj Buena pregunta. El anterior es MVN, pero la probabilidad no lo es. Creo que eso limita mis opciones.
David J. Harris
Ah ok, no entendí eso.
bayerj

Respuestas:

8

¿Qué pasa con la optimización?

A ver si te entiendo correctamente. Tiene un modelo condicionado a alguna observación un conjunto de parámetros y un anterior que conduce a una probabilidad conjunta de . Los parámetros se distribuyen de acuerdo con una normal multivariada conocida, es decir, . Desea encontrar la solución MAP para este problema, es decir, Un caso especial de este problema está bien estudiado en la comunidad de redes neuronales, conocida como pérdida de peso. En ese caso, y .pags(yEl |X,θ)Xθpags(θ)L=pags(yEl |X,θ)pags(θ)θnorte(μ,Σ)

argmaxθL.
μ=0 0Σ=yoσ2

Como ya señaló, el truco es que . Cuando tomas el logaritmo de la densidad gaussiana, se desvanecen muchos términos feos (el exponencial) y terminarás con algo como . Si diferencia eso, las identidades de la matriz de Sam Roweis serán útiles y le permitirán llegar aargmaxθL=argmaxθIniciar sesiónLIniciar sesiónpags(θ)=12(θ-μ)TΣ-1(θ-μ)+const

12(θ-μ)TΣ-1(θ-μ)θ=Σ-1(θ-μ).

(Verifique, esto se hizo rápidamente y en mi cabeza). Junto con los derivados de su modelo, puede usar optimizadores listos para usar para llegar a una solución MAP.

Actualización : Comentario incorporado de David J. Harris. Las fórmulas deberían ser correctas ahora.

bayerj
fuente
(+1) Esto se ve exactamente como lo que necesito. Voy a hacer un poco de verificación esta tarde y luego presionaré la casilla de verificación "aceptar" si todo funciona. ¡Gracias!
David J. Harris
Olvidé agregar: si su modelo es simple (es decir, lineal en los parámetros), igualar la derivada de la probabilidad de registro con cero y resolver para podría incluso funcionar. θ
bayerj
He jugado un poco con esto numéricamente, y creo que es un factor de 2, pero por lo demás es correcto. ¿Tal vez se cancela con el de la fórmula para la densidad normal multivariante? ¡Gracias de nuevo! 1/ /2
David J. Harris
Eso debería ser, sí. ¡Me habia olvidado de eso!
bayerj
1
Cabe señalar que un previo gaussiano multivariado personalizado (con matriz de covarianza no diagonal) define la regularización de Tikhonov
Artem Sobolev
0

Si la probabilidad no es gaussiana, no es posible decir si hay resultados analíticos. Además, la segunda viñeta es incorrecta en general. Dado que la probabilidad gaussiana previa y general no permite distribuciones gaussianas condicionales en los componentes del vector.

Una forma de obtener el MAP sería hacer un análisis bayesiano completo, por ejemplo, usando MCMC y usar las muestras de la parte posterior para estimarlo. [En cuyo caso, tendrías mejor información disponible que solo usar el MAP.] Sin interés, ¿por qué no seguir esta ruta de todos modos?

Otro enfoque podría ser hacerlo (no he visto esto en general, así que alguien corríjame si está loco):

pags(θEl |X)=pags(XEl |θ)pags(θ)pags(X)

l(θEl |X)=l(XEl |θ)+l(θ)-l(X)

rel(θEl |X)reθ=rel(XEl |θ)reθ+rel(θ)reθ=0 0

Luego resuelve para θ (probablemente numéricamente).

conjeturas
fuente
Gracias por tu contribución. Puede que no haya sido claro: en este momento, solo estoy interesado en encontrar el gradiente para el anterior. El gradiente del log-posterior es solo el gradiente del log-verosimilitud más el gradiente del log-prior, por lo que encontrar estos dos gradientes por separado debería estar bien.
David J. Harris
1
Ehm, tu propuesta para resolver θnuméricamente es ... el enfoque básico. ¿De qué otra forma se supone que uno debe optimizar la función objetivo sin encontrar una raíz de un gradiente?
Artem Sobolev