20 votos

De las redes bayesianas a las redes neuronales: cómo la regresión multivariante puede transponerse a una red multisalida

Estoy tratando con un Modelo lineal jerárquico bayesiano aquí la red que lo describe.

Graphical Model describing the problem

$Y$ representa las ventas diarias de un producto en un supermercado(observado).

$X$ es una matriz conocida de regresores, que incluye precios, promociones, día de la semana, tiempo, días festivos.

$S$ es el nivel de inventario latente desconocido de cada producto, que causa la mayoría de los problemas y que considero un vector de variables binarias, una para cada producto con $1$ que indica la falta de existencias y, por tanto, la indisponibilidad del producto. Aunque en teoría sea desconocido, lo he estimado mediante un HMM para cada producto, por lo que debe considerarse conocido como X. Decidí quitarle el sombreado por formalismo.

$\eta$ es un parámetro de efecto mixto para cualquier producto individual en el que los efectos mixtos considerados son el precio del producto, las promociones y la falta de existencias.

$\beta$ es el vector de coeficientes de regresión fijos, mientras que $b_1$ y $b_2$ son los vectores del coeficiente de efectos mixtos. Un grupo indica marca y el otro indica sabor (esto es un ejemplo, en realidad tengo muchos grupos, pero aquí informo sólo de 2 para mayor claridad).

$\Sigma_{\eta}$ , $\Sigma_{b_1}$ y $\Sigma_{b_2}$ son hiperparámetros sobre los efectos mixtos.

Dado que dispongo de datos de recuento, digamos que trato las ventas de cada producto como si tuvieran una distribución de Poisson condicional a los regresores (aunque para algunos productos sea válida la aproximación lineal y para otros sea mejor un modelo con inflado cero). En tal caso tendría para un producto $Y$ ( esto es solo para quien este interesado en el modelo bayesiano en si, salta a la pregunta si no te parece interesante o trivial :) ):

$\Sigma_{\eta} \sim IW(\alpha_0,\gamma_0)$

$\Sigma_{b_1} \sim IW(\alpha_1,\gamma_1)$

$\Sigma_{b_2} \sim IW(\alpha_2,\gamma_2)$ , $\alpha_0,\gamma_0,\alpha_1,\gamma_1,\alpha_2,\gamma_2$ conocido.

$\eta \sim N(\mathbf{0},\Sigma_{\eta})$

$b_1 \sim N(\mathbf{0},\Sigma_{b_1})$

$b_2 \sim N(\mathbf{0},\Sigma_{b_2})$

$\beta \sim N(\mathbf{0},\Sigma_{\beta})$ , $\Sigma_{\beta}$ conocido.

$\lambda _{tijk} = \beta*X_{ti} + \eta_i*X_{pps_{ti}} + b_{1_j} * Z_{tj} + b_{2_k} Z_{tk} $ ,

$ Y_{tijk} \sim Poi(exp(\lambda_{tijk})) $

$i \in {1,\dots,N}$ , $j \in {1,\dots,m_1}$ , $k \in {1,\dots,m_2}$

$Z_i$ matriz de efectos mixtos para los 2 grupos, $X_{pps_i}$ indicando precio, promoción y ruptura de existencias del producto considerado. $IW$ indica distribuciones inversas de Wishart, usadas normalmente para matrices de covarianza de priores multivariantes normales. Pero aquí no es importante. Un ejemplo de una posible $Z_i$ podría ser la matriz de todos los precios, o incluso podríamos decir $Z_i=X_i$ . En cuanto a las priores para la matriz de varianza-covarianza de efectos mixtos, yo trataría simplemente de preservar la correlación entre las entradas, de modo que $\sigma_{ij}$ sería positivo si $i$ y $j$ son productos de la misma marca o del mismo sabor.

La intuición que subyace a este modelo sería que las ventas de un determinado producto dependen de su precio, de su disponibilidad o no, pero también de los precios de todos los demás productos y de las existencias de todos los demás productos. Como no quiero tener el mismo modelo (léase: la misma curva de regresión) para todos los coeficientes, he introducido efectos mixtos que explotan algunos grupos que tengo en mis datos, mediante el reparto de parámetros.

