5 votos

Ayuda con Bayes Variacional en un modelo de regresión lineal ponderada

Estoy tratando de configurar VB para hacer una regresión lineal ponderada para las observaciones del vector. Mi configuración es que tengo $N$ números de $d$ -Observaciones vectoriales de dimensión. Me gustaría modelar el ruido como independiente para una observación de salida, pero me gustaría que cada punto tuviera su propia varianza. En vista de ello, mi modelo es el siguiente:

$$ y_i \sim \mathcal{N}(T(x_i; \beta), \frac{\sigma^2}{w_i} {\textbf{I}}) \\ \beta \sim \mathcal{N} (\beta_{0}, \Sigma_{0}) \\ w_i \sim \mathcal{G} (a, b) \\ $$

Aquí $y_i$ es el que $d$ -Observaciones de salida de la dimensión y $x_i$ es la variable independiente correspondiente. Están relacionadas por alguna transformación $T$ que está parametrizado por $\beta$ . La varianza de salida para un punto $i$ se escala por $w_i$ y $\sigma^2$ es una varianza global determinada.

El modelo conjunto completo puede escribirse como

$$ p(\beta, w, y |x) = \prod_{i=1}^{N} \bigg[p(y_i|x_i, w_i, H) \ p(w_i)\bigg] \ p(\beta) $$

Aplicando la aproximación del campo medio $Q(w, \beta) = Q(w)Q(\beta)$ y obtener la distribución óptima para $w_i$ tenemos que tomar la expectativa con respecto al $\beta$ parámetros. Podemos trabajar con el logaritmo para simplificar un poco las cosas

$$ \ln q(w^*) = \bigg\langle \ln \prod_{i=1}^{N} \bigg[p(y_i|x_i, w_i, \beta) \ p(w_i)\bigg] \ p(\beta)\bigg\rangle_{\beta} \\ =\bigg\langle \ln \prod_{i=1}^{N} \bigg[p(y_i|x_i, w_i, H) \ p(w_i)\bigg]\bigg\rangle_{\beta} + C $$

Ahora, miramos el término $p(y_i|x_i, w_i, H) \ p(w_i)$ con más detalle. Ampliando tenemos:

$$ \prod_{i=1}^{N} \frac{1}{\sqrt{2 \pi}} \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-\frac{1}{2}} \exp \bigg(-0.5 \times [y_i - T(x_i)]^T \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-1} \ [y_i - T(x_i)]\bigg) \ \bigg(\frac{b^a}{\Gamma(a)} w_i^{a-1} \exp{(-b w_i)}\bigg) $$

Eliminando las constantes obtenemos:

$$ \propto \prod_{i=1}^{N} \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-\frac{1}{2}} \exp \bigg(-0.5 \times [y_i - T(x_i)]^T \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-1} \ [y_i - T(x_i)]\bigg) \bigg(w_i^{a-1} \exp{(-b w_i)}\bigg) \\ $$

Reuniendo algunos términos similares obtenemos:

$$ \propto \prod_{i=1}^{N} \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-\frac{1}{2}} \ w_i^{a-1} \exp \bigg(-0.5 \times [y_i - T(x_i)]^T \big(\frac{\sigma^2}{w_i} {\textbf{I}}\big)^{-1} \ [y_i - T(x_i)] - b w_i\bigg) $$

No estoy seguro de si debería simplificar más esto y tratar de absorber el escalar $w_i$ s en los términos de la matriz pero sigue sin ayudarme de alguna manera.

Ahora tengo dos problemas. Esperaba que en este punto, esto empezara a parecerse a alguna distribución conocida. Se parece a alguna distribución Gamma tal vez, pero no estoy seguro de cómo puedo simplificar para conseguir que en esa forma.

Mi segunda cuestión es que después de haber hecho eso, tengo que seguir tomando la expectativa con respecto a $Q(\beta)$ y no estoy seguro de cómo hacerlo.

Cualquier indicación sobre cómo proceder a continuación sería muy apreciada.

[EDITAR] He estado pensando en esto. Estoy asumiendo que puedo escribir el modelo conjunto para cada $i$ término como:

$$ p(y_i, w_i, \beta|x_i) = \prod_{i=1}^{N}p(y_i|x_i, w_i, \beta) p(w_i) \frac{p(\beta)}{N} $$

Ahora, por ejemplo, al calcular la distribución para $w_i$ con la aproximación del campo medio, tengo que tomar la expectativa wrt a $\beta$ . Así que, ampliando esto, tengo:

$$ \propto \sqrt{w_i} \exp{\bigg(-[y_i - T(x_i, \beta)]^T w_i [y_i - T(x_i, \beta)]\bigg)} \\ \bigg( w_i^{a-1} \exp{(-b w_i)}\bigg) \exp{\bigg(-(\beta - \beta_0)^T \Sigma_{ 0}(\beta - \beta_0) \bigg)} $$

Ahora, las dos primeras exponenciales se juntan muy bien para hacer una distribución Gamma y no estoy seguro de cómo manipular la última exponencial para que la posterior sobre $w_i$ consigue una buena forma.

1voto

Guillaume Dehaene Puntos 740

El Bayes variacional es una bestia complicada, porque a menudo está muy mal explicado. Espero poder hacer un trabajo satisfactorio.

El método bayesiano variacional parte del límite inferior variacional. Es cierto que, para cualquier distribución de probabilidad $q$

$$ \forall q, \log ( \int p ) \geq \int q \log ( \frac{p}{q} ) $$

Esto se obtiene simplemente aplicando la desigualdad de Jensen sobre la función cóncava $\log$ . La q óptima es, por supuesto, la versión normalizada de $p$ :

$$ q^\star = \frac{p}{\int p} $$

Una idea básica que es compartida por un montón de métodos ligeramente diferentes (que son todos referidos como "bayas variacionales" en un completo abuso del lenguaje) es entonces maximizar la cantidad de la derecha para $q \in \mathcal Q$ restringido a un subconjunto de todas las distribuciones de probabilidad $\mathcal Q$ . Permítanme enumerar algunas opciones populares:

  • lo que estás haciendo aquí: $\mathcal Q$ es el espacio de todas las distribuciones de probabilidad que se factorizan de una manera determinada. No sé cómo llamar a este método, aunque creo que se suele llamar VB-EM (?). Esto sólo funciona en algunos casos muy especializados: sólo cuando los valores esperados que se esfuerzan por calcular dan distribuciones de probabilidad simples

  • utilizando una familia de aproximación simple: por ejemplo $\mathcal Q$ es todas las distribuciones gaussianas, o todas las distribuciones gaussianas que se factorizan de una manera determinada. Este método variacional es mucho más general que el anterior, pero es necesario utilizar el gradiente de ascenso para encontrar sus máximos locales. Como esos gradientes pueden ser difíciles de calcular, puede ser útil utilizar métodos de gradiente estocástico.

Si te encuentras en un caso en el que no se puede aplicar VB-EM (que es la mayoría de los casos: no es un método muy general; pero no he mirado tus matemáticas con mucho cuidado), pero quieres utilizar el límite inferior variacional, deberías mirar la segunda clase de métodos VB.

También puedes buscar otros métodos de inferencia aproximada (métodos de Newton y propagación de expectativas)

0 votos

Gracias. Esta parte la entiendo. Creo que mi problema es que tal y como está mi modelo, puede que no haya utilizado las priores conjugadas adecuadas. En cuanto a mis cálculos, no veo la posterior $q(w)$ salir como una distribución buena/manejable que pueda anotar y eso es lo que estoy tratando de averiguar.

0 votos

He mirado un poco tus matemáticas. Su previo para w_i es un Gamma derecho? Esa es la priorización conjugada por lo que debería funcionar. Tu paso difícil es la relación entre beta y la media (condicional) de y_i. ¿Es T lo suficientemente simple como para poder calcular el valor medio bajo distribuciones simples sobre beta?

0 votos

Es una gamma y eso es lo que pensé. Para ello, podemos suponer $T$ es bastante simple, pero no he podido conseguir que se muestre la parte posterior sobre $w_i$ como una distribución gamma, hasta ahora...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X