Mis preguntas son:

  1. ¿Hay alguna forma de transponer este modelo a una arquitectura de red neuronal? Sé que hay muchas preguntas que buscan las relaciones entre red bayesiana, campos aleatorios de markov, modelos jerárquicos bayesianos y redes neuronales, pero no he encontrado nada que vaya del modelo jerárquico bayesiano a las redes neuronales. Hago la pregunta sobre redes neuronales ya que, teniendo una alta dimensionalidad mi problema (considere que tengo 340 productos), la estimación de parámetros mediante MCMC lleva semanas (probé sólo para 20 productos ejecutando cadenas paralelas en runJags y me llevó días de tiempo). Pero no quiero ir al azar y simplemente dar datos a una red neuronal como una caja negra. Me gustaría explotar la estructura de dependencia/independencia de mi red.

Aquí acabo de esbozar una red neuronal. Como ves, los regresores( $P_i$ y $S_i$ indican respectivamente el precio y la falta de existencias del producto $i$ ) en la parte superior se introducen en la capa oculta, al igual que los productos específicos (Aquí he tenido en cuenta los precios y las rupturas de existencias). (Los bordes azules y negros no tienen ningún significado particular, era sólo para que la figura fuera más clara) . Además $Y_1$ y $Y_2$ podrían estar altamente correlacionadas mientras que $Y_3$ podría ser un producto totalmente diferente (piense en 2 zumos de naranja y vino tinto), pero no utilizo esta información en las redes neuronales. Me pregunto si la información de agrupación se utiliza sólo en inizialization peso o si se podría personalizar la red al problema.

puppet example of a neural net

Editar, mi idea:

Possible initialization?

Mi idea sería algo así: como antes, $Y_1$ y $Y_2$ son productos correlacionados, mientras que $Y_3$ es totalmente diferente. Sabiendo esto a priori hago 2 cosas:

  1. Preasigno algunas neuronas de la capa oculta a cualquier grupo que tenga, en este caso tengo 2 grupos {( $Y_1,Y_2$ ),( $Y_3$ )}.
  2. Inicializo pesos altos entre las entradas y los nodos asignados (los bordes en negrita) y, por supuesto, construyo otros nodos ocultos para capturar la "aleatoriedad" restante en los datos.

Gracias de antemano por su ayuda

1voto

user39770 Puntos 9

Que conste que no lo veo como un ans La EDP (ecuación del calor) que se utiliza para modelizar el flujo de calor a través de una barra metálica también puede utilizarse para modelizar la valoración de opciones. Que yo sepa, nadie ha intentado sugerir una conexión entre la valoración de opciones y el flujo de calor per se. Creo que la cita del enlace de Danilov dice lo mismo. Tanto los grafos bayesianos como las redes neuronales utilizan el lenguaje de los grafos para expresar las relaciones entre sus diferentes piezas internas. Sin embargo, los grafos bayesianos nos hablan de la estructura de correlación de las variables de entrada y el grafo de una red neuronal nos dice cómo construir la función de predicción a partir de las variables de entrada. Son cosas muy distintas.
Diversos métodos utilizados en DL intentan "elegir" las variables más importantes, pero eso es una cuestión empírica. Tampoco informa sobre la estructura de correlaciones de todo el conjunto de variables ni de las variables restantes. Simplemente sugiere que las variables supervivientes serán las mejores para la predicción. Por ejemplo, si nos fijamos en las redes neuronales, nos dirigiremos al conjunto de datos de crédito alemán, que tiene, si no recuerdo mal, 2.000 puntos de datos y 5 variables dependientes. Mediante ensayo y error, creo que se descubrirá que una red con sólo 1 capa oculta y que utilice sólo 2 de las variables da los mejores resultados de predicción. Sin embargo, esto sólo se puede descubrir construyendo todos los modelos y probándolos en el conjunto de pruebas independiente.

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